b318dc4237
This allows changing the padding of the icons and text in the tab of a wxNotebook for wxGTK. Since the container in the tab is only a horizontal container only the width component is used. Negative values are acceptable so no checks were made. It now defaults to a padding of 0 on the sides and 1 in between the icon and label, looks good for a few "themes" I tried. Note: Unfortunately there is no function to set the padding on the left or right side of a widget. gtk_box_set_child_packing sets padding on BOTH sides of a widget so you'd get double the spacing between an icon and the label. To get around this, the icon (if there was one) is removed and added back. That way the icon will provide the padding on the left and the label will provide the padding between and to the right. It looks nice for all sizes. The gtk_container_set_border_width unforuntately only adds borders to ALL sides equally. A simple check is to add m_notebook->SetPadding in one in the spinctrl callback in the controls sample. (set appropriate range too -10,20). Note that the tab sizes change to fit the width of the panel, if appropriate, and so the spacing between the icon and label changes accordingly. This isn't a bug, but it does look weird as you scan up and down the spacing (which nobody would normally do). I also changed all wxGtkNotebookPage variables to nb_page so that "int page" would be used to mean the page number. Just cosmetic for consistency with the rest of the functions that were already like that. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16412 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
300 lines
8.5 KiB
TeX
300 lines
8.5 KiB
TeX
\section{\class{wxNotebook}}\label{wxnotebook}
|
|
|
|
This class represents a notebook control, which manages multiple windows with associated tabs.
|
|
|
|
To use the class, create a wxNotebook object and call \helpref{AddPage}{wxnotebookaddpage} or \helpref{InsertPage}{wxnotebookinsertpage},
|
|
passing a window to be used as the page. Do not explicitly delete the window for a page that is currently
|
|
managed by wxNotebook.
|
|
|
|
{\bf wxNotebookPage} is a typedef for wxWindow.
|
|
|
|
\wxheading{Derived from}
|
|
|
|
\helpref{wxControl}{wxcontrol}\\
|
|
\helpref{wxWindow}{wxwindow}\\
|
|
\helpref{wxEvtHandler}{wxevthandler}\\
|
|
\helpref{wxObject}{wxobject}
|
|
|
|
\wxheading{Include files}
|
|
|
|
<wx/notebook.h>
|
|
|
|
\wxheading{Window styles}
|
|
|
|
\twocolwidtha{5cm}
|
|
\begin{twocollist}\itemsep=0pt
|
|
|
|
\twocolitem{\windowstyle{wxNB\_FIXEDWIDTH}}{(Windows only)All tabs will have same width.}
|
|
\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.}
|
|
|
|
\end{twocollist}
|
|
|
|
See also \helpref{window styles overview}{windowstyles}.
|
|
|
|
\input noteevt.inc
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxNotebookEvent}{wxnotebookevent}, \helpref{wxImageList}{wximagelist},\rtfsp
|
|
\helpref{wxTabCtrl}{wxtabctrl}
|
|
|
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
|
|
|
\membersection{wxNotebook::wxNotebook}\label{wxnotebookconstr}
|
|
|
|
\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"}}
|
|
|
|
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.}
|
|
|
|
\docparam{id}{The window identifier.}
|
|
|
|
\docparam{pos}{The window position.}
|
|
|
|
\docparam{size}{The window size.}
|
|
|
|
\docparam{style}{The window style. See \helpref{wxNotebook}{wxnotebook}.}
|
|
|
|
\docparam{name}{The name of the control (used only under Motif).}
|
|
|
|
\membersection{wxNotebook::\destruct{wxNotebook}}
|
|
|
|
\func{}{\destruct{wxNotebook}}{\void}
|
|
|
|
Destroys the wxNotebook object.
|
|
|
|
\membersection{wxNotebook::AddPage}\label{wxnotebookaddpage}
|
|
|
|
\func{bool}{AddPage}{\param{wxNotebookPage*}{ page},
|
|
\param{const wxString\&}{ text},
|
|
\param{bool}{ select = FALSE},
|
|
\param{int}{ imageId = -1}}
|
|
|
|
Adds a new page.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{page}{Specifies the new page.}
|
|
|
|
\docparam{text}{Specifies the text for the new page.}
|
|
|
|
\docparam{select}{Specifies whether the page should be selected.}
|
|
|
|
\docparam{imageId}{Specifies the optional image index for the new page.}
|
|
|
|
\wxheading{Return value}
|
|
|
|
TRUE if successful, FALSE otherwise.
|
|
|
|
\wxheading{Remarks}
|
|
|
|
Do not delete the page, it will be deleted by the notebook.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxNotebook::InsertPage}{wxnotebookinsertpage}
|
|
|
|
\membersection{wxNotebook::AdvanceSelection}\label{wxnotebookadvanceselection}
|
|
|
|
\func{void}{AdvanceSelection}{\param{bool}{ forward = TRUE}}
|
|
|
|
Cycles through the tabs.
|
|
|
|
\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
|
|
of the parameters.
|
|
|
|
\membersection{wxNotebook::DeleteAllPages}\label{wxnotebookdeleteallpages}
|
|
|
|
\func{bool}{DeleteAllPages}{\void}
|
|
|
|
Deletes all pages.
|
|
|
|
\membersection{wxNotebook::DeletePage}\label{wxnotebookdeletepage}
|
|
|
|
\func{bool}{DeletePage}{\param{int}{ page}}
|
|
|
|
Deletes the specified page, and the associated window.
|
|
|
|
\membersection{wxNotebook::GetImageList}\label{wxnotebookgetimagelist}
|
|
|
|
\constfunc{wxImageList*}{GetImageList}{\void}
|
|
|
|
Returns the associated image list.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImageList}{wximagelist}, \helpref{wxNotebook::SetImageList}{wxnotebooksetimagelist}
|
|
|
|
\membersection{wxNotebook::GetPage}\label{wxnotebookgetpage}
|
|
|
|
\func{wxNotebookPage*}{GetPage}{\param{int}{ page}}
|
|
|
|
Returns the window at the given page position.
|
|
|
|
\membersection{wxNotebook::GetPageCount}\label{wxnotebookgetpagecount}
|
|
|
|
\constfunc{int}{GetPageCount}{\void}
|
|
|
|
Returns the number of pages in the notebook control.
|
|
|
|
\membersection{wxNotebook::GetPageImage}\label{wxnotebookgetpageimage}
|
|
|
|
\constfunc{int}{GetPageImage}{\param{int }{nPage}}
|
|
|
|
Returns the image index for the given page.
|
|
|
|
\membersection{wxNotebook::GetPageText}\label{wxnotebookgetpagetext}
|
|
|
|
\constfunc{wxString}{GetPageText}{\param{int }{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}
|
|
|
|
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::InsertPage}\label{wxnotebookinsertpage}
|
|
|
|
\func{bool}{InsertPage}{\param{int}{ index}, \param{wxNotebookPage*}{ page},
|
|
\param{const wxString\&}{ text},
|
|
\param{bool}{ select = FALSE},
|
|
\param{int}{ imageId = -1}}
|
|
|
|
Inserts a new page at the specified position.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{index}{Specifies the position for the new page.}
|
|
|
|
\docparam{page}{Specifies the new page.}
|
|
|
|
\docparam{text}{Specifies the text for the new page.}
|
|
|
|
\docparam{select}{Specifies whether the page should be selected.}
|
|
|
|
\docparam{imageId}{Specifies the optional image index for the new page.}
|
|
|
|
\wxheading{Return value}
|
|
|
|
TRUE if successful, FALSE otherwise.
|
|
|
|
\wxheading{Remarks}
|
|
|
|
Do not delete the page, it will be deleted by the notebook.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxNotebook::AddPage}{wxnotebookaddpage}
|
|
|
|
\membersection{wxNotebook::OnSelChange}\label{wxnotebookonselchange}
|
|
|
|
\func{void}{OnSelChange}{\param{wxNotebookEvent\&}{ event}}
|
|
|
|
An event handler function, called when the page selection is changed.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxNotebookEvent}{wxnotebookevent}
|
|
|
|
\membersection{wxNotebook::RemovePage}\label{wxnotebookremovepage}
|
|
|
|
\func{bool}{RemovePage}{\param{int}{ 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. It does not take
|
|
ownership of the image list, you must delete it yourself.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImageList}{wximagelist},
|
|
\helpref{AssignImageList}{wxnotebookassignimagelist}
|
|
|
|
\membersection{wxNotebook::SetPadding}\label{wxnotebooksetpadding}
|
|
|
|
\func{void}{SetPadding}{\param{const wxSize\&}{ padding}}
|
|
|
|
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}}
|
|
|
|
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}}
|
|
|
|
Sets the text for the given page.
|
|
|
|
\membersection{wxNotebook::SetSelection}\label{wxnotebooksetselection}
|
|
|
|
\func{int}{SetSelection}{\param{int}{ page}}
|
|
|
|
Sets the selection for the given page, returning the previous selection.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxNotebook::GetSelection}{wxnotebookgetselection}
|
|
|
|
|