]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/treebook.h
Implement hatched/stippled pens/brushes in wxGraphicsContext for Cairo.
[wxWidgets.git] / interface / wx / treebook.h
index c950031b2dad34e80f3cb5885ae28bd5cc7e9d86..776b2afca3e9688787bd8f7bab8c11dde2f55d43 100644 (file)
@@ -1,75 +1,19 @@
 /////////////////////////////////////////////////////////////////////////////
 // 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
@@ -83,26 +27,26 @@ public:
     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
@@ -136,44 +80,25 @@ public:
                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,
@@ -192,28 +117,18 @@ public:
                 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
@@ -222,74 +137,36 @@ public:
     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;
 };