]>
git.saurik.com Git - wxWidgets.git/blob - interface/wx/treebook.h
   1 ///////////////////////////////////////////////////////////////////////////// 
   3 // Purpose:     interface of wxTreebook 
   4 // Author:      wxWidgets team 
   6 // Licence:     wxWindows license 
   7 ///////////////////////////////////////////////////////////////////////////// 
  12     This class is an extension of the wxNotebook class that allows a tree 
  13     structured set of pages to be shown in a control. A classic example is a 
  14     netscape preferences dialog that shows a tree of preference sections on 
  15     the left and select section page on the right. 
  17     To use the class simply create it and populate with pages using 
  18     InsertPage(), InsertSubPage(), AddPage(), AddSubPage(). 
  20     If your tree is no more than 1 level in depth then you could simply use 
  21     AddPage() and AddSubPage() to sequentially populate your tree by adding at 
  22     every step a page or a subpage to the end of the tree. 
  24     @beginEventTable{wxBookCtrlEvent} 
  25     @event{EVT_TREEBOOK_PAGE_CHANGED(id, func)} 
  26         The page selection was changed. 
  27         Processes a @c wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED event. 
  28     @event{EVT_TREEBOOK_PAGE_CHANGING(id, func)} 
  29         The page selection is about to be changed. 
  30         Processes a @c wxEVT_COMMAND_TREEBOOK_PAGE_CHANGING event. 
  31         This event can be @ref wxNotifyEvent::Veto() "vetoed". 
  32     @event{EVT_TREEBOOK_NODE_COLLAPSED(id, func)} 
  33         The page node is going to be collapsed. 
  34         Processes a @c wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED event. 
  35     @event{EVT_TREEBOOK_NODE_EXPANDED(id, func)} 
  36         The page node is going to be expanded. 
  37         Processes a @c wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED event. 
  43     @see wxBookCtrl, wxBookCtrlEvent, wxNotebook, wxTreeCtrl, wxImageList, 
  44          @ref overview_bookctrl, @ref page_samples_notebook 
  46 class wxTreebook 
: public wxBookCtrlBase
 
  55         Creates an empty wxTreebook. 
  58             The parent window. Must be non-@NULL. 
  60             The window identifier. 
  66             The window style. See wxNotebook. 
  68             The name of the control (used only under Motif). 
  70     wxTreebook(wxWindow
* parent
, wxWindowID id
, 
  71                const wxPoint
& pos 
= wxDefaultPosition
, 
  72                const wxSize
& size 
= wxDefaultSize
, 
  73                long style 
= wxBK_DEFAULT
, 
  74                const wxString
& name 
= wxEmptyString
); 
  77         Destroys the wxTreebook object. 
  78         Also deletes all the pages owned by the control (inserted previously into it). 
  80     virtual ~wxTreebook(); 
  83         Adds a new page. The page is placed at the topmost level after all other 
  84         pages. @NULL could be specified for page to create an empty page. 
  86     virtual bool AddPage(wxWindow
* page
, const wxString
& text
, 
  87                          bool bSelect 
= false, int imageId 
= wxNOT_FOUND
); 
  90         Adds a new child-page to the last top-level page. @NULL could be 
  91         specified for page to create an empty page. 
  93     virtual bool AddSubPage(wxWindow
* page
, const wxString
& text
, 
  94                             bool bSelect 
= false, int imageId 
= wxNOT_FOUND
); 
  98         Shortcut for @ref wxTreebook::ExpandNode() "ExpandNode"( @a pageId, 
 101     bool CollapseNode(size_t pageId
); 
 104         Creates a treebook control. See wxTreebook::wxTreebook() for the 
 105         description of the parameters. 
 107     bool Create(wxWindow
* parent
, wxWindowID id
, 
 108                 const wxPoint
& pos 
= wxDefaultPosition
, 
 109                 const wxSize
& size 
= wxDefaultSize
, 
 110                 long style 
= wxBK_DEFAULT
, 
 111                 const wxString
& name 
= wxEmptyString
); 
 114         Deletes the page at the specified position and all its children. 
 115         Could trigger page selection change in a case when selected page is removed. 
 116         In that case its parent is selected (or the next page if no parent). 
 118     virtual bool DeletePage(size_t pagePos
); 
 121         Expands (collapses) the @a pageId node. Returns the previous state. 
 122         May generate page changing events (if selected page is under the collapsed 
 123         branch, then its parent is autoselected). 
 125     virtual bool ExpandNode(size_t pageId
, bool expand 
= true); 
 128         Returns the parent page of the given one or @c wxNOT_FOUND if this is a 
 131     int GetPageParent(size_t page
) const; 
 134         Returns the currently selected page, or @c wxNOT_FOUND if none was selected. 
 136         @note This method may return either the previously or newly selected 
 137               page when called from the EVT_TREEBOOK_PAGE_CHANGED() handler 
 138               depending on the platform and so wxBookCtrlEvent::GetSelection() 
 139               should be used instead in this case. 
 141     virtual int GetSelection() const; 
 144         Inserts a new page just before the page indicated by @a pagePos. 
 145         The new page is placed before @a pagePos page and on the same level. 
 146         @NULL could be specified for page to create an empty page. 
 148     virtual bool InsertPage(size_t pagePos
, wxWindow
* page
, 
 149                             const wxString
& text
, bool bSelect 
= false, 
 150                             int imageId 
= wxNOT_FOUND
); 
 153         Inserts a sub page under the specified page. 
 155         @NULL could be specified for page to create an empty page. 
 157     virtual bool InsertSubPage(size_t pagePos
, wxWindow
* page
, 
 158                                const wxString
& text
, bool bSelect 
= false, 
 159                                int imageId 
= wxNOT_FOUND
); 
 162         Returns @true if the page represented by @a pageId is expanded. 
 164     virtual bool IsNodeExpanded(size_t pageId
) const;