use wxID_ANY for internal controller control instead of wxID_CHOICE/LIST/TOOLBAR/TREEBOOKTREEVIEW; this fixes asserts about using negative ids after last change

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-01-21 00:52:05 +00:00
parent 3aba082d50
commit 447325a44f
4 changed files with 34 additions and 14 deletions

View File

@@ -54,10 +54,9 @@ IMPLEMENT_DYNAMIC_CLASS(wxChoicebookEvent, wxNotifyEvent)
const wxEventType wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING = wxNewEventType();
const wxEventType wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED = wxNewEventType();
#endif
const int wxID_CHOICEBOOKCHOICE = wxWindow::NewControlId();
BEGIN_EVENT_TABLE(wxChoicebook, wxBookCtrlBase)
EVT_CHOICE(wxID_CHOICEBOOKCHOICE, wxChoicebook::OnChoiceSelected)
EVT_CHOICE(wxID_ANY, wxChoicebook::OnChoiceSelected)
END_EVENT_TABLE()
// ============================================================================
@@ -98,7 +97,7 @@ wxChoicebook::Create(wxWindow *parent,
m_bookctrl = new wxChoice
(
this,
wxID_CHOICEBOOKCHOICE,
wxID_ANY,
wxDefaultPosition,
wxDefaultSize
);
@@ -302,6 +301,12 @@ bool wxChoicebook::DeleteAllPages()
void wxChoicebook::OnChoiceSelected(wxCommandEvent& eventChoice)
{
if ( eventChoice.GetEventObject() != m_bookctrl )
{
eventChoice.Skip();
return;
}
const int selNew = eventChoice.GetSelection();
if ( selNew == m_selection )

View File

@@ -54,11 +54,10 @@ IMPLEMENT_DYNAMIC_CLASS(wxListbookEvent, wxNotifyEvent)
const wxEventType wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING = wxNewEventType();
const wxEventType wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED = wxNewEventType();
#endif
const int wxID_LISTBOOKLISTVIEW = wxWindow::NewControlId();
BEGIN_EVENT_TABLE(wxListbook, wxBookCtrlBase)
EVT_SIZE(wxListbook::OnSize)
EVT_LIST_ITEM_SELECTED(wxID_LISTBOOKLISTVIEW, wxListbook::OnListSelected)
EVT_LIST_ITEM_SELECTED(wxID_ANY, wxListbook::OnListSelected)
END_EVENT_TABLE()
// ============================================================================
@@ -103,7 +102,7 @@ wxListbook::Create(wxWindow *parent,
m_bookctrl = new wxListView
(
this,
wxID_LISTBOOKLISTVIEW,
wxID_ANY,
wxDefaultPosition,
wxDefaultSize,
wxLC_ICON | wxLC_SINGLE_SEL |
@@ -392,6 +391,12 @@ bool wxListbook::DeleteAllPages()
void wxListbook::OnListSelected(wxListEvent& eventList)
{
if ( eventList.GetEventObject() != m_bookctrl )
{
eventList.Skip();
return;
}
const int selNew = eventList.GetIndex();
if ( selNew == m_selection )

View File

@@ -50,7 +50,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxToolbookEvent, wxNotifyEvent)
const wxEventType wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGING = wxNewEventType();
const wxEventType wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGED = wxNewEventType();
#endif
const int wxID_TOOLBOOKTOOLBAR = wxWindow::NewControlId();
BEGIN_EVENT_TABLE(wxToolbook, wxBookCtrlBase)
EVT_SIZE(wxToolbook::OnSize)
@@ -102,7 +101,7 @@ bool wxToolbook::Create(wxWindow *parent,
m_bookctrl = new wxButtonToolBar
(
this,
wxID_TOOLBOOKTOOLBAR,
wxID_ANY,
wxDefaultPosition,
wxDefaultSize,
orient|wxTB_TEXT|wxTB_FLAT|wxNO_BORDER
@@ -114,7 +113,7 @@ bool wxToolbook::Create(wxWindow *parent,
m_bookctrl = new wxToolBar
(
this,
wxID_TOOLBOOKTOOLBAR,
wxID_ANY,
wxDefaultPosition,
wxDefaultSize,
orient|wxTB_TEXT|wxTB_FLAT|wxTB_NODIVIDER|wxNO_BORDER

View File

@@ -54,12 +54,11 @@ const wxEventType wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED = wxNewEventType();
const wxEventType wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED = wxNewEventType();
const wxEventType wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED = wxNewEventType();
#endif
const int wxID_TREEBOOKTREEVIEW = wxWindow::NewControlId();
BEGIN_EVENT_TABLE(wxTreebook, wxBookCtrlBase)
EVT_TREE_SEL_CHANGED (wxID_TREEBOOKTREEVIEW, wxTreebook::OnTreeSelectionChange)
EVT_TREE_ITEM_EXPANDED (wxID_TREEBOOKTREEVIEW, wxTreebook::OnTreeNodeExpandedCollapsed)
EVT_TREE_ITEM_COLLAPSED(wxID_TREEBOOKTREEVIEW, wxTreebook::OnTreeNodeExpandedCollapsed)
EVT_TREE_SEL_CHANGED (wxID_ANY, wxTreebook::OnTreeSelectionChange)
EVT_TREE_ITEM_EXPANDED (wxID_ANY, wxTreebook::OnTreeNodeExpandedCollapsed)
EVT_TREE_ITEM_COLLAPSED(wxID_ANY, wxTreebook::OnTreeNodeExpandedCollapsed)
WX_EVENT_TABLE_CONTROL_CONTAINER(wxTreebook)
END_EVENT_TABLE()
@@ -108,7 +107,7 @@ wxTreebook::Create(wxWindow *parent,
m_bookctrl = new wxTreeCtrl
(
this,
wxID_TREEBOOKTREEVIEW,
wxID_ANY,
wxDefaultPosition,
wxDefaultSize,
#ifndef __WXMSW__
@@ -691,6 +690,12 @@ void wxTreebook::AssignImageList(wxImageList *imageList)
void wxTreebook::OnTreeSelectionChange(wxTreeEvent& event)
{
if ( event.GetEventObject() != m_bookctrl )
{
event.Skip();
return;
}
wxTreeItemId newId = event.GetItem();
if ( (m_selection == wxNOT_FOUND &&
@@ -710,6 +715,12 @@ void wxTreebook::OnTreeSelectionChange(wxTreeEvent& event)
void wxTreebook::OnTreeNodeExpandedCollapsed(wxTreeEvent & event)
{
if ( event.GetEventObject() != m_bookctrl )
{
event.Skip();
return;
}
wxTreeItemId nodeId = event.GetItem();
if ( !nodeId.IsOk() || nodeId == GetTreeCtrl()->GetRootItem() )
return;