/////////////////////////////////////////////////////////////////////////////
// Name: treebook.h
-// Purpose: interface of wxTreebookEvent
+// Purpose: interface of wxTreebook
// Author: wxWidgets team
// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-/**
- @class wxTreebookEvent
- @wxheader{treebook.h}
-
- This class represents the events generated by a treebook control: currently,
- there are four of them. The EVT_TREEBOOK_PAGE_CHANGING() and
- EVT_TREEBOOK_PAGE_CHANGED() - have exactly the same behaviour as
- wxNotebookEvent.
-
- The other two EVT_TREEBOOK_NODE_COLLAPSED() and EVT_TREEBOOK_NODE_EXPANDED()
- are triggered when page node in the tree control is collapsed/expanded. The
- page index could be retreived by calling GetSelection().
-
- @beginEventTable{wxTreebookEvent}
- @event{EVT_TREEBOOK_PAGE_CHANGED(id, func)}
- The page selection was changed. Processes a @c
- wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED event.
- @event{EVT_TREEBOOK_PAGE_CHANGING(id, func)}
- The page selection is about to be changed. Processes a @c
- wxEVT_COMMAND_TREEBOOK_PAGE_CHANGING event. This event can be @ref
- wxNotifyEvent::Veto() "vetoed".
- @event{EVT_TREEBOOK_NODE_COLLAPSED(id, func)}
- The page node is going to be collapsed. Processes a @c
- wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED event.
- @event{EVT_TREEBOOK_NODE_EXPANDED(id, func)}
- The page node is going to be expanded. Processes a @c
- wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED event.
- @endEventTable
-
- @library{wxcore}
- @category{events}
-
- @see wxTreebook, wxNotebookEvent
-*/
-class wxTreebookEvent : public wxNotifyEvent
-{
-public:
- /**
- @see wxNotebookEvent
- */
- wxTreebookEvent(wxEventType commandType = wxEVT_NULL, int id = 0,
- int nSel = wxNOT_FOUND,
- int nOldSel = wxNOT_FOUND);
-
- /**
- Returns the page that was selected before the change, @c wxNOT_FOUND if
- none was selected.
- */
- int GetOldSelection() const;
-
- /**
- Returns the currently selected page, or @c wxNOT_FOUND if none was
- selected.
-
- @see wxNotebookEvent::GetSelection()
- */
- int GetSelection() const;
-};
-
+wxEventType wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED;
+wxEventType wxEVT_COMMAND_TREEBOOK_PAGE_CHANGING;
+wxEventType wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED;
+wxEventType wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED;
/**
@class wxTreebook
- @wxheader{treebook.h}
This class is an extension of the wxNotebook class that allows a tree
structured set of pages to be shown in a control. A classic example is a
AddPage() and AddSubPage() to sequentially populate your tree by adding at
every step a page or a subpage to the end of the tree.
- @beginEventTable{wxTreebookEvent}
+ @beginEventEmissionTable{wxBookCtrlEvent}
@event{EVT_TREEBOOK_PAGE_CHANGED(id, func)}
- The page selection was changed. Processes a @c
- wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED event.
+ The page selection was changed.
+ Processes a @c wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED event.
@event{EVT_TREEBOOK_PAGE_CHANGING(id, func)}
- The page selection is about to be changed. Processes a @c
- wxEVT_COMMAND_TREEBOOK_PAGE_CHANGING event. This event can be @ref
- wxNotifyEvent::Veto() "vetoed".
+ The page selection is about to be changed.
+ Processes a @c wxEVT_COMMAND_TREEBOOK_PAGE_CHANGING event.
+ This event can be @ref wxNotifyEvent::Veto() "vetoed".
@event{EVT_TREEBOOK_NODE_COLLAPSED(id, func)}
- The page node is going to be collapsed. Processes a @c
- wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED event.
+ The page node is going to be collapsed.
+ Processes a @c wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED event.
@event{EVT_TREEBOOK_NODE_EXPANDED(id, func)}
- The page node is going to be expanded. Processes a @c
- wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED event.
+ The page node is going to be expanded.
+ Processes a @c wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED event.
@endEventTable
@library{wxcore}
- @category{miscwnd}
+ @category{bookctrl}
- @see wxTreebookEvent, wxNotebook, wxTreeCtrl, wxImageList,
+ @see wxBookCtrl, wxBookCtrlEvent, wxNotebook, wxTreeCtrl, wxImageList,
@ref overview_bookctrl, @ref page_samples_notebook
*/
class wxTreebook : public wxBookCtrlBase
const wxString& name = wxEmptyString);
/**
- Destroys the wxTreebook object. Also deletes all the pages owned by the
- control (inserted previously into it).
+ Destroys the wxTreebook object.
+ Also deletes all the pages owned by the control (inserted previously into it).
*/
- ~wxTreebook();
+ virtual ~wxTreebook();
/**
Adds a new page. The page is placed at the topmost level after all other
pages. @NULL could be specified for page to create an empty page.
*/
- bool AddPage(wxWindow* page, const wxString& text,
- bool bSelect = false,
- int imageId = wxNOT_FOUND);
+ virtual bool AddPage(wxWindow* page, const wxString& text,
+ bool bSelect = false, int imageId = wxNOT_FOUND);
/**
Adds a new child-page to the last top-level page. @NULL could be
specified for page to create an empty page.
*/
- bool AddSubPage(wxWindow* page, const wxString& text,
- bool bSelect = false,
- int imageId = wxNOT_FOUND);
-
- /**
- Sets the image list for the page control and takes ownership of the
- list.
-
- @see wxImageList, SetImageList()
- */
- void AssignImageList(wxImageList* imageList);
+ virtual bool AddSubPage(wxWindow* page, const wxString& text,
+ bool bSelect = false, int imageId = wxNOT_FOUND);
- /**
- Changes the selection for the given page, returning the previous
- selection.
-
- The call to this function does not generate the page changing events.
- This is the only difference with SetSelection(). See
- @ref overview_eventhandling_prog for more info.
- */
- int ChangeSelection(size_t page);
/**
Shortcut for @ref wxTreebook::ExpandNode() "ExpandNode"( @a pageId,
const wxString& name = wxEmptyString);
/**
- Deletes all pages inserted into the treebook. No event is generated.
- */
- bool DeleteAllPages();
-
- /**
- Deletes the page at the specified position and all its children. Could
- trigger page selection change in a case when selected page is removed.
+ Deletes the page at the specified position and all its children.
+ Could trigger page selection change in a case when selected page is removed.
In that case its parent is selected (or the next page if no parent).
*/
- bool DeletePage(size_t pagePos);
+ virtual bool DeletePage(size_t pagePos);
/**
- Expands (collapses) the @a pageId node. Returns the previous state. May
- generate page changing events (if selected page is under the collapsed
+ Expands (collapses) the @a pageId node. Returns the previous state.
+ May generate page changing events (if selected page is under the collapsed
branch, then its parent is autoselected).
*/
- bool ExpandNode(size_t pageId, bool expand = true);
-
- /**
- Returns the image index for the given page.
- */
- int GetPageImage(size_t n) const;
+ virtual bool ExpandNode(size_t pageId, bool expand = true);
/**
Returns the parent page of the given one or @c wxNOT_FOUND if this is a
int GetPageParent(size_t page) const;
/**
- Returns the string for the given page.
- */
- wxString GetPageText(size_t n) const;
-
- /**
- Returns the currently selected page, or @c wxNOT_FOUND if none was
- selected.
+ Returns the currently selected page, or @c wxNOT_FOUND if none was selected.
@note This method may return either the previously or newly selected
- page when called from the EVT_TREEBOOK_PAGE_CHANGED() handler
- depending on the platform and so wxTreebookEvent::GetSelection()
- should be used instead in this case.
+ page when called from the EVT_TREEBOOK_PAGE_CHANGED() handler
+ depending on the platform and so wxBookCtrlEvent::GetSelection()
+ should be used instead in this case.
*/
- int GetSelection() const;
+ virtual int GetSelection() const;
/**
- Inserts a new page just before the page indicated by @a pagePos. The new
- page is placed before @a pagePos page and on the same level. @NULL could
- be specified for page to create an empty page.
+ Inserts a new page just before the page indicated by @a pagePos.
+ The new page is placed before @a pagePos page and on the same level.
+ @NULL could be specified for page to create an empty page.
*/
- bool InsertPage(size_t pagePos, wxWindow* page,
- const wxString& text,
- bool bSelect = false,
- int imageId = wxNOT_FOUND);
+ virtual bool InsertPage(size_t pagePos, wxWindow* page,
+ const wxString& text, bool bSelect = false,
+ int imageId = wxNOT_FOUND);
/**
Inserts a sub page under the specified page.
@NULL could be specified for page to create an empty page.
*/
- bool InsertSubPage(size_t pagePos, wxWindow* page,
- const wxString& text,
- bool bSelect = false,
- int imageId = wxNOT_FOUND);
+ virtual bool InsertSubPage(size_t pagePos, wxWindow* page,
+ const wxString& text, bool bSelect = false,
+ int imageId = wxNOT_FOUND);
/**
Returns @true if the page represented by @a pageId is expanded.
*/
- bool IsNodeExpanded(size_t pageId) const;
-
- /**
- Sets the image list for the page control. It does not take ownership of
- the image list, you must delete it yourself.
-
- @see wxImageList, AssignImageList()
- */
- void SetImageList(wxImageList* imageList);
-
- /**
- Sets the image index for the given @a page. @a imageId is an index into
- the image list which was set with SetImageList().
- */
- bool SetPageImage(size_t page, int imageId);
-
- /**
- Sets the @a text for the given @a page.
- */
- bool SetPageText(size_t page, const wxString& text);
-
- /**
- @deprecated Please use ChangeSelection() instead.
-
- Sets the selection for the given page, returning the previous selection.
-
- The call to this function generates page changing events.
-
- @see GetSelection(), ChangeSelection()
- */
- int SetSelection(size_t n);
+ virtual bool IsNodeExpanded(size_t pageId) const;
};