X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eca15c0d5497309e402d4bb91f8e479b4fb70fa9..e2bc1d69812f8fc3f6ae24508a9d007ad5d00ede:/include/wx/treebook.h diff --git a/include/wx/treebook.h b/include/wx/treebook.h index 34f0090f89..578ec3ade3 100644 --- a/include/wx/treebook.h +++ b/include/wx/treebook.h @@ -18,29 +18,12 @@ #include "wx/bookctrl.h" #include "wx/treectrl.h" // for wxArrayTreeItemIds +#include "wx/containr.h" typedef wxWindow wxTreebookPage; class WXDLLEXPORT wxTreeEvent; -// ---------------------------------------------------------------------------- -// style flags -// ---------------------------------------------------------------------------- - -// This is a set of synonyms of wxNB_XXX, which still could be used directly -// for styling the control. Defined for consistency with wxListbook and -// wxChoicebook only. -#define wxTBK_LEFT wxNB_LEFT -#define wxTBK_RIGHT wxNB_RIGHT - -// we don't support TOP/BOTTOM orientations but still define the flags (again, -// for consistency with others) -#define wxTBK_TOP wxTBK_LEFT -#define wxTBK_BOTTOM wxTBK_RIGHT - -#define wxTBK_ALIGN_MASK (wxTBK_LEFT | wxTBK_RIGHT) -#define wxTBK_DEFAULT wxTBK_LEFT - // ---------------------------------------------------------------------------- // wxTreebook // ---------------------------------------------------------------------------- @@ -62,7 +45,7 @@ public: wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - long style = wxTBK_DEFAULT, + long style = wxBK_DEFAULT, const wxString& name = wxEmptyString) { Init(); @@ -75,7 +58,7 @@ public: wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - long style = wxTBK_DEFAULT, + long style = wxBK_DEFAULT, const wxString& name = wxEmptyString); @@ -95,11 +78,11 @@ public: int imageId = wxNOT_FOUND); // Inserts a new sub-page to the end of children of the page at given pos. - virtual bool AddSubPage(size_t pos, - wxWindow *page, - const wxString& text, - bool bSelect = false, - int imageId = wxNOT_FOUND); + virtual bool InsertSubPage(size_t pos, + wxWindow *page, + const wxString& text, + bool bSelect = false, + int imageId = wxNOT_FOUND); // Adds a new page at top level after all other pages. virtual bool AddPage(wxWindow *page, @@ -137,6 +120,9 @@ public: // get the parent page or wxNOT_FOUND if this is a top level page int GetPageParent(size_t pos) const; + // the tree control we use for showing the pages index tree + wxTreeCtrl* GetTreeCtrl() const { return (wxTreeCtrl*)m_bookctrl; } + // Standard operations inherited from wxBookCtrlBase // ------------------------------------------------- @@ -153,24 +139,19 @@ public: virtual bool DeleteAllPages(); protected: + // Implementation of a page removal. See DeletPage for comments. + wxTreebookPage *DoRemovePage(size_t pos); + // This subclass of wxBookCtrlBase accepts NULL page pointers (empty pages) virtual bool AllowNullPage() const { return true; } - // get the size which the tree control should have - wxSize GetTreeSize() const; - - // get the page area - wxRect GetPageRect() const; + // return the page corresponding to the tab at the specified position + virtual int HitTest(const wxPoint& pt, long *flags = NULL) const; // event handlers - void OnSize(wxSizeEvent& event); void OnTreeSelectionChange(wxTreeEvent& event); void OnTreeNodeExpandedCollapsed(wxTreeEvent& event); - - // the tree control we use for showing the pages index tree - wxTreeCtrl *m_tree; - // array of page ids and page windows wxArrayTreeItemIds m_treeIds; @@ -206,9 +187,6 @@ private: bool bSelect = false, int imageId = wxNOT_FOUND); - // Implementation of a page removal. See DeletPage for comments. - wxTreebookPage *DoRemovePage(size_t pos); - // Sets selection in the tree control and updates the page being shown. int DoSetSelection(size_t pos); @@ -250,6 +228,7 @@ private: DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS_NO_COPY(wxTreebook) + WX_DECLARE_CONTROL_CONTAINER(); }; @@ -266,8 +245,15 @@ public: { } + wxTreebookEvent(const wxTreebookEvent& event) + : wxBookCtrlBaseEvent(event) + { + } + + virtual wxEvent *Clone() const { return new wxTreebookEvent(*this); } + private: - DECLARE_DYNAMIC_CLASS_NO_COPY(wxTreebookEvent) + DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxTreebookEvent) }; extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED;