// resize the notebook so that all pages will have the specified size
virtual void SetPageSize(const wxSize& size);
+ // return the size of the area needed to accommodate the controller
+ wxSize GetControllerSize() const;
+
// calculate the size of the control from the size of its page
- virtual wxSize CalcSizeFromPage(const wxSize& sizePage) const = 0;
+ //
+ // by default this simply returns size enough to fit both the page and the
+ // controller
+ virtual wxSize CalcSizeFromPage(const wxSize& sizePage) const;
// get/set size of area between book control area and page area
unsigned int GetInternalBorder() const { return m_internalBorder; }
int GetNextPage(bool forward) const;
// Lay out controls
- void DoSize();
+ virtual void DoSize();
// This method also invalidates the size of the controller and should be
// called instead of just InvalidateBestSize() whenever pages are added or
bool m_ownsImageList;
// get the page area
- wxRect GetPageRect() const;
+ virtual wxRect GetPageRect() const;
// event handlers
- virtual wxSize GetControllerSize() const;
void OnSize(wxSizeEvent& event);
// controller buddy if available, NULL otherwise (usually for native book controls like wxNotebook)
unsigned int m_internalBorder;
DECLARE_ABSTRACT_CLASS(wxBookCtrlBase)
- DECLARE_NO_COPY_CLASS(wxBookCtrlBase)
+ wxDECLARE_NO_COPY_CLASS(wxBookCtrlBase);
DECLARE_EVENT_TABLE()
};