File: notebook.tex

package info (click to toggle)
wxwidgets2.8 2.8.10.1-3
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 239,052 kB
  • ctags: 289,550
  • sloc: cpp: 1,838,857; xml: 396,717; python: 282,506; ansic: 126,171; makefile: 51,406; sh: 14,581; asm: 299; sql: 258; lex: 194; perl: 139; yacc: 128; pascal: 95; php: 39; lisp: 38; tcl: 24; haskell: 20; java: 18; cs: 18; erlang: 17; ruby: 16; ada: 9; ml: 9; csh: 9
file content (424 lines) | stat: -rw-r--r-- 13,128 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
\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\_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{wxBookCtrl}{wxbookctrloverview}, \helpref{wxNotebookEvent}{wxnotebookevent}, \helpref{wxImageList}{wximagelist}, \helpref{notebook sample}{samplenotebook}\rtfsp

\latexignore{\rtfignore{\wxheading{Members}}}

\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 = wxNotebookNameStr}}

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}}\label{wxnotebookdtor}

\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.

The call to this function may generate the page changing events.

\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.

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::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.



\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 = wxNotebookNameStr}}

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}}

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}

Returns the associated image list.

\wxheading{See also}

\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}

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::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
inside the tab is returned as well.

\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 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}
}

\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{size\_t}{ 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{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. 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{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{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}}

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}