From 447325a44f93b92bb1be54542085ddd6875dfff8 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 21 Jan 2007 00:52:05 +0000 Subject: [PATCH] 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 --- src/generic/choicbkg.cpp | 11 ++++++++--- src/generic/listbkg.cpp | 11 ++++++++--- src/generic/toolbkg.cpp | 5 ++--- src/generic/treebkg.cpp | 21 ++++++++++++++++----- 4 files changed, 34 insertions(+), 14 deletions(-) diff --git a/src/generic/choicbkg.cpp b/src/generic/choicbkg.cpp index 5a69921346..50ab914d84 100644 --- a/src/generic/choicbkg.cpp +++ b/src/generic/choicbkg.cpp @@ -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 ) diff --git a/src/generic/listbkg.cpp b/src/generic/listbkg.cpp index fa585a19dd..ec18b7eb32 100644 --- a/src/generic/listbkg.cpp +++ b/src/generic/listbkg.cpp @@ -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 ) diff --git a/src/generic/toolbkg.cpp b/src/generic/toolbkg.cpp index 30b39328d8..0b87be4bc7 100644 --- a/src/generic/toolbkg.cpp +++ b/src/generic/toolbkg.cpp @@ -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 diff --git a/src/generic/treebkg.cpp b/src/generic/treebkg.cpp index c82869767b..3d88255a0f 100644 --- a/src/generic/treebkg.cpp +++ b/src/generic/treebkg.cpp @@ -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; -- 2.45.2