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:
@@ -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;
|
||||
|
@@ -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
|
||||
|
@@ -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 )
|
||||
|
@@ -293,7 +293,6 @@ void wxListbook::SetImageList(wxImageList *imageList)
|
||||
|
||||
void wxListbook::UpdateSelectedPage(size_t newsel)
|
||||
{
|
||||
m_selection = newsel;
|
||||
GetListView()->Select(newsel);
|
||||
GetListView()->Focus(newsel);
|
||||
}
|
||||
|
@@ -197,7 +197,6 @@ void wxToolbook::MakeChangedEvent(wxBookCtrlEvent &event)
|
||||
|
||||
void wxToolbook::UpdateSelectedPage(size_t newsel)
|
||||
{
|
||||
m_selection = newsel;
|
||||
GetToolBar()->ToggleTool(newsel + 1, true);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user