X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/60d5c563d29ef0d99cdcfb5ac235f62f64476002..4f7222ca3632e40ad8f77947dba6bced63733655:/src/common/bookctrl.cpp diff --git a/src/common/bookctrl.cpp b/src/common/bookctrl.cpp index 5392388681..d551d8bf2e 100644 --- a/src/common/bookctrl.cpp +++ b/src/common/bookctrl.cpp @@ -55,8 +55,6 @@ void wxBookCtrlBase::Init() { m_selection = wxNOT_FOUND; m_bookctrl = NULL; - m_imageList = NULL; - m_ownsImageList = false; m_fitToCurrentPage = false; #if defined(__WXWINCE__) @@ -89,39 +87,6 @@ wxBookCtrlBase::Create(wxWindow *parent, ); } -wxBookCtrlBase::~wxBookCtrlBase() -{ - if ( m_ownsImageList ) - { - // may be NULL, ok - delete m_imageList; - } -} - -// ---------------------------------------------------------------------------- -// image list -// ---------------------------------------------------------------------------- - -void wxBookCtrlBase::SetImageList(wxImageList *imageList) -{ - if ( m_ownsImageList ) - { - // may be NULL, ok - delete m_imageList; - - m_ownsImageList = false; - } - - m_imageList = imageList; -} - -void wxBookCtrlBase::AssignImageList(wxImageList* imageList) -{ - SetImageList(imageList); - - m_ownsImageList = true; -} - // ---------------------------------------------------------------------------- // geometry // ---------------------------------------------------------------------------- @@ -140,7 +105,10 @@ void wxBookCtrlBase::DoInvalidateBestSize() wxSize wxBookCtrlBase::CalcSizeFromPage(const wxSize& sizePage) const { - // we need to add the size of the choice control and the border between + // Add the size of the controller and the border between if it's shown. + if ( !m_bookctrl || !m_bookctrl->IsShown() ) + return sizePage; + const wxSize sizeController = GetControllerSize(); wxSize size = sizePage; @@ -318,19 +286,19 @@ wxSize wxBookCtrlBase::GetControllerSize() const if ( !m_bookctrl || !m_bookctrl->IsShown() ) return wxSize(0, 0); - const wxSize sizeClient = GetClientSize(), - sizeCtrl = m_bookctrl->GetBestSize(); + const wxSize sizeClient = GetClientSize(); wxSize size; + // Ask for the best width/height considering the other direction. if ( IsVertical() ) { size.x = sizeClient.x; - size.y = sizeCtrl.y; + size.y = m_bookctrl->GetBestHeight(sizeClient.x); } else // left/right aligned { - size.x = sizeCtrl.x; + size.x = m_bookctrl->GetBestWidth(sizeClient.y); size.y = sizeClient.y; }