X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1d2b7f06a3dce24483009462f547f0011ae1fdc1..b4572569856d405eb80c305674a9aeb8839e87d8:/src/common/bookctrl.cpp diff --git a/src/common/bookctrl.cpp b/src/common/bookctrl.cpp index da06cdafeb..cfc13b78a3 100644 --- a/src/common/bookctrl.cpp +++ b/src/common/bookctrl.cpp @@ -137,6 +137,28 @@ void wxBookCtrlBase::DoInvalidateBestSize() wxControl::InvalidateBestSize(); } +wxSize wxBookCtrlBase::CalcSizeFromPage(const wxSize& sizePage) const +{ + // we need to add the size of the choice control and the border between + const wxSize sizeController = GetControllerSize(); + + wxSize size = sizePage; + if ( IsVertical() ) + { + if ( sizeController.x > sizePage.x ) + size.x = sizeController.x; + size.y += sizeController.y + GetInternalBorder(); + } + else // left/right aligned + { + size.x += sizeController.x + GetInternalBorder(); + if ( sizeController.y > sizePage.y ) + size.y = sizeController.y; + } + + return size; +} + void wxBookCtrlBase::SetPageSize(const wxSize& size) { SetClientSize(CalcSizeFromPage(size));