1wxMenuItem(3) Erlang Module Definition wxMenuItem(3)
2
3
4
6 wxMenuItem - Functions for wxMenuItem class
7
9 A menu item represents an item in a menu.
10
11 Note that you usually don't have to deal with it directly as wxMenu
12 methods usually construct an object of this class for you.
13
14 Also please note that the methods related to fonts and bitmaps are cur‐
15 rently only implemented for Windows, Mac and GTK+.
16
17 See: wxMenuBar, wxMenu
18
19 wxWidgets docs: wxMenuItem
20
22 Event types emitted from this class: menu_open, menu_close, menu_high‐
23 light
24
26 wxMenuItem() = wx:wx_object()
27
29 new() -> wxMenuItem()
30
31 new(Options :: [Option]) -> wxMenuItem()
32
33 Types:
34
35 Option =
36 {parentMenu, wxMenu:wxMenu()} |
37 {id, integer()} |
38 {text, unicode:chardata()} |
39 {help, unicode:chardata()} |
40 {kind, wx:wx_enum()} |
41 {subMenu, wxMenu:wxMenu()}
42
43 Constructs a wxMenuItem object.
44
45 Menu items can be standard, or "stock menu items", or custom.
46 For the standard menu items (such as commands to open a file,
47 exit the program and so on, see page_stockitems for the full
48 list) it is enough to specify just the stock ID and leave text
49 and help string empty. Some platforms (currently wxGTK only, and
50 see the remark in setBitmap/2 documentation) will also show
51 standard bitmaps for stock menu items.
52
53 Leaving at least text empty for the stock menu items is actually
54 strongly recommended as they will have appearance and keyboard
55 interface (including standard accelerators) familiar to the
56 user.
57
58 For the custom (non-stock) menu items, text must be specified
59 and while help string may be left empty, it's recommended to
60 pass the item description (which is automatically shown by the
61 library in the status bar when the menu item is selected) in
62 this parameter.
63
64 Finally note that you can e.g. use a stock menu label without
65 using its stock help string:
66
67 that is, stock properties are set independently one from the
68 other.
69
70 destroy(This :: wxMenuItem()) -> ok
71
72 Destructor.
73
74 check(This) -> ok
75
76 Types:
77
78 This = wxMenuItem()
79
80 check(This, Options :: [Option]) -> ok
81
82 Types:
83
84 This = wxMenuItem()
85 Option = {check, boolean()}
86
87 Checks or unchecks the menu item.
88
89 Note that this only works when the item is already appended to a
90 menu.
91
92 enable(This) -> ok
93
94 Types:
95
96 This = wxMenuItem()
97
98 enable(This, Options :: [Option]) -> ok
99
100 Types:
101
102 This = wxMenuItem()
103 Option = {enable, boolean()}
104
105 Enables or disables the menu item.
106
107 getBitmap(This) -> wxBitmap:wxBitmap()
108
109 Types:
110
111 This = wxMenuItem()
112
113 Returns the checked or unchecked bitmap.
114
115 Only for:wxmsw
116
117 getHelp(This) -> unicode:charlist()
118
119 Types:
120
121 This = wxMenuItem()
122
123 Returns the help string associated with the menu item.
124
125 getId(This) -> integer()
126
127 Types:
128
129 This = wxMenuItem()
130
131 Returns the menu item identifier.
132
133 getKind(This) -> wx:wx_enum()
134
135 Types:
136
137 This = wxMenuItem()
138
139 Returns the item kind, one of wxITEM_SEPARATOR, wxITEM_NORMAL,
140 wxITEM_CHECK or wxITEM_RADIO.
141
142 getLabelFromText(Text) -> unicode:charlist()
143
144 Types:
145
146 Text = unicode:chardata()
147
148 See: getLabelText/1.
149
150 getLabelText(Text) -> unicode:charlist()
151
152 Types:
153
154 Text = unicode:chardata()
155
156 Strips all accelerator characters and mnemonics from the given
157 text.
158
159 For example:
160
161 will return just "Hello".
162
163 See: getItemLabelText/1, getItemLabel/1
164
165 getText(This) -> unicode:charlist()
166
167 Types:
168
169 This = wxMenuItem()
170
171 See: getItemLabel/1.
172
173 getItemLabel(This) -> unicode:charlist()
174
175 Types:
176
177 This = wxMenuItem()
178
179 Returns the text associated with the menu item including any ac‐
180 celerator characters that were passed to the constructor or
181 setItemLabel/2.
182
183 See: getItemLabelText/1, getLabelText/1
184
185 getLabel(This) -> unicode:charlist()
186
187 Types:
188
189 This = wxMenuItem()
190
191 See: getItemLabelText/1.
192
193 getItemLabelText(This) -> unicode:charlist()
194
195 Types:
196
197 This = wxMenuItem()
198
199 Returns the text associated with the menu item, without any ac‐
200 celerator characters.
201
202 See: getItemLabel/1, getLabelText/1
203
204 getMenu(This) -> wxMenu:wxMenu()
205
206 Types:
207
208 This = wxMenuItem()
209
210 Returns the menu this menu item is in, or NULL if this menu item
211 is not attached.
212
213 getSubMenu(This) -> wxMenu:wxMenu()
214
215 Types:
216
217 This = wxMenuItem()
218
219 Returns the submenu associated with the menu item, or NULL if
220 there isn't one.
221
222 isCheckable(This) -> boolean()
223
224 Types:
225
226 This = wxMenuItem()
227
228 Returns true if the item is checkable.
229
230 Notice that the radio buttons are considered to be checkable as
231 well, so this method returns true for them too. Use IsCheck()
232 (not implemented in wx) if you want to test for the check items
233 only.
234
235 isChecked(This) -> boolean()
236
237 Types:
238
239 This = wxMenuItem()
240
241 Returns true if the item is checked.
242
243 isEnabled(This) -> boolean()
244
245 Types:
246
247 This = wxMenuItem()
248
249 Returns true if the item is enabled.
250
251 isSeparator(This) -> boolean()
252
253 Types:
254
255 This = wxMenuItem()
256
257 Returns true if the item is a separator.
258
259 isSubMenu(This) -> boolean()
260
261 Types:
262
263 This = wxMenuItem()
264
265 Returns true if the item is a submenu.
266
267 setBitmap(This, Bmp) -> ok
268
269 Types:
270
271 This = wxMenuItem()
272 Bmp = wxBitmap:wxBitmap()
273
274 Sets the bitmap for the menu item.
275
276 It is equivalent to wxMenuItem::SetBitmaps(bmp, wxNullBitmap) if
277 checked is true (default value) or SetBitmaps(wxNullBitmap, bmp)
278 otherwise.
279
280 setBitmap/2 must be called before the item is appended to the
281 menu, i.e. appending the item without a bitmap and setting one
282 later is not guaranteed to work. But the bitmap can be changed
283 or reset later if it had been set up initially.
284
285 Notice that GTK+ uses a global setting called gtk-menu-images to
286 determine if the images should be shown in the menus at all. If
287 it is off (which is the case in e.g. Gnome 2.28 by default), no
288 images will be shown, consistently with the native behaviour.
289
290 Only for:wxmsw,wxosx,wxgtk
291
292 setHelp(This, HelpString) -> ok
293
294 Types:
295
296 This = wxMenuItem()
297 HelpString = unicode:chardata()
298
299 Sets the help string.
300
301 setMenu(This, Menu) -> ok
302
303 Types:
304
305 This = wxMenuItem()
306 Menu = wxMenu:wxMenu()
307
308 Sets the parent menu which will contain this menu item.
309
310 setSubMenu(This, Menu) -> ok
311
312 Types:
313
314 This = wxMenuItem()
315 Menu = wxMenu:wxMenu()
316
317 Sets the submenu of this menu item.
318
319 setText(This, Label) -> ok
320
321 Types:
322
323 This = wxMenuItem()
324 Label = unicode:chardata()
325
326 See: setItemLabel/2.
327
328 setItemLabel(This, Label) -> ok
329
330 Types:
331
332 This = wxMenuItem()
333 Label = unicode:chardata()
334
335 Sets the label associated with the menu item.
336
337 Note that if the ID of this menu item corresponds to a stock ID,
338 then it is not necessary to specify a label: wxWidgets will au‐
339 tomatically use the stock item label associated with that ID.
340 See the new/1 for more info.
341
342 The label string for the normal menu items (not separators) may
343 include the accelerator which can be used to activate the menu
344 item from keyboard. An accelerator key can be specified using
345 the ampersand & character. In order to embed an ampersand char‐
346 acter in the menu item text, the ampersand must be doubled.
347
348 Optionally you can specify also an accelerator string appending
349 a tab character \t followed by a valid key combination (e.g.
350 CTRL+V). Its general syntax is any combination of "CTRL", "RAWC‐
351 TRL", "ALT" and "SHIFT" strings (case doesn't matter) separated
352 by either '-' or '+' characters and followed by the accelerator
353 itself. Notice that CTRL corresponds to the "Ctrl" key on most
354 platforms but not under macOS where it is mapped to "Cmd" key on
355 Mac keyboard. Usually this is exactly what you want in portable
356 code but if you really need to use the (rarely used for this
357 purpose) "Ctrl" key even under Mac, you may use RAWCTRL to pre‐
358 vent this mapping. Under the other platforms RAWCTRL is the same
359 as plain CTRL.
360
361 The accelerator may be any alphanumeric character, any function
362 key (from F1 to F12), any numpad digit key using KP_ prefix
363 (i.e. from KP_0 to KP_9) or one of the special strings listed
364 below (again, case doesn't matter) corresponding to the speci‐
365 fied key code:
366
367 Examples:
368
369 Note: In wxGTK using "SHIFT" with non-alphabetic characters cur‐
370 rently doesn't work, even in combination with other modifiers,
371 due to GTK+ limitation. E.g. Shift+Ctrl+A works but Shift+Ctrl+1
372 or Shift+/ do not, so avoid using accelerators of this form in
373 portable code.
374
375 Note: In wxGTk, the left/right/up/down arrow keys do not work as
376 accelerator keys for a menu item unless a modifier key is used.
377 Additionally, the following keycodes are not supported as menu
378 accelerator keys:
379
380 See: getItemLabel/1, getItemLabelText/1
381
382
383
384wxWidgets team. wx 2.1 wxMenuItem(3)