]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/menu.h
wxRadioBox fixed on mac
[wxWidgets.git] / include / wx / menu.h
index cf5e6b3f93ff395a533101182a1707da308349b3..ca2e84ba20e79bc375b0a2e8a2223cce4bdb539c 100644 (file)
@@ -32,8 +32,8 @@ class WXDLLEXPORT wxMenuBar;
 class WXDLLEXPORT wxMenuItem;
 
 // pseudo template list classes
 class WXDLLEXPORT wxMenuItem;
 
 // pseudo template list classes
-WX_DECLARE_LIST(wxMenu, wxMenuList);
-WX_DECLARE_LIST(wxMenuItem, wxMenuItemList);
+WX_DECLARE_EXPORTED_LIST(wxMenu, wxMenuList);
+WX_DECLARE_EXPORTED_LIST(wxMenuItem, wxMenuItemList);
 
 // ----------------------------------------------------------------------------
 // conditional compilation
 
 // ----------------------------------------------------------------------------
 // conditional compilation
@@ -102,6 +102,59 @@ public:
 
     // insert an item before given position
     bool Insert(size_t pos, wxMenuItem *item);
 
     // insert an item before given position
     bool Insert(size_t pos, wxMenuItem *item);
+    void Insert(size_t pos,
+                int id,
+                const wxString& text,
+                const wxString& help = wxEmptyString,
+                bool isCheckable = FALSE)
+    {
+        Insert(pos, wxMenuItem::New((wxMenu *)this, id, text, help, isCheckable));
+    }
+
+    // insert a separator
+    void InsertSeparator(size_t pos)
+    {
+        Insert(pos, wxMenuItem::New((wxMenu *)this));
+    }
+
+    // insert a submenu
+    void Insert(size_t pos,
+                int id,
+                const wxString& text,
+                wxMenu *submenu,
+                const wxString& help = wxEmptyString)
+    {
+        Insert(pos, wxMenuItem::New((wxMenu *)this, id, text, help, FALSE, submenu));
+    }
+
+    // prepend an item to the menu
+    void Prepend(wxMenuItem *item)
+    {
+        Insert(0u, item);
+    }
+
+    void Prepend(int id,
+                 const wxString& text,
+                 const wxString& help = wxEmptyString,
+                 bool isCheckable = FALSE)
+    {
+        Insert(0u, id, text, help, isCheckable);
+    }
+
+    // insert a separator
+    void PrependSeparator()
+    {
+        InsertSeparator(0u);
+    }
+
+    // insert a submenu
+    void Prepend(int id,
+                 const wxString& text,
+                 wxMenu *submenu,
+                 const wxString& help = wxEmptyString)
+    {
+        Insert(0u, id, text, submenu, help);
+    }
 
     // detach an item from the menu, but don't delete it so that it can be
     // added back later (but if it's not, the caller is responsible for
 
     // detach an item from the menu, but don't delete it so that it can be
     // added back later (but if it's not, the caller is responsible for
@@ -298,7 +351,7 @@ public:
     virtual wxMenuItem* FindItem(int id, wxMenu **menu = NULL) const = 0;
 
     // find menu by its caption, return wxNOT_FOUND on failure
     virtual wxMenuItem* FindItem(int id, wxMenu **menu = NULL) const = 0;
 
     // find menu by its caption, return wxNOT_FOUND on failure
-    int FindMenu(const wxString& title);
+    int FindMenu(const wxString& title) const;
 
     // item access
     // -----------
 
     // item access
     // -----------