X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/050d159c4a0fc1fd9db756c3ea0d534dbd784a90..f239a20092359e3c914adb79bd39f3f5d2b2e06f:/src/generic/toolbkg.cpp diff --git a/src/generic/toolbkg.cpp b/src/generic/toolbkg.cpp index 960387ef0a..8ba3ac9325 100644 --- a/src/generic/toolbkg.cpp +++ b/src/generic/toolbkg.cpp @@ -44,10 +44,9 @@ // ---------------------------------------------------------------------------- IMPLEMENT_DYNAMIC_CLASS(wxToolbook, wxBookCtrlBase) -IMPLEMENT_DYNAMIC_CLASS(wxToolbookEvent, wxNotifyEvent) -const wxEventType wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGING = wxNewEventType(); -const wxEventType wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGED = wxNewEventType(); +wxDEFINE_EVENT( wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGING, wxBookCtrlEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGED, wxBookCtrlEvent ); BEGIN_EVENT_TABLE(wxToolbook, wxBookCtrlBase) EVT_SIZE(wxToolbook::OnSize) @@ -65,7 +64,6 @@ END_EVENT_TABLE() void wxToolbook::Init() { - m_selection = wxNOT_FOUND; m_needsRealizing = false; } @@ -99,7 +97,7 @@ bool wxToolbook::Create(wxWindow *parent, // TODO: make more configurable #if defined(__WXMAC__) && wxUSE_TOOLBAR && wxUSE_BMPBUTTON - if (style & wxBK_BUTTONBAR) + if (style & wxTBK_BUTTONBAR) { m_bookctrl = new wxButtonToolBar ( @@ -130,28 +128,6 @@ bool wxToolbook::Create(wxWindow *parent, // wxToolbook geometry management // ---------------------------------------------------------------------------- -wxSize wxToolbook::GetControllerSize() const -{ - const wxSize sizeClient = GetClientSize(), - sizeBorder = m_bookctrl->GetSize() - m_bookctrl->GetClientSize(), - sizeToolBar = GetToolBar()->GetSize() + sizeBorder; - - wxSize size; - - if ( IsVertical() ) - { - size.x = sizeClient.x; - size.y = sizeToolBar.y; - } - else // left/right aligned - { - size.x = sizeToolBar.x; - size.y = sizeClient.y; - } - - return size; -} - void wxToolbook::OnSize(wxSizeEvent& event) { if (m_needsRealizing) @@ -160,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 // ---------------------------------------------------------------------------- @@ -206,7 +164,7 @@ wxString wxToolbook::GetPageText(size_t n) const int wxToolbook::GetPageImage(size_t WXUNUSED(n)) const { - wxFAIL_MSG( _T("wxToolbook::GetPageImage() not implemented") ); + wxFAIL_MSG( wxT("wxToolbook::GetPageImage() not implemented") ); return wxNOT_FOUND; } @@ -242,17 +200,12 @@ void wxToolbook::SetImageList(wxImageList *imageList) // selection // ---------------------------------------------------------------------------- -int wxToolbook::GetSelection() const +wxBookCtrlEvent* wxToolbook::CreatePageChangingEvent() const { - return m_selection; + return new wxBookCtrlEvent(wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGING, m_windowId); } -wxBookCtrlBaseEvent* wxToolbook::CreatePageChangingEvent() const -{ - return new wxToolbookEvent(wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGING, m_windowId); -} - -void wxToolbook::MakeChangedEvent(wxBookCtrlBaseEvent &event) +void wxToolbook::MakeChangedEvent(wxBookCtrlEvent &event) { event.SetEventType(wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGED); } @@ -269,23 +222,20 @@ void wxToolbook::Realize() { if (m_needsRealizing) { + m_needsRealizing = false; + GetToolBar()->SetToolBitmapSize(m_maxBitmapSize); - int remap = wxSystemOptions::GetOptionInt(wxT("msw.remap")); - wxSystemOptions::SetOption(wxT("msw.remap"), 0); GetToolBar()->Realize(); - wxSystemOptions::SetOption(wxT("msw.remap"), remap); } - m_needsRealizing = false; - - 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); } @@ -396,7 +346,7 @@ wxWindow *wxToolbook::DoRemovePage(size_t page) int sel = m_selection - 1; if (page_count == 1) sel = wxNOT_FOUND; - else if ((page_count == 2) || (sel == -1)) + else if ((page_count == 2) || (sel == wxNOT_FOUND)) sel = 0; // force sel invalid if deleting current page - don't try to hide it