+wxSize wxBookCtrlBase::CalcSizeFromPage(const wxSize& sizePage) const
+{
+ // 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;
+ 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;
+}
+