]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/notebook.tex
update by Paco Riviere
[wxWidgets.git] / docs / latex / wx / notebook.tex
CommitLineData
3972fb49
JS
1\section{\class{wxNotebook}}\label{wxnotebook}
2
3This class represents a notebook control, which manages multiple windows with associated tabs.
4
5To use the class, create a wxNotebook object and call \helpref{AddPage}{wxnotebookaddpage} or \helpref{InsertPage}{wxnotebookinsertpage},
6passing a window to be used as the page. Do not explicitly delete the window for a page that is currently
7managed by wxNotebook.
8
9{\bf wxNotebookPage} is a typedef for wxWindow.
10
11\wxheading{Derived from}
12
13\helpref{wxControl}{wxcontrol}\\
14\helpref{wxWindow}{wxwindow}\\
15\helpref{wxEvtHandler}{wxevthandler}\\
16\helpref{wxObject}{wxobject}
17
954b8ae6
JS
18\wxheading{Include files}
19
20<wx/notebook.h>
21
da27bd0b
VZ
22\wxheading{Window styles}
23
24\twocolwidtha{5cm}
25\begin{twocollist}\itemsep=0pt
f6bcfd97 26
6390284b
JS
27\twocolitem{\windowstyle{wxNB\_LEFT}}{Place tabs on the left side. Not supported under Windows XP.}
28\twocolitem{\windowstyle{wxNB\_RIGHT}}{Place tabs on the right side. Not supported under Windows XP.}
29\twocolitem{\windowstyle{wxNB\_BOTTOM}}{Place tabs under instead of above the notebook pages. Not supported under Windows XP.}
2b5f62a0
VZ
30\twocolitem{\windowstyle{wxNB\_FIXEDWIDTH}}{(Windows only) All tabs will have same width.}
31\twocolitem{\windowstyle{wxNB\_MULTILINE}}{(Windows only) There can be several rows of tabs.}
f6bcfd97 32
da27bd0b
VZ
33\end{twocollist}
34
f6bcfd97
BP
35See also \helpref{window styles overview}{windowstyles}.
36
1d2bd847 37\input noteevt.inc
3972fb49
JS
38
39\wxheading{See also}
40
41\helpref{wxNotebookEvent}{wxnotebookevent}, \helpref{wxImageList}{wximagelist},\rtfsp
42\helpref{wxTabCtrl}{wxtabctrl}
43
44\latexignore{\rtfignore{\wxheading{Members}}}
45
46\membersection{wxNotebook::wxNotebook}\label{wxnotebookconstr}
47
48\func{}{wxNotebook}{\void}
49
50Default constructor.
51
52\func{}{wxNotebook}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
e480a80a 53 \param{const wxSize\&}{ size = wxDefaultSize}, \param{long}{ style = 0}, \param{const wxString\& }{name = "notebook"}}
3972fb49
JS
54
55Constructs a notebook control.
56
5fa399c9
JS
57Note that sometimes you can reduce flicker by passing the wxCLIP\_CHILDREN window style.
58
3972fb49
JS
59\wxheading{Parameters}
60
61\docparam{parent}{The parent window. Must be non-NULL.}
62
63\docparam{id}{The window identifier.}
64
65\docparam{pos}{The window position.}
66
67\docparam{size}{The window size.}
68
f6bcfd97 69\docparam{style}{The window style. See \helpref{wxNotebook}{wxnotebook}.}
3972fb49 70
8c517ddd
VZ
71\docparam{name}{The name of the control (used only under Motif).}
72
3972fb49
JS
73\membersection{wxNotebook::\destruct{wxNotebook}}
74
75\func{}{\destruct{wxNotebook}}{\void}
76
77Destroys the wxNotebook object.
78
79\membersection{wxNotebook::AddPage}\label{wxnotebookaddpage}
80
81\func{bool}{AddPage}{\param{wxNotebookPage*}{ page},
82 \param{const wxString\&}{ text},
cc81d32f 83 \param{bool}{ select = false},
3972fb49
JS
84 \param{int}{ imageId = -1}}
85
86Adds a new page.
87
f65a450a
VZ
88The call to this function may generate the page changing events.
89
3972fb49
JS
90\wxheading{Parameters}
91
92\docparam{page}{Specifies the new page.}
93
94\docparam{text}{Specifies the text for the new page.}
95
96\docparam{select}{Specifies whether the page should be selected.}
97
98\docparam{imageId}{Specifies the optional image index for the new page.}
99
100\wxheading{Return value}
101
cc81d32f 102true if successful, false otherwise.
3972fb49
JS
103
104\wxheading{Remarks}
105
106Do not delete the page, it will be deleted by the notebook.
107
108\wxheading{See also}
109
110\helpref{wxNotebook::InsertPage}{wxnotebookinsertpage}
111
112\membersection{wxNotebook::AdvanceSelection}\label{wxnotebookadvanceselection}
113
cc81d32f 114\func{void}{AdvanceSelection}{\param{bool}{ forward = true}}
3972fb49
JS
115
116Cycles through the tabs.
117
f65a450a
VZ
118The call to this function generates the page changing events.
119
b656febd
VS
120\membersection{wxNotebook::AssignImageList}\label{wxnotebookassignimagelist}
121
122\func{void}{AssignImageList}{\param{wxImageList*}{ imageList}}
123
124Sets the image list for the page control and takes ownership of
125the list.
126
127\wxheading{See also}
128
129\helpref{wxImageList}{wximagelist},
130\helpref{SetImageList}{wxnotebooksetimagelist}
131
3972fb49
JS
132\membersection{wxNotebook::Create}\label{wxnotebookcreate}
133
134\func{bool}{Create}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
135 \param{const wxSize\&}{ size}, \param{long}{ style = 0}, \param{const wxString\& }{name = "notebook"}}
136
137Creates a notebook control. See \helpref{wxNotebook::wxNotebook}{wxnotebookconstr} for a description
138of the parameters.
139
140\membersection{wxNotebook::DeleteAllPages}\label{wxnotebookdeleteallpages}
141
142\func{bool}{DeleteAllPages}{\void}
143
144Deletes all pages.
145
146\membersection{wxNotebook::DeletePage}\label{wxnotebookdeletepage}
147
148\func{bool}{DeletePage}{\param{int}{ page}}
149
621793f4 150Deletes the specified page, and the associated window.
3972fb49 151
f65a450a
VZ
152The call to this function generates the page changing events.
153
3972fb49
JS
154\membersection{wxNotebook::GetImageList}\label{wxnotebookgetimagelist}
155
156\constfunc{wxImageList*}{GetImageList}{\void}
157
158Returns the associated image list.
159
160\wxheading{See also}
161
162\helpref{wxImageList}{wximagelist}, \helpref{wxNotebook::SetImageList}{wxnotebooksetimagelist}
163
164\membersection{wxNotebook::GetPage}\label{wxnotebookgetpage}
165
166\func{wxNotebookPage*}{GetPage}{\param{int}{ page}}
167
168Returns the window at the given page position.
169
170\membersection{wxNotebook::GetPageCount}\label{wxnotebookgetpagecount}
171
172\constfunc{int}{GetPageCount}{\void}
173
174Returns the number of pages in the notebook control.
175
176\membersection{wxNotebook::GetPageImage}\label{wxnotebookgetpageimage}
177
f6bcfd97 178\constfunc{int}{GetPageImage}{\param{int }{nPage}}
3972fb49
JS
179
180Returns the image index for the given page.
181
182\membersection{wxNotebook::GetPageText}\label{wxnotebookgetpagetext}
183
f6bcfd97 184\constfunc{wxString}{GetPageText}{\param{int }{nPage}}
3972fb49
JS
185
186Returns the string for the given page.
187
188\membersection{wxNotebook::GetRowCount}\label{wxnotebookgetrowcount}
189
190\constfunc{int}{GetRowCount}{\void}
191
192Returns the number of rows in the notebook control.
193
194\membersection{wxNotebook::GetSelection}\label{wxnotebookgetselection}
195
196\constfunc{int}{GetSelection}{\void}
197
f0125ede
VZ
198Returns the currently selected page, or $-1$ if none was selected.
199
200Note that this method may return either the previously or newly selected page
201when called from the {\tt EVT\_NOTEBOOK\_PAGE\_CHANGED} handler depending on
202the platform and so\rtfsp
203\helpref{wxNotebookEvent::GetSelection}{wxnotebookeventgetselection} should be
204used instead in this case.
3972fb49 205
e450aa69
VZ
206\membersection{wxNotebook::HitTest}\label{wxnotebookhittest}
207
208\func{int}{HitTest}{\param{const wxPoint\&}{ pt}, \param{long}{ *flags = {\tt NULL}}}
209
210Returns the index of the tab at the specified position or {\tt wxNOT\_FOUND}
211if none. If {\it flags} parameter is non {\tt NULL}, the position of the point
212inside the tab is returned as well.
213
214{\bf NB: } This method is currently only implemented under wxMSW and wxUniv.
215
216\wxheading{Parameters}
217
218\docparam{pt}{Specifies the point for the hit test.}
219
220\docparam{flags}{Return value for detailed information. One of the following values:
221\twocolwidtha{7cm}
222\begin{twocollist}\itemsep=0pt
223\twocolitem{{\bf wxNB\_HITTEST\_NOWHERE}}{There was no tab under this point.}
224\twocolitem{{\bf wxNB\_HITTEST\_ONICON}}{The point was over an icon (currently wxMSW only).}
225\twocolitem{{\bf wxNB\_HITTEST\_ONLABEL}}{The point was over a label (currently wxMSW only).}
226\twocolitem{{\bf wxNB\_HITTEST\_ONITEM}}{The point was over an item, but not on the label or icon.}
227\end{twocollist}
228}
229
230\wxheading{Return value}
231
232Returns the zero-based tab index or {\tt wxNOT\_FOUND} if there is no tab is at
233the specified position.
234
235
3972fb49
JS
236\membersection{wxNotebook::InsertPage}\label{wxnotebookinsertpage}
237
238\func{bool}{InsertPage}{\param{int}{ index}, \param{wxNotebookPage*}{ page},
239 \param{const wxString\&}{ text},
cc81d32f 240 \param{bool}{ select = false},
3972fb49
JS
241 \param{int}{ imageId = -1}}
242
243Inserts a new page at the specified position.
244
245\wxheading{Parameters}
246
247\docparam{index}{Specifies the position for the new page.}
248
249\docparam{page}{Specifies the new page.}
250
251\docparam{text}{Specifies the text for the new page.}
252
253\docparam{select}{Specifies whether the page should be selected.}
254
255\docparam{imageId}{Specifies the optional image index for the new page.}
256
257\wxheading{Return value}
258
cc81d32f 259true if successful, false otherwise.
3972fb49
JS
260
261\wxheading{Remarks}
262
263Do not delete the page, it will be deleted by the notebook.
264
265\wxheading{See also}
266
267\helpref{wxNotebook::AddPage}{wxnotebookaddpage}
268
269\membersection{wxNotebook::OnSelChange}\label{wxnotebookonselchange}
270
271\func{void}{OnSelChange}{\param{wxNotebookEvent\&}{ event}}
272
273An event handler function, called when the page selection is changed.
274
275\wxheading{See also}
276
277\helpref{wxNotebookEvent}{wxnotebookevent}
278
621793f4
JS
279\membersection{wxNotebook::RemovePage}\label{wxnotebookremovepage}
280
281\func{bool}{RemovePage}{\param{int}{ page}}
282
283Deletes the specified page, without deleting the associated window.
284
3972fb49
JS
285\membersection{wxNotebook::SetImageList}\label{wxnotebooksetimagelist}
286
287\func{void}{SetImageList}{\param{wxImageList*}{ imageList}}
288
b656febd
VS
289Sets the image list for the page control. It does not take
290ownership of the image list, you must delete it yourself.
3972fb49
JS
291
292\wxheading{See also}
293
b656febd
VS
294\helpref{wxImageList}{wximagelist},
295\helpref{AssignImageList}{wxnotebookassignimagelist}
3972fb49
JS
296
297\membersection{wxNotebook::SetPadding}\label{wxnotebooksetpadding}
298
299\func{void}{SetPadding}{\param{const wxSize\&}{ padding}}
300
301Sets the amount of space around each page's icon and label, in pixels.
302
b318dc42
JS
303{\bf NB:} The vertical padding cannot be changed in wxGTK.
304
3972fb49
JS
305\membersection{wxNotebook::SetPageSize}\label{wxnotebooksetpagesize}
306
307\func{void}{SetPageSize}{\param{const wxSize\&}{ size}}
308
309Sets the width and height of the pages.
310
b318dc42
JS
311{\bf NB:} This method is currently not implemented for wxGTK.
312
3972fb49
JS
313\membersection{wxNotebook::SetPageImage}\label{wxnotebooksetpageimage}
314
315\func{bool}{SetPageImage}{\param{int}{ page}, \param{int }{image}}
316
317Sets the image index for the given page. {\it image} is an index into
318the image list which was set with \helpref{wxNotebook::SetImageList}{wxnotebooksetimagelist}.
319
320\membersection{wxNotebook::SetPageText}\label{wxnotebooksetpagetext}
321
322\func{bool}{SetPageText}{\param{int}{ page}, \param{const wxString\& }{text}}
323
324Sets the text for the given page.
325
326\membersection{wxNotebook::SetSelection}\label{wxnotebooksetselection}
327
328\func{int}{SetSelection}{\param{int}{ page}}
329
330Sets the selection for the given page, returning the previous selection.
331
f65a450a
VZ
332The call to this function generates the page changing events.
333
3972fb49
JS
334\wxheading{See also}
335
336\helpref{wxNotebook::GetSelection}{wxnotebookgetselection}
337
338