X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2ddb4d13585d5235556119fb1937273da9e433a3..b5b0a35d6b648aead1aa353dfe9c03775496981f:/src/generic/choicbkg.cpp diff --git a/src/generic/choicbkg.cpp b/src/generic/choicbkg.cpp index ca3d019f5d..143115bca6 100644 --- a/src/generic/choicbkg.cpp +++ b/src/generic/choicbkg.cpp @@ -26,10 +26,15 @@ #if wxUSE_CHOICEBOOK -#include "wx/choice.h" #include "wx/choicebk.h" + +#ifndef WX_PRECOMP + #include "wx/settings.h" +#endif + +#include "wx/choice.h" #include "wx/imaglist.h" -#include "wx/settings.h" +#include "wx/sizer.h" // ---------------------------------------------------------------------------- // various wxWidgets macros @@ -45,8 +50,10 @@ IMPLEMENT_DYNAMIC_CLASS(wxChoicebook, wxBookCtrlBase) IMPLEMENT_DYNAMIC_CLASS(wxChoicebookEvent, wxNotifyEvent) +#if !WXWIN_COMPATIBILITY_EVENT_TYPES const wxEventType wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING = wxNewEventType(); const wxEventType wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED = wxNewEventType(); +#endif const int wxID_CHOICEBOOKCHOICE = wxNewId(); BEGIN_EVENT_TABLE(wxChoicebook, wxBookCtrlBase) @@ -96,6 +103,15 @@ wxChoicebook::Create(wxWindow *parent, wxDefaultSize ); + wxSizer* mainSizer = new wxBoxSizer(IsVertical() ? wxVERTICAL : wxHORIZONTAL); + + if (style & wxBK_RIGHT || style & wxBK_BOTTOM) + mainSizer->Add(0, 0, 1, wxEXPAND, 0); + + m_controlSizer = new wxBoxSizer(IsVertical() ? wxHORIZONTAL : wxVERTICAL); + m_controlSizer->Add(m_bookctrl, 1, (IsVertical() ? wxALIGN_CENTRE_VERTICAL : wxALIGN_CENTRE) |wxGROW, 0); + mainSizer->Add(m_controlSizer, 0, wxGROW|wxALL, m_controlMargin); + SetSizer(mainSizer); return true; } @@ -106,7 +122,8 @@ wxChoicebook::Create(wxWindow *parent, wxSize wxChoicebook::GetControllerSize() const { const wxSize sizeClient = GetClientSize(), - sizeChoice = m_bookctrl->GetBestFittingSize(); + // sizeChoice = m_bookctrl->GetBestFittingSize(); + sizeChoice = m_controlSizer->CalcMin(); wxSize size; if ( IsVertical() )