X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/74f8518b5c1927bde4ee95124bc276c9d593d278..d60156ac9d764d9ee6cf866a87084732d341abb9:/docs/latex/wx/notebook.tex diff --git a/docs/latex/wx/notebook.tex b/docs/latex/wx/notebook.tex index 8825349389..3a714b6f18 100644 --- a/docs/latex/wx/notebook.tex +++ b/docs/latex/wx/notebook.tex @@ -23,34 +23,70 @@ managed by wxNotebook. \twocolwidtha{5cm} \begin{twocollist}\itemsep=0pt - -\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\_TOP}}{Place tabs on the top side.} +\twocolitem{\windowstyle{wxNB\_LEFT}}{Place tabs on the left side.} +\twocolitem{\windowstyle{wxNB\_RIGHT}}{Place tabs on the right side.} +\twocolitem{\windowstyle{wxNB\_BOTTOM}}{Place tabs under instead of above the notebook pages.} \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.} +\twocolitem{\windowstyle{wxNB\_NOPAGETHEME}}{(Windows only) Display a solid colour on notebook pages, and not a gradient, which can reduce performance.} +\twocolitem{\windowstyle{wxNB\_FLAT}}{(Windows CE only) Show tabs in a flat style.} \end{twocollist} +The styles \texttt{wxNB\_LEFT}, \texttt{RIGHT} and \texttt{BOTTOM} are not +supported under Microsoft Windows XP when using visual themes. + See also \helpref{window styles overview}{windowstyles}. \input noteevt.inc +\wxheading{Page backgrounds} + +On Windows XP, the default theme paints a gradient on the notebook's pages. +If you wish to suppress this theme, for aesthetic or performance reasons, +there are three ways of doing it. You can use wxNB\_NOPAGETHEME to disable +themed drawing for a particular notebook, you can call {\tt wxSystemOptions::SetOption} +to disable it for the whole application, or you can disable it for individual +pages by using {\tt SetBackgroundColour}. + +To disable themed pages globally: + +\begin{verbatim} + wxSystemOptions::SetOption(wxT("msw.notebook.themed-background"), 0); +\end{verbatim} + +Set the value to 1 to enable it again. + +To give a single page a solid background that more or less fits in with the +overall theme, use: + +\begin{verbatim} + wxColour col = notebook->GetThemeBackgroundColour(); + if (col.Ok()) + { + page->SetBackgroundColour(col); + } +\end{verbatim} + +On platforms other than Windows, or if the application is not using Windows +themes, {\tt GetThemeBackgroundColour} will return an uninitialised colour object, +and the above code will therefore work on all platforms. + \wxheading{See also} -\helpref{wxNotebookEvent}{wxnotebookevent}, \helpref{wxImageList}{wximagelist},\rtfsp -\helpref{wxTabCtrl}{wxtabctrl} +\helpref{wxBookCtrl}{wxbookctrloverview}, \helpref{wxNotebookEvent}{wxnotebookevent}, \helpref{wxImageList}{wximagelist}, \helpref{notebook sample}{samplenotebook}\rtfsp \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 = wxDefaultSize}, \param{long}{ style = 0}, \param{const wxString\& }{name = "notebook"}} + \param{const wxSize\&}{ size = wxDefaultSize}, \param{long}{ style = 0}, \param{const wxString\& }{name = wxNotebookNameStr}} Constructs a notebook control. @@ -70,12 +106,14 @@ Note that sometimes you can reduce flicker by passing the wxCLIP\_CHILDREN windo \docparam{name}{The name of the control (used only under Motif).} -\membersection{wxNotebook::\destruct{wxNotebook}} + +\membersection{wxNotebook::\destruct{wxNotebook}}\label{wxnotebookdtor} \func{}{\destruct{wxNotebook}}{\void} Destroys the wxNotebook object. + \membersection{wxNotebook::AddPage}\label{wxnotebookaddpage} \func{bool}{AddPage}{\param{wxNotebookPage*}{ page}, @@ -109,6 +147,7 @@ Do not delete the page, it will be deleted by the notebook. \helpref{wxNotebook::InsertPage}{wxnotebookinsertpage} + \membersection{wxNotebook::AdvanceSelection}\label{wxnotebookadvanceselection} \func{void}{AdvanceSelection}{\param{bool}{ forward = true}} @@ -117,6 +156,7 @@ 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}} @@ -129,20 +169,23 @@ the list. \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"}} + \param{const wxSize\&}{ size}, \param{long}{ style = 0}, \param{const wxString\& }{name = wxNotebookNameStr}} -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} \func{bool}{DeleteAllPages}{\void} Deletes all pages. + \membersection{wxNotebook::DeletePage}\label{wxnotebookdeletepage} \func{bool}{DeletePage}{\param{size\_t}{ page}} @@ -151,6 +194,14 @@ Deletes the specified page, and the associated window. The call to this function generates the page changing events. + +\membersection{wxNotebook::GetCurrentPage}\label{wxnotebookgetcurrentpage} + +\constfunc{wxWindow *}{GetCurrentPage}{\void} + +Returns the currently selected notebook page or \NULL. + + \membersection{wxNotebook::GetImageList}\label{wxnotebookgetimagelist} \constfunc{wxImageList*}{GetImageList}{\void} @@ -161,36 +212,42 @@ Returns the associated image list. \helpref{wxImageList}{wximagelist}, \helpref{wxNotebook::SetImageList}{wxnotebooksetimagelist} + \membersection{wxNotebook::GetPage}\label{wxnotebookgetpage} \func{wxNotebookPage*}{GetPage}{\param{size\_t}{ page}} Returns the window at the given page position. + \membersection{wxNotebook::GetPageCount}\label{wxnotebookgetpagecount} \constfunc{size\_t}{GetPageCount}{\void} Returns the number of pages in the notebook control. + \membersection{wxNotebook::GetPageImage}\label{wxnotebookgetpageimage} \constfunc{int}{GetPageImage}{\param{size\_t }{nPage}} Returns the image index for the given page. + \membersection{wxNotebook::GetPageText}\label{wxnotebookgetpagetext} \constfunc{wxString}{GetPageText}{\param{size\_t }{nPage}} Returns the string for the given page. + \membersection{wxNotebook::GetRowCount}\label{wxnotebookgetrowcount} \constfunc{int}{GetRowCount}{\void} Returns the number of rows in the notebook control. + \membersection{wxNotebook::GetSelection}\label{wxnotebookgetselection} \constfunc{int}{GetSelection}{\void} @@ -203,16 +260,22 @@ the platform and so\rtfsp \helpref{wxNotebookEvent::GetSelection}{wxnotebookeventgetselection} should be used instead in this case. +\membersection{wxNotebook::GetThemeBackgroundColour}\label{wxnotebookgetthemebackgroundcolour} + +\constfunc{wxColour}{GetThemeBackgroundColour}{\void} + +If running under Windows and themes are enabled for the application, this function +returns a suitable colour for painting the background of a notebook page, and can be passed +to {\tt SetBackgroundColour}. Otherwise, an uninitialised colour will be returned. + \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 +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.} @@ -220,10 +283,11 @@ inside the tab is returned as well. \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.} +\twocolitem{{\bf wxBK\_HITTEST\_NOWHERE}}{There was no tab under this point.} +\twocolitem{{\bf wxBK\_HITTEST\_ONICON}}{The point was over an icon (currently wxMSW only).} +\twocolitem{{\bf wxBK\_HITTEST\_ONLABEL}}{The point was over a label (currently wxMSW only).} +\twocolitem{{\bf wxBK\_HITTEST\_ONITEM}}{The point was over an item, but not on the label or icon.} +\twocolitem{{\bf wxBK\_HITTEST\_ONPAGE}}{The point was over a currently selected page, not over any tab. Note that this flag is present only if {\tt wxNOT\_FOUND} is returned.} \end{twocollist} } @@ -233,6 +297,7 @@ 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{size\_t}{ index}, \param{wxNotebookPage*}{ page}, @@ -266,6 +331,7 @@ Do not delete the page, it will be deleted by the notebook. \helpref{wxNotebook::AddPage}{wxnotebookaddpage} + \membersection{wxNotebook::OnSelChange}\label{wxnotebookonselchange} \func{void}{OnSelChange}{\param{wxNotebookEvent\&}{ event}} @@ -276,12 +342,14 @@ 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}} @@ -294,6 +362,7 @@ ownership of the image list, you must delete it yourself. \helpref{wxImageList}{wximagelist}, \helpref{AssignImageList}{wxnotebookassignimagelist} + \membersection{wxNotebook::SetPadding}\label{wxnotebooksetpadding} \func{void}{SetPadding}{\param{const wxSize\&}{ padding}} @@ -302,6 +371,7 @@ 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}} @@ -310,6 +380,7 @@ 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{size\_t}{ page}, \param{int }{image}} @@ -317,12 +388,14 @@ Sets the width and height of the pages. 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{size\_t}{ page}, \param{const wxString\& }{text}} Sets the text for the given page. + \membersection{wxNotebook::SetSelection}\label{wxnotebooksetselection} \func{int}{SetSelection}{\param{size\_t}{ page}} @@ -331,8 +404,21 @@ Sets the selection for the given page, returning the previous selection. The call to this function generates the page changing events. +This function is deprecated and should not be used in new code. Please use the +\helpref{ChangeSelection}{wxnotebookchangeselection} function instead. + \wxheading{See also} \helpref{wxNotebook::GetSelection}{wxnotebookgetselection} +\membersection{wxNotebook::ChangeSelection}\label{wxnotebookchangeselection} + +\func{int}{ChangeSelection}{\param{size\_t}{ page}} + +Changes the selection for the given page, returning the previous selection. + +The call to this function \emph{does not} generate the page changing events. +This is the only difference with \helpref{SetSelection}{wxnotebooksetselection}. +See \helpref{this topic}{progevent} for more info. +