Update wxBookCtrlBase::m_selection outside UpdateSelectedPage()

Change m_selection in wxBookCtrlBase::DoSetSelection() itself instead of
requiring all the derived class overriding do it in their overridden
UpdateSelectedPage().

No real changes, this is just a small simplification.
This commit is contained in:
Vadim Zeitlin
2018-03-25 00:07:00 +01:00
parent a3d0748a76
commit af6a61e3a0
5 changed files with 5 additions and 6 deletions

View File

@@ -86,8 +86,7 @@ protected:
void UpdateSelectedPage(size_t newsel) wxOVERRIDE
{
m_selection = static_cast<int>(newsel);
GetChoiceCtrl()->Select(m_selection);
GetChoiceCtrl()->Select(newsel);
}
wxBookCtrlEvent* CreatePageChangingEvent() const wxOVERRIDE;

View File

@@ -155,9 +155,10 @@ public:
}
protected:
virtual void UpdateSelectedPage(size_t newsel) wxOVERRIDE
virtual void UpdateSelectedPage(size_t WXUNUSED(newsel)) wxOVERRIDE
{
m_selection = (int)newsel;
// Nothing to do here, but must be overridden to avoid the assert in
// the base class version.
}
virtual wxBookCtrlEvent* CreatePageChangingEvent() const wxOVERRIDE

View File

@@ -500,6 +500,7 @@ int wxBookCtrlBase::DoSetSelection(size_t n, int flags)
DoShowPage(page, true);
// change selection now to ignore the selection change event
m_selection = n;
UpdateSelectedPage(n);
if ( flags & SetSelection_SendEvent )

View File

@@ -293,7 +293,6 @@ void wxListbook::SetImageList(wxImageList *imageList)
void wxListbook::UpdateSelectedPage(size_t newsel)
{
m_selection = newsel;
GetListView()->Select(newsel);
GetListView()->Focus(newsel);
}

View File

@@ -197,7 +197,6 @@ void wxToolbook::MakeChangedEvent(wxBookCtrlEvent &event)
void wxToolbook::UpdateSelectedPage(size_t newsel)
{
m_selection = newsel;
GetToolBar()->ToggleTool(newsel + 1, true);
}