X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9d5371c60ba0cc628b00f11ff5c5f2c804a82858..82972e922e61d323e65370236b18bd042ac8e3ef:/include/wx/treebook.h diff --git a/include/wx/treebook.h b/include/wx/treebook.h index 7209e7c1fe..5334073d44 100644 --- a/include/wx/treebook.h +++ b/include/wx/treebook.h @@ -18,6 +18,7 @@ #include "wx/bookctrl.h" #include "wx/treectrl.h" // for wxArrayTreeItemIds +#include "wx/containr.h" typedef wxWindow wxTreebookPage; @@ -132,15 +133,22 @@ public: virtual int GetPageImage(size_t n) const; virtual bool SetPageImage(size_t n, int imageId); virtual wxSize CalcSizeFromPage(const wxSize& sizePage) const; - virtual int SetSelection(size_t n); + virtual int SetSelection(size_t n) { return DoSetSelection(n, SetSelection_SendEvent); } + virtual int ChangeSelection(size_t n) { return DoSetSelection(n); } virtual void SetImageList(wxImageList *imageList); virtual void AssignImageList(wxImageList *imageList); 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; } + // return the page corresponding to the tab at the specified position + virtual int HitTest(const wxPoint& pt, long *flags = NULL) const; + // event handlers void OnTreeSelectionChange(wxTreeEvent& event); void OnTreeNodeExpandedCollapsed(wxTreeEvent& event); @@ -180,11 +188,8 @@ 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); + int DoSetSelection(size_t pos, int flags = 0); // Returns currently shown page. In a case when selected the node // has empty (NULL) page finds first (sub)child with not-empty page. @@ -224,6 +229,7 @@ private: DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS_NO_COPY(wxTreebook) + WX_DECLARE_CONTROL_CONTAINER(); };