// Purpose: interface of wxMenu, wxMenuItem
// Author: wxWidgets team
// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
@onlyfor{wxmsw}
*/
- wxColour GetBackgroundColour() const;
+ wxColour& GetBackgroundColour() const;
/**
Returns the checked or unchecked bitmap.
@onlyfor{wxmsw}
*/
- wxFont GetFont() const;
+ wxFont& GetFont() const;
/**
Returns the help string associated with the menu item.
@onlyfor{wxmsw}
*/
- wxColour GetTextColour() const;
+ wxColour& GetTextColour() const;
//@}
@onlyfor{wxmsw}
*/
- void SetBackgroundColour(const wxColour& colour) const;
+ void SetBackgroundColour(const wxColour& colour);
/**
Sets the bitmap for the menu item.
@a checked is @true (default value) or SetBitmaps(wxNullBitmap, bmp)
otherwise.
+ SetBitmap() must be called before the item is appended to the menu,
+ i.e. appending the item without a bitmap and setting one later is not
+ guaranteed to work. But the bitmap can be changed or reset later if it
+ had been set up initially.
+
Notice that GTK+ uses a global setting called @c gtk-menu-images to
determine if the images should be shown in the menus at all. If it is
off (which is the case in e.g. Gnome 2.28 by default), no images will
/**
Sets the label associated with the menu item.
- Note that if the ID of this menu item corrisponds to a stock ID, then it is
+ Note that if the ID of this menu item corresponds to a stock ID, then it is
not necessary to specify a label: wxWidgets will automatically use the stock
item label associated with that ID. See the @ref wxMenuItem::wxMenuItem "constructor"
for more info.
Optionally you can specify also an accelerator string appending a tab character
<tt>\\t</tt> followed by a valid key combination (e.g. <tt>CTRL+V</tt>).
- Its general syntax is any combination of @c "CTRL", @c "ALT" and @c "SHIFT" strings
- (case doesn't matter) separated by either @c '-' or @c '+' characters and followed
- by the accelerator itself.
+ Its general syntax is any combination of @c "CTRL", @c "RAWCTRL", @c
+ "ALT" and @c "SHIFT" strings (case doesn't matter) separated by either
+ @c '-' or @c '+' characters and followed by the accelerator itself.
+ Notice that @c CTRL corresponds to the "Ctrl" key on most platforms but
+ not under Mac OS where it is mapped to "Cmd" key on Mac keyboard.
+ Usually this is exactly what you want in portable code but if you
+ really need to use the (rarely used for this purpose) "Ctrl" key even
+ under Mac, you may use @c RAWCTRL to prevent this mapping. Under the
+ other platforms @c RAWCTRL is the same as plain @c CTRL.
+
The accelerator may be any alphanumeric character, any function key
(from F1 to F12) or one of the special characters listed in the table
below (again, case doesn't matter):
- @c DEL or @c DELETE: Delete key
+ - @c BACK : Backspace key
- @c INS or @c INSERT: Insert key
- @c ENTER or @c RETURN: Enter key
- @c PGUP: PageUp key
m_pMyMenuItem3->SetItemLabel("Simple item");
m_pMyMenuItem4->SetItemLabel("Item with &accelerator");
@endcode
-
+
+ @note In wxGTK using @c "SHIFT" with non-alphabetic characters
+ currently doesn't work, even in combination with other modifiers, due
+ to GTK+ limitation. E.g. @c Shift+Ctrl+A works but @c Shift+Ctrl+1 or
+ @c Shift+/ do not, so avoid using accelerators of this form in portable
+ code.
+
@see GetItemLabel(), GetItemLabelText()
*/
virtual void SetItemLabel(const wxString& label);
@onlyfor{wxmsw}
*/
- void SetMarginWidth(int width) const;
+ void SetMarginWidth(int width);
/**
Sets the parent menu which will contain this menu item.