]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/bookctrl.h
Cleanup of wxDataViewCtrl cell activation code.
[wxWidgets.git] / interface / wx / bookctrl.h
index f62f142eea145a3b32418076577abc276167fceb..15f27c1abf0d6f2879eeb9991958b5e87fd499ba 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxBookCtrlBase
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
     This is a pure virtual class so you cannot allocate it directly.
 
     @library{wxcore}
-    @category{miscwnd}
+    @category{bookctrl}
 
     @see @ref overview_bookctrl
 */
-class wxBookCtrlBase : public wxControl
+class wxBookCtrlBase : public wxControl, public wxWithImages
 {
 public:
+    enum
+    {
+        /// Symbolic constant indicating that no image should be used.
+        NO_IMAGE = -1
+    };
+
     /**
         Default ctor.
     */
@@ -65,38 +71,17 @@ public:
     */
     //@{
 
-    /**
-        Sets the image list for the page control and takes ownership of the list.
-
-        @see wxImageList, SetImageList()
-    */
-    void AssignImageList(wxImageList* imageList);
-
-    /**
-        Returns the associated image list.
-
-        @see wxImageList, SetImageList()
-    */
-    wxImageList* GetImageList() const;
 
     /**
         Returns the image index for the given page.
     */
-    virtual int GetPageImage(size_t nPage) 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()
-    */
-    virtual void SetImageList(wxImageList* imageList);
+    virtual int GetPageImage(size_t nPage) const = 0;
 
     /**
         Sets the image index for the given page. @a image is an index into
         the image list which was set with SetImageList().
     */
-    virtual bool SetPageImage(size_t page, int image);
+    virtual bool SetPageImage(size_t page, int image) = 0;
 
     //@}
 
@@ -147,15 +132,14 @@ public:
 
     /**
         Sets the selection for the given page, returning the previous selection.
-        The call to this function generates the page changing events.
 
-        @deprecated
-        This function is deprecated and should not be used in new code.
-        Please use the ChangeSelection() function instead.
+        Notice that the call to this function generates the page changing
+        events, use the ChangeSelection() function if you don't want these
+        events to be generated.
 
         @see GetSelection()
     */
-    virtual int SetSelection(size_t page);
+    virtual int SetSelection(size_t page) = 0;
 
     /**
         Cycles through the tabs.
@@ -166,11 +150,12 @@ public:
     /**
         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 infomation.
+        This function behaves as SetSelection() but does @em not generate the
+        page changing events.
+
+        See @ref overview_events_prog for more information.
     */
-    virtual int ChangeSelection(size_t page);
+    virtual int ChangeSelection(size_t page) = 0;
 
     //@}
 
@@ -221,6 +206,10 @@ public:
 
     /**
         Adds a new page.
+
+        The page must have the book control itself as the parent and must not
+        have been added to this control previously.
+
         The call to this function may generate the page changing events.
 
         @param page
@@ -238,10 +227,8 @@ public:
 
         @see InsertPage()
     */
-    bool AddPage(wxWindow* page,
-                 const wxString& text,
-                 bool select = false,
-                 int imageId = wxNOT_FOUND);
+    virtual bool AddPage(wxWindow* page, const wxString& text,
+                         bool select = false, int imageId = NO_IMAGE);
 
     /**
         Deletes all pages.
@@ -252,7 +239,7 @@ public:
         Deletes the specified page, and the associated window.
         The call to this function generates the page changing events.
     */
-    bool DeletePage(size_t page);
+    virtual bool DeletePage(size_t page);
 
     /**
         Inserts a new page at the specified position.
@@ -278,22 +265,22 @@ public:
                             wxWindow* page,
                             const wxString& text,
                             bool select = false,
-                            int imageId = wxNOT_FOUND) = 0;
+                            int imageId = NO_IMAGE) = 0;
 
     /**
         Deletes the specified page, without deleting the associated window.
     */
-    bool RemovePage(size_t page);
+    virtual bool RemovePage(size_t page);
 
     /**
         Returns the number of pages in the control.
     */
-    size_t GetPageCount() const;
+    virtual size_t GetPageCount() const;
 
     /**
         Returns the window at the given page position.
     */
-    wxWindow* GetPage(size_t page);
+    wxWindow* GetPage(size_t page) const;
 
     //@}
 
@@ -348,7 +335,7 @@ public:
     @class wxBookCtrlEvent
 
     This class represents the events generated by book controls (wxNotebook,
-    wxListbook, wxChoicebook, wxTreebook).
+    wxListbook, wxChoicebook, wxTreebook, wxAuiNotebook).
 
     The PAGE_CHANGING events are sent before the current page is changed.
     It allows the program to examine the current page (which can be retrieved
@@ -365,9 +352,9 @@ public:
     probably unnecessary to process both events at once.
 
     @library{wxcore}
-    @category{events}
+    @category{events,bookctrl}
 
-    @see wxNotebook, wxListbook, wxChoicebook, wxTreebook, wxToolbook
+    @see wxNotebook, wxListbook, wxChoicebook, wxTreebook, wxToolbook, wxAuiNotebook
 */
 class wxBookCtrlEvent : public wxNotifyEvent
 {