// 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.
*/
*/
//@{
- /**
- 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;
//@}
/**
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;
//@}
@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
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
{