X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1d2b7f06a3dce24483009462f547f0011ae1fdc1..8a28cd66a63ce30c75173e10948e9d49d366d218:/src/generic/toolbkg.cpp diff --git a/src/generic/toolbkg.cpp b/src/generic/toolbkg.cpp index ae2dbbe36d..f324ea96db 100644 --- a/src/generic/toolbkg.cpp +++ b/src/generic/toolbkg.cpp @@ -45,8 +45,8 @@ IMPLEMENT_DYNAMIC_CLASS(wxToolbook, wxBookCtrlBase) -wxDEFINE_EVENT( wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGING, wxBookCtrlEvent ); -wxDEFINE_EVENT( wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGED, wxBookCtrlEvent ); +wxDEFINE_EVENT( wxEVT_TOOLBOOK_PAGE_CHANGING, wxBookCtrlEvent ); +wxDEFINE_EVENT( wxEVT_TOOLBOOK_PAGE_CHANGED, wxBookCtrlEvent ); BEGIN_EVENT_TABLE(wxToolbook, wxBookCtrlBase) EVT_SIZE(wxToolbook::OnSize) @@ -64,7 +64,6 @@ END_EVENT_TABLE() void wxToolbook::Init() { - m_selection = wxNOT_FOUND; m_needsRealizing = false; } @@ -137,24 +136,6 @@ void wxToolbook::OnSize(wxSizeEvent& event) wxBookCtrlBase::OnSize(event); } -wxSize wxToolbook::CalcSizeFromPage(const wxSize& sizePage) const -{ - // we need to add the size of the list control and the border between - const wxSize sizeToolBar = GetControllerSize(); - - wxSize size = sizePage; - if ( IsVertical() ) - { - size.y += sizeToolBar.y + GetInternalBorder(); - } - else // left/right aligned - { - size.x += sizeToolBar.x + GetInternalBorder(); - } - - return size; -} - // ---------------------------------------------------------------------------- // accessing the pages // ---------------------------------------------------------------------------- @@ -219,19 +200,14 @@ void wxToolbook::SetImageList(wxImageList *imageList) // selection // ---------------------------------------------------------------------------- -int wxToolbook::GetSelection() const -{ - return m_selection; -} - wxBookCtrlEvent* wxToolbook::CreatePageChangingEvent() const { - return new wxBookCtrlEvent(wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGING, m_windowId); + return new wxBookCtrlEvent(wxEVT_TOOLBOOK_PAGE_CHANGING, m_windowId); } void wxToolbook::MakeChangedEvent(wxBookCtrlEvent &event) { - event.SetEventType(wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGED); + event.SetEventType(wxEVT_TOOLBOOK_PAGE_CHANGED); } void wxToolbook::UpdateSelectedPage(size_t newsel) @@ -253,13 +229,13 @@ void wxToolbook::Realize() GetToolBar()->Realize(); } - if (m_selection == -1) + if (m_selection == wxNOT_FOUND) m_selection = 0; if (GetPageCount() > 0) { int sel = m_selection; - m_selection = -1; + m_selection = wxNOT_FOUND; SetSelection(sel); } @@ -357,28 +333,13 @@ bool wxToolbook::InsertPage(size_t n, wxWindow *wxToolbook::DoRemovePage(size_t page) { - const size_t page_count = GetPageCount(); wxWindow *win = wxBookCtrlBase::DoRemovePage(page); if ( win ) { GetToolBar()->DeleteTool(page + 1); - if (m_selection >= (int)page) - { - // force new sel valid if possible - int sel = m_selection - 1; - if (page_count == 1) - sel = wxNOT_FOUND; - else if ((page_count == 2) || (sel == -1)) - sel = 0; - - // force sel invalid if deleting current page - don'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;