% auibook.h at 11/Nov/06 22:56:01
%
-
\section{\class{wxAuiNotebook}}\label{wxauinotebook}
+wxAuiNotebook is part of the wxAUI class framework.
+See also \helpref{wxAUI overview}{wxauioverview}.
-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 spliiter configurations, and toggle through different themes to customize the control's look and feel.
-
-
+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
+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 \helpref{wxAuiNotebook::SetArtProvider}{wxauinotebooksetartprovider}
-
+The default theme that is used is wxAuiDefaultTabArt, which provides a modern, glossy look and feel.
+The theme can be changed by calling \helpref{wxAuiNotebook::SetArtProvider}{wxauinotebooksetartprovider}.
\wxheading{Derived from}
\wxheading{Include files}
-<auibook.h>
+<wx/aui/auibook.h>
+
+
+\wxheading{Window styles}
+
+\twocolwidtha{5cm}%
+\begin{twocollist}\itemsep=0pt
+\twocolitem{\windowstyle{wxAUI\_NB\_DEFAULT\_STYLE}}{Defined as wxAUI\_NB\_TOP | wxAUI\_NB\_TAB\_SPLIT | wxAUI\_NB\_TAB\_MOVE | wxAUI\_NB\_SCROLL\_BUTTONS | wxAUI\_NB\_CLOSE\_ON\_ACTIVE\_TAB
+.}
+\twocolitem{\windowstyle{wxAUI\_NB\_TAB\_SPLIT}}{Allows the tab control to be split by dragging a tab.}
+\twocolitem{\windowstyle{wxAUI\_NB\_TAB\_MOVE}}{Allows a tab to be moved horizontally by dragging.}
+\twocolitem{\windowstyle{wxAUI\_NB\_TAB\_EXTERNAL\_MOVE}}{Allows a tab to be moved to another tab control.}
+\twocolitem{\windowstyle{wxAUI\_NB\_TAB\_FIXED\_WIDTH}}{With this style, all tabs have the same width.}
+\twocolitem{\windowstyle{wxAUI\_NB\_SCROLL\_BUTTONS}}{With this style, left and right scroll buttons are displayed.}
+\twocolitem{\windowstyle{wxAUI\_NB\_WINDOWLIST\_BUTTON}}{With this style, a drop-down list of windows is available.}
+\twocolitem{\windowstyle{wxAUI\_NB\_CLOSE\_BUTTON}}{With this style, a close button is available on the tab bar.}
+\twocolitem{\windowstyle{wxAUI\_NB\_CLOSE\_ON\_ACTIVE\_TAB}}{With this style, the close button is visible on the active tab.}
+\twocolitem{\windowstyle{wxAUI\_NB\_CLOSE\_ON\_ALL\_TABS}}{With this style, the close button is visible on all tabs.}
+\end{twocollist}
+
\wxheading{Data structures}
\latexignore{\rtfignore{\wxheading{Members}}}
-
\membersection{wxAuiNotebook::wxAuiNotebook}\label{wxauinotebookwxauinotebook}
\func{}{wxAuiNotebook}{\void}
-
\func{}{wxAuiNotebook}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = wxID\_ANY}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxAUI\_NB\_DEFAULT\_STYLE}}
-Constructor. Creates a wxAuiNotebok control.
-
-\membersection{wxAuiNotebook::\destruct{wxAuiNotebook}}\label{wxauinotebookdtor}
-
-\func{}{\destruct{wxAuiNotebook}}{\void}
-
+Constructor. Creates a wxAuiNotebok control.
\membersection{wxAuiNotebook::AddPage}\label{wxauinotebookaddpage}
\func{bool}{AddPage}{\param{wxWindow* }{page}, \param{const wxString\& }{caption}, \param{bool }{select = false}, \param{const wxBitmap\& }{bitmap = wxNullBitmap}}
+Adds a page. If the {\it select} parameter is true, calling this will generate a page change event.
\membersection{wxAuiNotebook::Create}\label{wxauinotebookcreate}
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = wxID\_ANY}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = 0}}
+Creates the notebook window.
\membersection{wxAuiNotebook::DeletePage}\label{wxauinotebookdeletepage}
\func{bool}{DeletePage}{\param{size\_t }{page}}
+Deletes a page at the given index. Calling this method will generate a page change event.
-\membersection{wxAuiNotebook::DoSizing}\label{wxauinotebookdosizing}
-
-\func{void}{DoSizing}{\void}
-
-
-\membersection{wxAuiNotebook::FindTab}\label{wxauinotebookfindtab}
+\membersection{wxAuiNotebook::GetArtProvider}\label{wxauinotebookgetartprovider}
-\func{bool}{FindTab}{\param{wxWindow* }{page}, \param{wxAuiTabCtrl** }{ctrl}, \param{int* }{idx}}
+\constfunc{wxAuiTabArt*}{GetArtProvider}{\void}
+Returns the associated art provider.
-\membersection{wxAuiNotebook::GetActiveTabCtrl}\label{wxauinotebookgetactivetabctrl}
+\membersection{wxAuiNotebook::GetHeightForPageHeight}\label{wxauinotebookgetheightforpageheight}
-\func{wxAuiTabCtrl*}{GetActiveTabCtrl}{\void}
+\func{int}{GetHeightForPageHeight}{\param{int }{pageHeight}}
+Returns the desired height of the notebook for the given page height. Use this to fit the notebook to
+a given page size.
-\membersection{wxAuiNotebook::GetArtProvider}\label{wxauinotebookgetartprovider}
+\membersection{wxAuiNotebook::GetPage}\label{wxauinotebookgetpage}
-\constfunc{wxAuiTabArt*}{GetArtProvider}{\void}
+\constfunc{wxWindow*}{GetPage}{\param{size\_t }{page\_idx}}
+Returns the page specified by the given index.
-\membersection{wxAuiNotebook::GetPage}\label{wxauinotebookgetpage}
+\membersection{wxAuiNotebook::GetPageBitmap}\label{wxauinotebookgetpagebitmap}
-\constfunc{wxWindow*}{GetPage}{\param{size\_t }{page\_idx}}
+\constfunc{wxBitmap}{GetPageBitmap}{\param{size\_t }{page}}
+Returns the tab bitmap for the page.
\membersection{wxAuiNotebook::GetPageCount}\label{wxauinotebookgetpagecount}
\constfunc{size\_t}{GetPageCount}{\void}
+Returns the number of pages in the notebook.
\membersection{wxAuiNotebook::GetPageIndex}\label{wxauinotebookgetpageindex}
\constfunc{int}{GetPageIndex}{\param{wxWindow* }{page\_wnd}}
+Returns the page index for the specified window. If the window is not found in
+the notebook, wxNOT\_FOUND is returned.
+
+\membersection{wxAuiNotebook::GetPageText}\label{wxauinotebookgetpagetext}
+
+\constfunc{wxString}{GetPageText}{\param{size\_t }{page}}
+
+Returns the tab label for the page.
+
+\membersection{wxAuiNotebook::GetTabCtrlHeight}\label{wxauinotebookgettabctrlheight}
+
+\constfunc{int}{GetTabCtrlHeight}{\void}
+
+Returns the height of the tab control.
\membersection{wxAuiNotebook::GetSelection}\label{wxauinotebookgetselection}
\constfunc{int}{GetSelection}{\void}
+Returns the currently selected page.
-\membersection{wxAuiNotebook::InitNotebook}\label{wxauinotebookinitnotebook}
+\membersection{wxAuiNotebook::GetTabCtrlHeight}\label{wxauinotebookgettabctrlheight}
-\func{void}{InitNotebook}{\param{long }{style}}
+\constfunc{int}{GetTabCtrlHeight}{\void}
+Returns the height of the tab control.
\membersection{wxAuiNotebook::InsertPage}\label{wxauinotebookinsertpage}
\func{bool}{InsertPage}{\param{size\_t }{page\_idx}, \param{wxWindow* }{page}, \param{const wxString\& }{caption}, \param{bool }{select = false}, \param{const wxBitmap\& }{bitmap = wxNullBitmap}}
+InsertPage() is similar to AddPage, but allows the ability to specify the insert location.
+If the {\it select} parameter is true, calling this will generate a page change event.
\membersection{wxAuiNotebook::RemovePage}\label{wxauinotebookremovepage}
\func{bool}{RemovePage}{\param{size\_t }{page}}
+Removes a page, without deleting the window pointer.
\membersection{wxAuiNotebook::SetArtProvider}\label{wxauinotebooksetartprovider}
\func{void}{SetArtProvider}{\param{wxAuiTabArt* }{art}}
+Sets the art provider to be used by the notebook.
+
+\membersection{wxAuiNotebook::SetFont}\label{wxauinotebooksetfont}
+
+\func{bool}{SetFont}{\param{const wxFont\& }{font}}
+
+Sets the font for drawing the tab labels, using a bold version of the font for selected tab labels.
+
+\membersection{wxAuiNotebook::SetNormalFont}\label{wxauinotebooksetnormalfont}
+
+\func{void}{SetNormalFont}{\param{const wxFont\& }{font}}
+
+Sets the font for drawing unselected tab labels.
+
+\membersection{wxAuiNotebook::SetSelectedFont}\label{wxauinotebooksetselectedfont}
+
+\func{void}{SetSelectedFont}{\param{const wxFont\& }{font}}
+
+Sets the font for drawing selected tab labels.
+
+\membersection{wxAuiNotebook::SetMeasuringFont}\label{wxauinotebooksetmeasuringfont}
+
+\func{void}{SetMeasuringFont}{\param{const wxFont\& }{font}}
+
+Sets the font for measuring tab labels.
\membersection{wxAuiNotebook::SetPageBitmap}\label{wxauinotebooksetpagebitmap}
\func{bool}{SetPageBitmap}{\param{size\_t }{page}, \param{const wxBitmap\& }{bitmap}}
+Sets the bitmap for the page. To remove a bitmap from the tab caption, pass
+wxNullBitmap.
\membersection{wxAuiNotebook::SetPageText}\label{wxauinotebooksetpagetext}
\func{bool}{SetPageText}{\param{size\_t }{page}, \param{const wxString\& }{text}}
+Sets the tab label for the page.
\membersection{wxAuiNotebook::SetSelection}\label{wxauinotebooksetselection}
\func{size\_t}{SetSelection}{\param{size\_t }{new\_page}}
+Sets the page selection. Calling this method will generate a page change event.
\membersection{wxAuiNotebook::SetTabCtrlHeight}\label{wxauinotebooksettabctrlheight}
\func{void}{SetTabCtrlHeight}{\param{int }{height}}
-these can be overridden
+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 SetUniformBitmapSize().
+Specifying -1 as the height will return the control to its default auto-sizing behaviour.
+
+\membersection{wxAuiNotebook::SetUniformBitmapSize}\label{wxauinotebooksetuniformbitmapsize}
+
+\func{void}{SetUniformBitmapSize}{\param{const wxSize\& }{size}}
+
+SetUniformBitmapSize() ensures that all tabs will have the same height, even
+if some tabs don't have bitmaps. Passing wxDefaultSize to this function will
+instruct the control to use dynamic tab height, which is the default behaviour.
+Under the default behaviour, when a tab with a large bitmap is added, the tab control's
+height will automatically increase to accommodate the larger bitmap.
+
+\func{void}{Split}{\param{size\_t }{page}, \param{int }{direction}}
+
+Split performs a split operation programmatically. The argument \arg{page} indicates
+the page that will be split off. This page will also become the active page after the
+split. The \arg{direction} argument specifies where the pane should go, it should be one
+of the following: wxTOP, wxBOTTOM, wxLEFT, or wxRIGHT.
+
-\membersection{wxAuiNotebook::SetWindowStyleFlag}\label{wxauinotebooksetwindowstyleflag}
-\func{void}{SetWindowStyleFlag}{\param{long }{style}}