]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/menuitem.tex
sorting support for generic version (patch 1765087 from Bo)
[wxWidgets.git] / docs / latex / wx / menuitem.tex
CommitLineData
66760199
WS
1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2%% Name: menuitem.tex
3%% Purpose: wxMenuItem documentation
4%% Author: wxWidgets Team
5%% Modified by:
6%% Created:
7%% RCS-ID: $Id$
8%% Copyright: (c) wxWidgets Team
9%% License: wxWindows license
10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11
a660d684
KB
12\section{\class{wxMenuItem}}\label{wxmenuitem}
13
d65c269b
VZ
14A menu item represents an item in a menu. Note that you usually don't have to
15deal with it directly as \helpref{wxMenu}{wxmenu} methods usually construct an
16object of this class for you.
17
18Also please note that the methods related to fonts and bitmaps are currently
c436b310 19only implemented for Windows and GTK+.
a660d684
KB
20
21\wxheading{Derived from}
22
8dbb7967 23% add wxOwnerDrawn once it is documented
a660d684
KB
24\helpref{wxObject}{wxobject}
25
954b8ae6
JS
26\wxheading{Include files}
27
28<wx/menuitem.h>
29
a7af285d
VZ
30\wxheading{Library}
31
32\helpref{wxCore}{librarieslist}
33
a660d684
KB
34\wxheading{See also}
35
2432b92d 36\helpref{wxMenuBar}{wxmenubar}, \helpref{wxMenu}{wxmenu}
a660d684
KB
37
38\latexignore{\rtfignore{\wxheading{Members}}}
39
1892d641 40
dcbd177f 41\membersection{wxMenuItem::wxMenuItem}\label{wxmenuitemctor}
a660d684 42
0ed48c11 43\func{}{wxMenuItem}{\param{wxMenu*}{ parentMenu = NULL}, \param{int}{ id = wxID\_SEPARATOR},
a660d684 44 \param{const wxString\& }{text = ""}, \param{const wxString\& }{helpString = ""},
3980000c 45 \param{wxItemKind }{kind = wxITEM\_NORMAL}, \param{wxMenu*}{ subMenu = NULL}}
a660d684
KB
46
47Constructs a wxMenuItem object.
48
345319d6
VZ
49Menu items can be standard, or ``stock menu items'', or custom. For the
50standard menu items (such as commands to open a file, exit the program and so
51on, see \helpref{stock items}{stockitems} for the full list) it is enough to
52specify just the stock ID and leave \arg{text} and \arg{helpString} empty. In
53fact, leaving at least \arg{text} empty for the stock menu items is strongly
54recommended as they will have appearance and keyboard interface (including
55standard accelerators) familiar to the user.
56
57For the custom (non-stock) menu items, \arg{text} must be specified and while
58\arg{helpString} may be left empty, it's recommended to pass the item
59description (which is automatically shown by the library in the status bar when
60the menu item is selected) in this parameter.
61
62Finally note that you can e.g. use a stock menu label without using its stock
63help string:
64
65\begin{verbatim}
66// use all stock properties:
67helpMenu->Append(wxID_ABOUT);
68
69// use the stock label and the stock accelerator but not the stock help string:
70helpMenu->Append(wxID_ABOUT, wxEmptyString, wxT("My custom help string"));
71
72// use all stock properties except for the bitmap:
73wxMenuItem *mymenu = new wxMenuItem(helpMenu, wxID_ABOUT);
74mymenu->SetBitmap(wxArtProvider::GetBitmap(wxART_WARNING));
75helpMenu->Append(mymenu);
76\end{verbatim}
77
78that is, stock properties are set independently one from the other.
ee0a94cf 79
a660d684
KB
80\wxheading{Parameters}
81
82\docparam{parentMenu}{Menu that the menu item belongs to.}
83
0ed48c11 84\docparam{id}{Identifier for this menu item, or wxID\_SEPARATOR to indicate a separator.}
a660d684 85
2b5f62a0
VZ
86\docparam{text}{Text for the menu item, as shown on the menu. An accelerator
87key can be specified using the ampersand '\&' character. In order to embed an
88ampersand character in the menu item text, the ampersand must be doubled.}
a660d684
KB
89
90\docparam{helpString}{Optional help string that will be shown on the status bar.}
91
8def689d
VZ
92\docparam{kind}{May be {\tt wxITEM\_SEPARATOR}, {\tt wxITEM\_NORMAL},
93{\tt wxITEM\_CHECK} or {\tt wxITEM\_RADIO}}
a660d684
KB
94
95\docparam{subMenu}{If non-NULL, indicates that the menu item is a submenu.}
96
1892d641 97
dcbd177f 98\membersection{wxMenuItem::\destruct{wxMenuItem}}\label{wxmenuitemdtor}
a660d684
KB
99
100\func{}{\destruct{wxMenuItem}}{\void}
101
102Destructor.
103
1892d641 104
a660d684
KB
105\membersection{wxMenuItem::Check}\label{wxmenuitemcheck}
106
3980000c 107\func{void}{Check}{\param{bool}{ check = true}}
a660d684
KB
108
109Checks or unchecks the menu item.
110
1892d641
VZ
111Note that this only works when the item is already appended to a menu.
112
113
a660d684
KB
114\membersection{wxMenuItem::Enable}\label{wxmenuitemenable}
115
3980000c 116\func{void}{Enable}{\param{bool}{ enable = true}}
a660d684
KB
117
118Enables or disables the menu item.
119
1892d641 120
a660d684
KB
121\membersection{wxMenuItem::GetBackgroundColour}\label{wxmenuitemgetbackgroundcolour}
122
123\constfunc{wxColour\&}{GetBackgroundColour}{\void}
124
125Returns the background colour associated with the menu item (Windows only).
126
1892d641 127
a660d684
KB
128\membersection{wxMenuItem::GetBitmap}\label{wxmenuitemgetbitmap}
129
cc81d32f 130\constfunc{wxBitmap\&}{GetBitmap}{\param{bool}{ checked = true}}
a660d684
KB
131
132Returns the checked or unchecked bitmap (Windows only).
133
1892d641 134
a660d684
KB
135\membersection{wxMenuItem::GetFont}\label{wxmenuitemgetfont}
136
137\constfunc{wxFont\&}{GetFont}{\void}
138
139Returns the font associated with the menu item (Windows only).
140
1892d641 141
a660d684
KB
142\membersection{wxMenuItem::GetHelp}\label{wxmenuitemgethelp}
143
144\constfunc{wxString}{GetHelp}{\void}
145
146Returns the help string associated with the menu item.
147
1892d641 148
a660d684
KB
149\membersection{wxMenuItem::GetId}\label{wxmenuitemgetid}
150
151\constfunc{int}{GetId}{\void}
152
153Returns the menu item identifier.
154
1892d641 155
d65c269b
VZ
156\membersection{wxMenuItem::GetKind}\label{wxmenuitemgetkind}
157
158\constfunc{wxItemKind}{GetKind}{\void}
159
8def689d
VZ
160Returns the item kind, one of {\tt wxITEM\_SEPARATOR}, {\tt wxITEM\_NORMAL},
161{\tt wxITEM\_CHECK} or {\tt wxITEM\_RADIO}.
d65c269b 162
1892d641 163
64a89766
VZ
164\membersection{wxMenuItem::GetLabel}\label{wxmenuitemgetlabel}
165
166\constfunc{wxString}{GetLabel}{\void}
167
168Returns the text associated with the menu item without any accelerator
2edb0bde 169characters it might contain.
64a89766
VZ
170
171\wxheading{See also}
172
fa482912 173\helpref{GetText}{wxmenuitemgettext},
3b59cdbf
VZ
174\helpref{GetLabelFromText}{wxmenuitemgetlabelfromtext}
175
1892d641 176
3b59cdbf
VZ
177\membersection{wxMenuItem::GetLabelFromText}\label{wxmenuitemgetlabelfromtext}
178
179\func{static wxString}{GetLabelFromText}{\param{const wxString\& }{text}}
180
2edb0bde 181Strips all accelerator characters and mnemonics from the given {\it text}.
3b59cdbf
VZ
182For example,
183
184\begin{verbatim}
185wxMenuItem::GetLabelFromText("&Hello\tCtrl-H");
186\end{verbatim}
187
188will return just {\tt "Hello"}.
189
190\wxheading{See also}
191
fa482912 192\helpref{GetText}{wxmenuitemgettext},
3b59cdbf 193\helpref{GetLabel}{wxmenuitemgetlabel}
64a89766 194
1892d641 195
a660d684
KB
196\membersection{wxMenuItem::GetMarginWidth}\label{wxmenuitemgetmarginwidth}
197
198\constfunc{int}{GetMarginWidth}{\void}
199
200Gets the width of the menu item checkmark bitmap (Windows only).
201
1892d641 202
66760199
WS
203\membersection{wxMenuItem::GetMenu}\label{wxmenuitemgetmenu}
204
205\constfunc{wxMenu*}{GetMenu}{\void}
206
207Returns the menu this menu item is in, or NULL if this menu item is not attached.
208
209
a660d684
KB
210\membersection{wxMenuItem::GetName}\label{wxmenuitemgetname}
211
212\constfunc{wxString}{GetName}{\void}
213
214Returns the text associated with the menu item.
215
64a89766
VZ
216{\bf NB:} this function is deprecated, please use
217\helpref{GetText}{wxmenuitemgettext} or \helpref{GetLabel}{wxmenuitemgetlabel}
218instead.
219
1892d641 220
64a89766
VZ
221\membersection{wxMenuItem::GetText}\label{wxmenuitemgettext}
222
223\constfunc{wxString}{GetText}{\void}
224
225Returns the text associated with the menu item, such as it was passed to the
226wxMenuItem constructor, i.e. with any accelerator characters it may contain.
227
228\wxheading{See also}
229
fa482912 230\helpref{GetLabel}{wxmenuitemgetlabel},
3b59cdbf 231\helpref{GetLabelFromText}{wxmenuitemgetlabelfromtext}
64a89766 232
1892d641 233
a660d684
KB
234\membersection{wxMenuItem::GetSubMenu}\label{wxmenuitemgetsubmenu}
235
236\constfunc{wxMenu*}{GetSubMenu}{\void}
237
238Returns the submenu associated with the menu item, or NULL if there isn't one.
239
1892d641 240
a660d684
KB
241\membersection{wxMenuItem::GetTextColour}\label{wxmenuitemgettextcolour}
242
243\constfunc{wxColour\&}{GetTextColour}{\void}
244
245Returns the text colour associated with the menu item (Windows only).
246
1892d641 247
a660d684
KB
248\membersection{wxMenuItem::IsCheckable}\label{wxmenuitemischeckable}
249
250\constfunc{bool}{IsCheckable}{\void}
251
cc81d32f 252Returns true if the item is checkable.
a660d684 253
1892d641 254
a660d684
KB
255\membersection{wxMenuItem::IsChecked}\label{wxmenuitemischecked}
256
257\constfunc{bool}{IsChecked}{\void}
258
cc81d32f 259Returns true if the item is checked.
a660d684 260
1892d641 261
a660d684
KB
262\membersection{wxMenuItem::IsEnabled}\label{wxmenuitemisenabled}
263
264\constfunc{bool}{IsEnabled}{\void}
265
cc81d32f 266Returns true if the item is enabled.
a660d684 267
1892d641 268
a660d684
KB
269\membersection{wxMenuItem::IsSeparator}\label{wxmenuitemisseparator}
270
271\constfunc{bool}{IsSeparator}{\void}
272
cc81d32f 273Returns true if the item is a separator.
a660d684 274
1892d641 275
c87957c2
WS
276\membersection{wxMenuItem::IsSubMenu}\label{wxmenuitemissubmenu}
277
278\constfunc{bool}{IsSubMenu}{\void}
279
280Returns true if the item is a submenu.
281
282
a660d684
KB
283\membersection{wxMenuItem::SetBackgroundColour}\label{wxmenuitemsetbackgroundcolour}
284
e14dccff 285\constfunc{void}{SetBackgroundColour}{\param{const wxColour\& }{colour}}
a660d684
KB
286
287Sets the background colour associated with the menu item (Windows only).
288
1892d641 289
0996d32a
VS
290\membersection{wxMenuItem::SetBitmap}\label{wxmenuitemsetbitmap}
291
66760199 292\func{void}{SetBitmap}{\param{const wxBitmap\& }{bmp}}
0996d32a
VS
293
294Sets the bitmap for the menu item (Windows and GTK+ only). It is
295equivalent to \helpref{SetBitmaps}{wxmenuitemsetbitmaps}(bmp, wxNullBitmap).
296
1892d641 297
a660d684
KB
298\membersection{wxMenuItem::SetBitmaps}\label{wxmenuitemsetbitmaps}
299
66760199 300\func{void}{SetBitmaps}{\param{const wxBitmap\& }{checked},
e14dccff 301 \param{const wxBitmap\& }{unchecked = wxNullBitmap}}
a660d684
KB
302
303Sets the checked/unchecked bitmaps for the menu item (Windows only). The first bitmap
304is also used as the single bitmap for uncheckable menu items.
305
1892d641 306
a660d684
KB
307\membersection{wxMenuItem::SetFont}\label{wxmenuitemsetfont}
308
66760199 309\func{void}{SetFont}{\param{const wxFont\& }{font}}
a660d684
KB
310
311Sets the font associated with the menu item (Windows only).
312
1892d641 313
a660d684
KB
314\membersection{wxMenuItem::SetHelp}\label{wxmenuitemsethelp}
315
66760199 316\func{void}{SetHelp}{\param{const wxString\& }{helpString}}
a660d684
KB
317
318Sets the help string.
319
1892d641 320
a660d684
KB
321\membersection{wxMenuItem::SetMarginWidth}\label{wxmenuitemsetmarginwidth}
322
323\constfunc{void}{SetMarginWidth}{\param{int}{ width}}
324
325Sets the width of the menu item checkmark bitmap (Windows only).
326
1892d641 327
66760199
WS
328\membersection{wxMenuItem::SetMenu}\label{wxmenuitemsetmenu}
329
330\func{void}{SetMenu}{\param{const wxMenu*}{menu}}
331
332Sets the parent menu which will contain this menu item.
333
334
335\membersection{wxMenuItem::SetSubMenu}\label{wxmenuitemsetsubmenu}
336
337\func{void}{SetSubMenu}{\param{const wxMenu*}{menu}}
338
339Sets the submenu of this menu item.
340
341
4e6978c3 342\membersection{wxMenuItem::SetText}\label{wxmenuitemsettext}
a660d684 343
66760199 344\func{void}{SetText}{\param{const wxString\& }{text}}
a660d684
KB
345
346Sets the text associated with the menu item.
347
1892d641 348
a660d684
KB
349\membersection{wxMenuItem::SetTextColour}\label{wxmenuitemsettextcolour}
350
66760199 351\func{void}{SetTextColour}{\param{const wxColour\& }{colour}}
a660d684
KB
352
353Sets the text colour associated with the menu item (Windows only).
354