// Author: Vadim Zeitlin
// Modified by: Wlodzimierz ABX Skiba from generic/listbkg.cpp
// Created: 15.09.04
-// RCS-ID: $Id$
// Copyright: (c) Vadim Zeitlin, Wlodzimierz Skiba
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
IMPLEMENT_DYNAMIC_CLASS(wxChoicebook, wxBookCtrlBase)
-wxDEFINE_EVENT( wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING, wxBookCtrlEvent );
-wxDEFINE_EVENT( wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED, wxBookCtrlEvent );
+wxDEFINE_EVENT( wxEVT_CHOICEBOOK_PAGE_CHANGING, wxBookCtrlEvent );
+wxDEFINE_EVENT( wxEVT_CHOICEBOOK_PAGE_CHANGED, wxBookCtrlEvent );
BEGIN_EVENT_TABLE(wxChoicebook, wxBookCtrlBase)
EVT_CHOICE(wxID_ANY, wxChoicebook::OnChoiceSelected)
wxBookCtrlEvent* wxChoicebook::CreatePageChangingEvent() const
{
- return new wxBookCtrlEvent(wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING, m_windowId);
+ return new wxBookCtrlEvent(wxEVT_CHOICEBOOK_PAGE_CHANGING, m_windowId);
}
void wxChoicebook::MakeChangedEvent(wxBookCtrlEvent &event)
{
- event.SetEventType(wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED);
+ event.SetEventType(wxEVT_CHOICEBOOK_PAGE_CHANGED);
}
// ----------------------------------------------------------------------------
GetChoiceCtrl()->Select(m_selection);
}
- // some page should be selected: either this one or the first one if there
- // is still no selection
- int selNew = wxNOT_FOUND;
- if ( bSelect )
- selNew = n;
- else if ( m_selection == wxNOT_FOUND )
- selNew = 0;
-
- if ( selNew != m_selection )
+ if ( !DoSetSelectionAfterInsertion(n, bSelect) )
page->Hide();
- if ( selNew != wxNOT_FOUND )
- SetSelection(selNew);
-
return true;
}
{
GetChoiceCtrl()->Delete(page);
- if ( m_selection >= (int)page )
- {
- // ensure that the selection is valid
- int sel;
- if ( GetPageCount() == 0 )
- sel = wxNOT_FOUND;
- else
- sel = m_selection ? m_selection - 1 : 0;
-
- // if deleting current page we shouldn't try to hide it
- m_selection = m_selection == (int)page ? wxNOT_FOUND
- : m_selection - 1;
-
- if ( sel != wxNOT_FOUND && sel != m_selection )
- SetSelection(sel);
- }
+ DoSetSelectionAfterRemoval(page);
}
return win;