// 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
{
public:
+ enum
+ {
+ /// Symbolic constant indicating that no image should be used.
+ NO_IMAGE = -1
+ };
+
/**
Default ctor.
*/
/**
Returns the image index for the given page.
*/
- virtual int GetPageImage(size_t nPage) const;
+ virtual int GetPageImage(size_t nPage) const = 0;
/**
Sets the image list for the page control.
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;
//@}
/**
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.
/**
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;
//@}
/**
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
@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.
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.
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;
//@}
*/
};
+/**
+ wxBookCtrl is defined to one of the 'real' book controls.
+
+ See @ref overview_bookctrl for more info.
+*/
+#define wxBookCtrl TheBestBookCtrlForTheCurrentPlatform
+
/**
@class wxBookCtrlEvent
probably unnecessary to process both events at once.
@library{wxcore}
- @category{events}
+ @category{events,bookctrl}
@see wxNotebook, wxListbook, wxChoicebook, wxTreebook, wxToolbook
*/