]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/menuitem.h
Fix regression with wxHTML table elements background handling.
[wxWidgets.git] / interface / wx / menuitem.h
index fd170e5d5c5b0d75ed445aee357d96944f7e2125..6b103a3c1ac45a8d0732ce85d824a2a81b2e7509 100644 (file)
@@ -157,7 +157,7 @@ public:
         
         @onlyfor{wxmsw}
     */
-    wxColour GetBackgroundColour() const;
+    wxColour& GetBackgroundColour() const;
 
     /**
         Returns the checked or unchecked bitmap.
@@ -171,7 +171,7 @@ public:
         
         @onlyfor{wxmsw}
     */
-    wxFont GetFont() const;
+    wxFont& GetFont() const;
 
     /**
         Returns the help string associated with the menu item.
@@ -257,7 +257,7 @@ public:
         
         @onlyfor{wxmsw}
     */
-    wxColour GetTextColour() const;
+    wxColour& GetTextColour() const;
     
     //@}
     
@@ -307,7 +307,7 @@ public:
         
         @onlyfor{wxmsw}
     */
-    void SetBackgroundColour(const wxColour& colour) const;
+    void SetBackgroundColour(const wxColour& colour);
 
     /**
         Sets the bitmap for the menu item.
@@ -316,6 +316,11 @@ public:
         @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
@@ -349,7 +354,7 @@ public:
     /**
         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.
@@ -362,13 +367,21 @@ public:
         
         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
@@ -391,7 +404,13 @@ public:
         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);
@@ -401,7 +420,7 @@ public:
         
         @onlyfor{wxmsw}
     */
-    void SetMarginWidth(int width) const;
+    void SetMarginWidth(int width);
 
     /**
         Sets the parent menu which will contain this menu item.