/////////////////////////////////////////////////////////////////////////////
// Name: aui/auibook.h
-// Purpose: documentation for wxAuiNotebook class
+// Purpose: interface of wxAuiNotebook
// Author: wxWidgets team
// RCS-ID: $Id$
// Licence: wxWindows license
/**
@class wxAuiNotebook
@headerfile auibook.h wx/aui/auibook.h
-
+
wxAuiNotebook is part of the wxAUI class framework.
- See also @ref overview_wxauioverview "wxAUI overview".
-
+ See also @ref overview_aui.
+
wxAuiNotebook is a notebook control which implements many features common in
applications with dockable panes.
Specifically, wxAuiNotebook implements functionality which allows the user to
- rearrange tab order via drag-and-drop,
- split the tab window into many different splitter configurations, and toggle
- through different themes to customize
+ rearrange tab order via drag-and-drop, split the tab window into many different
+ splitter configurations, and toggle through different themes to customize
the control's look and feel.
-
+
An effort has been made to try to maintain an API as similar to that of
wxNotebook.
-
+
The default theme that is used is wxAuiDefaultTabArt, which provides a modern,
glossy look and feel.
The theme can be changed by calling wxAuiNotebook::SetArtProvider.
-
+
@beginStyleTable
@style{wxAUI_NB_DEFAULT_STYLE}:
Defined as wxAUI_NB_TOP | wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_MOVE |
@style{wxAUI_NB_BOTTOM}:
With this style, tabs are drawn along the bottom of the notebook.
@endStyleTable
-
+
@library{wxaui}
@category{aui}
*/
class wxAuiNotebook : public wxControl
{
public:
- //@{
+ wxAuiNotebook();
+
/**
Constructor. Creates a wxAuiNotebok control.
*/
- wxAuiNotebook();
- wxAuiNotebook(wxWindow* parent, wxWindowID id = wxID_ANY,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = wxAUI_NB_DEFAULT_STYLE);
- //@}
+ wxAuiNotebook(wxWindow* parent, wxWindowID id = wxID_ANY,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxAUI_NB_DEFAULT_STYLE);
/**
- Adds a page. If the @e select parameter is @true, calling this will generate a
- page change event.
+ Adds a page.
+ If the @a select parameter is @true, calling this will generate a page change event.
*/
bool AddPage(wxWindow* page, const wxString& caption,
- bool select = @false,
+ bool select = false,
const wxBitmap& bitmap = wxNullBitmap);
/**
Sets the selection to the next or previous page.
*/
- void AdvanceSelection(bool forward = @true);
+ void AdvanceSelection(bool forward = true);
/**
Creates the notebook window.
long style = 0);
/**
- Deletes a page at the given index. Calling this method will generate a page
- change event.
+ Deletes a page at the given index.
+ Calling this method will generate a page change event.
*/
bool DeletePage(size_t page);
/**
Returns the associated art provider.
*/
- wxAuiTabArt* GetArtProvider();
+ wxAuiTabArt* GetArtProvider() const;
/**
- Returns the desired height of the notebook for the given page height. Use this
- to fit the notebook to
- a given page size.
+ Returns the desired height of the notebook for the given page height.
+ Use this to fit the notebook to a given page size.
*/
int GetHeightForPageHeight(int pageHeight);
/**
Returns the page specified by the given index.
*/
- wxWindow* GetPage(size_t page_idx);
+ wxWindow* GetPage(size_t page_idx) const;
/**
Returns the tab bitmap for the page.
*/
- wxBitmap GetPageBitmap(size_t page);
+ wxBitmap GetPageBitmap(size_t page) const;
/**
Returns the number of pages in the notebook.
*/
- size_t GetPageCount();
+ size_t GetPageCount() const;
/**
- Returns the page index for the specified window. If the window is not found in
- the notebook, wxNOT_FOUND is returned.
+ Returns the page index for the specified window.
+ If the window is not found in the notebook, wxNOT_FOUND is returned.
*/
- int GetPageIndex(wxWindow* page_wnd);
+ int GetPageIndex(wxWindow* page_wnd) const;
/**
Returns the tab label for the page.
*/
- wxString GetPageText(size_t page);
+ wxString GetPageText(size_t page) const;
/**
Returns the currently selected page.
*/
- int GetSelection();
+ int GetSelection() const;
/**
Returns the height of the tab control.
*/
- int GetTabCtrlHeight();
+ int GetTabCtrlHeight() const;
/**
InsertPage() is similar to AddPage, but allows the ability to specify the
insert location.
- If the @e select parameter is @true, calling this will generate a page change
+ If the @a select parameter is @true, calling this will generate a page change
event.
*/
bool InsertPage(size_t page_idx, wxWindow* page,
const wxString& caption,
- bool select = @false,
+ bool select = false,
const wxBitmap& bitmap = wxNullBitmap);
/**
Sets the font for drawing the tab labels, using a bold version of the font for
selected tab labels.
*/
- bool SetFont(const wxFont& font);
+ virtual bool SetFont(const wxFont& font);
/**
Sets the font for measuring tab labels.
size_t SetSelection(size_t new_page);
/**
- Sets the tab height. By default, the tab control height is calculated
- by measuring the text height and bitmap sizes on the tab captions. Calling this
+ Sets the tab height. By default, the tab control height is calculated
+ by measuring the text height and bitmap sizes on the tab captions. Calling this
method will override that calculation and set the tab control to the specified
- height parameter. A call to this method will override any call to
+ height parameter. A call to this method will override any call to
SetUniformBitmapSize().
+
Specifying -1 as the height will return the control to its default auto-sizing
behaviour.
*/
- void SetTabCtrlHeight(int height);
+ virtual void SetTabCtrlHeight(int height);
//@{
/**
- Split performs a split operation programmatically. The argument @e page
- indicates
- the page that will be split off. This page will also become the active page
- after the
- split. The @e direction argument specifies where the pane should go, it should
- be one
+ Split performs a split operation programmatically. The argument @a page
+ indicates the page that will be split off. This page will also become the
+ active page after the split.
+
+ The @a direction argument specifies where the pane should go, it should be one
of the following: wxTOP, wxBOTTOM, wxLEFT, or wxRIGHT.
*/
void SetUniformBitmapSize(const wxSize& size);
- void Split(size_t page, int direction);
+ void Split(size_t page, int direction);
//@}
/**
};
+
/**
@class wxAuiTabArt
@headerfile auibook.h wx/aui/auibook.h
-
+
Tab art class.
-
+
+ @todo BETTER DESCRIPTION NEEDED
+
@library{wxaui}
@category{aui}
*/
-class wxAuiTabArt
+class wxAuiTabArt
{
public:
/**
/**
Clones the art object.
*/
- wxAuiTabArt* Clone();
+ virtual wxAuiTabArt* Clone() = 0;
/**
Draws a background on the given area.
*/
- void DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect);
+ virtual void DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect) = 0;
/**
Draws a button.
/**
Returns the indent size.
*/
- int GetIndentSize();
+ virtual int GetIndentSize() = 0;
/**
Returns the tab size for the given caption, bitmap and state.
/**
Sets flags.
*/
- void SetFlags(unsigned int flags);
+ virtual void SetFlags(unsigned int flags) = 0;
/**
Sets the font used for calculating measurements.
*/
- void SetMeasuringFont(const wxFont& font);
+ virtual void SetMeasuringFont(const wxFont& font) = 0;
/**
Sets the normal font for drawing labels.
*/
- void SetNormalFont(const wxFont& font);
+ virtual void SetNormalFont(const wxFont& font) = 0;
/**
Sets the font for drawing text for selected UI elements.
*/
- void SetSelectedFont(const wxFont& font);
+ virtual void SetSelectedFont(const wxFont& font) = 0;
/**
Sets sizing information.
*/
- void SetSizingInfo(const wxSize& tab_ctrl_size, size_t tab_count);
+ virtual void SetSizingInfo(const wxSize& tab_ctrl_size, size_t tab_count) = 0;
/**
Pops up a menu to show the list of windows managed by wxAui.
int ShowWindowList(wxWindow* wnd, const wxArrayString& items,
int active_idx);
};
+