]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/notebook.tex
don't always erase the background ourselves as this is incompatible with XP themed...
[wxWidgets.git] / docs / latex / wx / notebook.tex
index 1817f10652d1ba0607099125eb6454616ccb9623..1e07b545173a2e6abe7a95aa0f1bbc2aa5f2d904 100644 (file)
@@ -15,18 +15,26 @@ managed by wxNotebook.
 \helpref{wxEvtHandler}{wxevthandler}\\
 \helpref{wxObject}{wxobject}
 
-\wxheading{Event handling}
+\wxheading{Include files}
 
-To process input from a notebook control, use the following event handler macros to direct input to member
-functions that take a \helpref{wxNotebookEvent}{wxnotebookevent} argument.
+<wx/notebook.h>
 
-\twocolwidtha{7cm}
+\wxheading{Window styles}
+
+\twocolwidtha{5cm}
 \begin{twocollist}\itemsep=0pt
-\twocolitem{{\bf EVT\_NOTEBOOK\_PAGE\_CHANGED(id, func)}}{The page selection was changed. Processes a
-wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGED event.}
-\twocolitem{{\bf EVT\_NOTEBOOK\_PAGE\_CHANGING(id, func)}}{The page selection is about to be changed.
-Processes a wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGING event.}
-\end{twocollist}%
+
+\twocolitem{\windowstyle{wxNB\_LEFT}}{Place tabs on the left side. Not supported under Windows XP.}
+\twocolitem{\windowstyle{wxNB\_RIGHT}}{Place tabs on the right side. Not supported under Windows XP.}
+\twocolitem{\windowstyle{wxNB\_BOTTOM}}{Place tabs under instead of above the notebook pages. Not supported under Windows XP.}
+\twocolitem{\windowstyle{wxNB\_FIXEDWIDTH}}{(Windows only) All tabs will have same width.}
+\twocolitem{\windowstyle{wxNB\_MULTILINE}}{(Windows only) There can be several rows of tabs.}
+
+\end{twocollist}
+
+See also \helpref{window styles overview}{windowstyles}.
+
+\input noteevt.inc
 
 \wxheading{See also}
 
@@ -35,17 +43,19 @@ Processes a wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGING event.}
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
-\membersection{wxNotebook::wxNotebook}\label{wxnotebookconstr}
+\membersection{wxNotebook::wxNotebook}\label{wxnotebookctor}
 
 \func{}{wxNotebook}{\void}
 
 Default constructor.
 
 \func{}{wxNotebook}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
- \param{const wxSize\&}{ size}, \param{long}{ style = 0}, \param{const wxString\& }{name = "notebook"}}
+ \param{const wxSize\&}{ size = wxDefaultSize}, \param{long}{ style = 0}, \param{const wxString\& }{name = "notebook"}}
 
 Constructs a notebook control.
 
+Note that sometimes you can reduce flicker by passing the wxCLIP\_CHILDREN window style.
+
 \wxheading{Parameters}
 
 \docparam{parent}{The parent window. Must be non-NULL.}
@@ -56,10 +66,11 @@ Constructs a notebook control.
 
 \docparam{size}{The window size.}
 
-\docparam{style}{The window style. Its value is a bit list of zero or more of {\bf wxTC\_MULTILINE},
- {\bf wxTC\_RIGHTJUSTIFY}, {\bf wxTC\_FIXEDWIDTH} and {\bf wxTC\_OWNERDRAW}.}
+\docparam{style}{The window style. See \helpref{wxNotebook}{wxnotebook}.}
 
-\membersection{wxNotebook::\destruct{wxNotebook}}
+\docparam{name}{The name of the control (used only under Motif).}
+
+\membersection{wxNotebook::\destruct{wxNotebook}}\label{wxnotebookdtor}
 
 \func{}{\destruct{wxNotebook}}{\void}
 
@@ -69,11 +80,13 @@ Destroys the wxNotebook object.
 
 \func{bool}{AddPage}{\param{wxNotebookPage*}{ page},
  \param{const wxString\&}{ text},
- \param{bool}{ select = FALSE},
+ \param{bool}{ select = false},
  \param{int}{ imageId = -1}}
 
 Adds a new page.
 
+The call to this function may generate the page changing events.
+
 \wxheading{Parameters}
 
 \docparam{page}{Specifies the new page.}
@@ -86,7 +99,7 @@ Adds a new page.
 
 \wxheading{Return value}
 
