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:
@@ -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 )
|
||||
|
@@ -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 )
|
||||
|
@@ -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
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user