X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eca15c0d5497309e402d4bb91f8e479b4fb70fa9..04f109ec63bb2522e520ce9239828e8ee41cd61c:/include/wx/bookctrl.h?ds=sidebyside diff --git a/include/wx/bookctrl.h b/include/wx/bookctrl.h index 347dc6ba0c..171366205f 100644 --- a/include/wx/bookctrl.h +++ b/include/wx/bookctrl.h @@ -118,6 +118,18 @@ public: // calculate the size of the control from the size of its page virtual wxSize CalcSizeFromPage(const wxSize& sizePage) const = 0; + // get/set size of area between book control area and page area + inline unsigned int GetInternalBorder() const + { + return m_internalBorder; + } + void SetInternalBorder(unsigned int internalBorder) + { + m_internalBorder = internalBorder; + } + + // returns true if we have wxCHB_TOP or wxCHB_BOTTOM style + bool IsVertical() const { return HasFlag(wxBK_BOTTOM | wxBK_TOP); } // operations // ---------- @@ -192,13 +204,9 @@ protected: // helper: get the next page wrapping if we reached the end int GetNextPage(bool forward) const; - // common part of all ctors - void Init(); - // Always rely on GetBestSize, which will look at all the pages virtual void SetInitialBestSize(const wxSize& WXUNUSED(size)) { } - // the array of all pages of this control wxArrayPages m_pages; @@ -208,8 +216,27 @@ protected: // true if we must delete m_imageList bool m_ownsImageList; + // get the page area + 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) + wxControl *m_bookctrl; + +private: + + // common part of all ctors + void Init(); + + // internal border + unsigned int m_internalBorder; + DECLARE_ABSTRACT_CLASS(wxBookCtrlBase) DECLARE_NO_COPY_CLASS(wxBookCtrlBase) + DECLARE_EVENT_TABLE() }; // ---------------------------------------------------------------------------- @@ -222,10 +249,17 @@ public: wxBookCtrlBaseEvent(wxEventType commandType = wxEVT_NULL, int winid = 0, int nSel = -1, int nOldSel = -1) : wxNotifyEvent(commandType, winid) - { - m_nSel = nSel; - m_nOldSel = nOldSel; - } + { + m_nSel = nSel; + m_nOldSel = nOldSel; + } + + wxBookCtrlBaseEvent(const wxBookCtrlBaseEvent& event) + : wxNotifyEvent(event) + { + m_nSel = event.m_nSel; + m_nOldSel = event.m_nOldSel; + } // accessors // the currently selected page (-1 if none) @@ -250,11 +284,6 @@ private: #define wxEVT_COMMAND_BOOKCTRL_PAGE_CHANGING wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING #define EVT_BOOKCTRL_PAGE_CHANGED(id, fn) EVT_NOTEBOOK_PAGE_CHANGED(id, fn) #define EVT_BOOKCTRL_PAGE_CHANGING(id, fn) EVT_NOTEBOOK_PAGE_CHANGING(id, fn) - #define wxBC_TOP wxNB_TOP - #define wxBC_BOTTOM wxNB_BOTTOM - #define wxBC_LEFT wxNB_LEFT - #define wxBC_RIGHT wxNB_RIGHT - #define wxBC_DEFAULT wxNB_DEFAULT #else // dedicated to Smartphones #include "wx/choicebk.h" @@ -264,11 +293,14 @@ private: #define wxEVT_COMMAND_BOOKCTRL_PAGE_CHANGING wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING #define EVT_BOOKCTRL_PAGE_CHANGED(id, fn) EVT_CHOICEBOOK_PAGE_CHANGED(id, fn) #define EVT_BOOKCTRL_PAGE_CHANGING(id, fn) EVT_CHOICEBOOK_PAGE_CHANGING(id, fn) - #define wxBC_TOP wxCHB_TOP - #define wxBC_BOTTOM wxCHB_BOTTOM - #define wxBC_LEFT wxCHB_LEFT - #define wxBC_RIGHT wxCHB_RIGHT - #define wxBC_DEFAULT wxCHB_DEFAULT +#endif + +#if WXWIN_COMPATIBILITY_2_6 + #define wxBC_TOP wxBK_TOP + #define wxBC_BOTTOM wxBK_BOTTOM + #define wxBC_LEFT wxBK_LEFT + #define wxBC_RIGHT wxBK_RIGHT + #define wxBC_DEFAULT wxBK_DEFAULT #endif #endif // wxUSE_BOOKCTRL