-TRUE if successful, FALSE otherwise.
+true if successful, false otherwise.
 
 \wxheading{Remarks}
 
@@ -98,16 +111,30 @@ Do not delete the page, it will be deleted by the notebook.
 
 \membersection{wxNotebook::AdvanceSelection}\label{wxnotebookadvanceselection}
 
-\func{void}{AdvanceSelection}{\param{bool}{ forward = TRUE}}
+\func{void}{AdvanceSelection}{\param{bool}{ forward = true}}
 
 Cycles through the tabs.
 
+The call to this function generates the page changing events.
+
+\membersection{wxNotebook::AssignImageList}\label{wxnotebookassignimagelist}
+
+\func{void}{AssignImageList}{\param{wxImageList*}{ imageList}}
+
+Sets the image list for the page control and takes ownership of
+the list.
+
+\wxheading{See also}
+
+\helpref{wxImageList}{wximagelist},
+\helpref{SetImageList}{wxnotebooksetimagelist}
+
 \membersection{wxNotebook::Create}\label{wxnotebookcreate}
 
 \func{bool}{Create}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
  \param{const wxSize\&}{ size}, \param{long}{ style = 0}, \param{const wxString\& }{name = "notebook"}}
 
-Creates a notebook control. See \helpref{wxNotebook::wxNotebook}{wxnotebookconstr} for a description
+Creates a notebook control. See \helpref{wxNotebook::wxNotebook}{wxnotebookctor} for a description
 of the parameters.
 
 \membersection{wxNotebook::DeleteAllPages}\label{wxnotebookdeleteallpages}
@@ -118,9 +145,11 @@ Deletes all pages.
 
 \membersection{wxNotebook::DeletePage}\label{wxnotebookdeletepage}
 
-\func{bool}{DeletePage}{\param{int}{ page}}
+\func{bool}{DeletePage}{\param{size\_t}{ page}}
+
+Deletes the specified page, and the associated window.
 
-Deletes the specified page.
+The call to this function generates the page changing events.
 
 \membersection{wxNotebook::GetImageList}\label{wxnotebookgetimagelist}
 
@@ -134,25 +163,25 @@ Returns the associated image list.
 
 \membersection{wxNotebook::GetPage}\label{wxnotebookgetpage}
 
-\func{wxNotebookPage*}{GetPage}{\param{int}{ page}}
+\func{wxNotebookPage*}{GetPage}{\param{size\_t}{ page}}
 
 Returns the window at the given page position.
 
 \membersection{wxNotebook::GetPageCount}\label{wxnotebookgetpagecount}
 
-\constfunc{int}{GetPageCount}{\void}
+\constfunc{size\_t}{GetPageCount}{\void}
 
 Returns the number of pages in the notebook control.
 
 \membersection{wxNotebook::GetPageImage}\label{wxnotebookgetpageimage}
 
-\constfunc{int}{GetPageImage}{\void}
+\constfunc{int}{GetPageImage}{\param{size\_t }{nPage}}
 
 Returns the image index for the given page.
 
 \membersection{wxNotebook::GetPageText}\label{wxnotebookgetpagetext}
 
-\constfunc{wxString}{GetPageText}{\void}
+\constfunc{wxString}{GetPageText}{\param{size\_t }{nPage}}
 
 Returns the string for the given page.
 
@@ -166,13 +195,49 @@ Returns the number of rows in the notebook control.
 
 \constfunc{int}{GetSelection}{\void}
 
-Returns the currently selected page, or -1 if none was selected.
+Returns the currently selected page, or $-1$ if none was selected.
+
+Note that this method may return either the previously or newly selected page
+when called from the {\tt EVT\_NOTEBOOK\_PAGE\_CHANGED} handler depending on
+the platform and so\rtfsp
+\helpref{wxNotebookEvent::GetSelection}{wxnotebookeventgetselection} should be
+used instead in this case.
+
+\membersection{wxNotebook::HitTest}\label{wxnotebookhittest}
+
+\func{int}{HitTest}{\param{const wxPoint\&}{ pt}, \param{long}{ *flags = {\tt NULL}}}
+
+Returns the index of the tab at the specified position or {\tt wxNOT\_FOUND} 
+if none. If {\it flags} parameter is non {\tt NULL}, the position of the point
+inside the tab is returned as well.
+
+{\bf NB: } This method is currently only implemented under wxMSW and wxUniv.
+
+\wxheading{Parameters}
+
+\docparam{pt}{Specifies the point for the hit test.}
+
+\docparam{flags}{Return value for detailed information. One of the following values:
+\twocolwidtha{7cm}
+\begin{twocollist}\itemsep=0pt
+\twocolitem{{\bf wxNB\_HITTEST\_NOWHERE}}{There was no tab under this point.}
+\twocolitem{{\bf wxNB\_HITTEST\_ONICON}}{The point was over an icon (currently wxMSW only).}
+\twocolitem{{\bf wxNB\_HITTEST\_ONLABEL}}{The point was over a label (currently wxMSW only).}
+\twocolitem{{\bf wxNB\_HITTEST\_ONITEM}}{The point was over an item, but not on the label or icon.}
+\end{twocollist}
+}
+
+\wxheading{Return value}
+
+Returns the zero-based tab index or {\tt wxNOT\_FOUND} if there is no tab is at
+the specified position.
+
 
 \membersection{wxNotebook::InsertPage}\label{wxnotebookinsertpage}
 
-\func{bool}{InsertPage}{\param{int}{ index}, \param{wxNotebookPage*}{ page},
+\func{bool}{InsertPage}{\param{size\_t}{ index}, \param{wxNotebookPage*}{ page},
  \param{const wxString\&}{ text},
- \param{bool}{ select = FALSE},
+ \param{bool}{ select = false},
  \param{int}{ imageId = -1}}
 
 Inserts a new page at the specified position.
@@ -191,7 +256,7 @@ Inserts a new page at the specified position.
 
 \wxheading{Return value}
 
-TRUE if successful, FALSE otherwise.
+true if successful, false otherwise.
 
 \wxheading{Remarks}
 
@@ -211,15 +276,23 @@ An event handler function, called when the page selection is changed.
 
 \helpref{wxNotebookEvent}{wxnotebookevent}
 
+\membersection{wxNotebook::RemovePage}\label{wxnotebookremovepage}
+
+\func{bool}{RemovePage}{\param{size\_t}{ page}}
+
+Deletes the specified page, without deleting the associated window.
+
 \membersection{wxNotebook::SetImageList}\label{wxnotebooksetimagelist}
 
 \func{void}{SetImageList}{\param{wxImageList*}{ imageList}}
 
-Sets the image list for the page control.
+Sets the image list for the page control. It does not take
+ownership of the image list, you must delete it yourself.
 
 \wxheading{See also}
 
-\helpref{wxImageList}{wximagelist}
+\helpref{wxImageList}{wximagelist},
+\helpref{AssignImageList}{wxnotebookassignimagelist}
 
 \membersection{wxNotebook::SetPadding}\label{wxnotebooksetpadding}
 
@@ -227,31 +300,37 @@ Sets the image list for the page control.
 
 Sets the amount of space around each page's icon and label, in pixels.
 
+{\bf NB:} The vertical padding cannot be changed in wxGTK.
+
 \membersection{wxNotebook::SetPageSize}\label{wxnotebooksetpagesize}
 
 \func{void}{SetPageSize}{\param{const wxSize\&}{ size}}
 
 Sets the width and height of the pages.
 
+{\bf NB:} This method is currently not implemented for wxGTK.
+
 \membersection{wxNotebook::SetPageImage}\label{wxnotebooksetpageimage}
 
-\func{bool}{SetPageImage}{\param{int}{ page}, \param{int }{image}}
+\func{bool}{SetPageImage}{\param{size\_t}{ page}, \param{int }{image}}
 
 Sets the image index for the given page. {\it image} is an index into
 the image list which was set with \helpref{wxNotebook::SetImageList}{wxnotebooksetimagelist}.
 
 \membersection{wxNotebook::SetPageText}\label{wxnotebooksetpagetext}
 
-\func{bool}{SetPageText}{\param{int}{ page}, \param{const wxString\& }{text}}
+\func{bool}{SetPageText}{\param{size\_t}{ page}, \param{const wxString\& }{text}}
 
 Sets the text for the given page.
 
 \membersection{wxNotebook::SetSelection}\label{wxnotebooksetselection}
 
-\func{int}{SetSelection}{\param{int}{ page}}
+\func{int}{SetSelection}{\param{size\_t}{ page}}
 
 Sets the selection for the given page, returning the previous selection.
 
+The call to this function generates the page changing events.
+
 \wxheading{See also}
 
 \helpref{wxNotebook::GetSelection}{wxnotebookgetselection}