]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/menu.h
Refactored & cleaned up wxChoice & wxComboBox code, fixed client data
[wxWidgets.git] / include / wx / gtk / menu.h
index 07f1575111d81b77ee0b93401b965bd9fab5dbee..afc85c0a0c0a6d81bfff88c0d6f5be4f05259713 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef __GTKMENUH__
 #define __GTKMENUH__
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
     #pragma interface "menu.h"
 #endif
 
@@ -45,6 +45,9 @@ public:
     void SetInvokingWindow( wxWindow *win );
     void UnsetInvokingWindow( wxWindow *win );
 
+    // common part of Append and Insert
+    bool GtkAppend(wxMenu *menu, const wxString& title);
+
     GtkAccelGroup   *m_accel;
     GtkItemFactory  *m_factory;
     GtkWidget       *m_menubar;
@@ -77,13 +80,16 @@ public:
 
     // TODO: virtual void SetTitle(const wxString& title);
 
-#ifdef WXWIN_COMPATIBILITY
+    // compatibility only
+#if wxUSE_MENU_CALLBACK
     wxMenu(const wxString& title, const wxFunction func)
         : wxMenuBase(title)
     {
+        Init();
+
         Callback(func);
     }
-#endif // WXWIN_COMPATIBILITY
+#endif // WXWIN_COMPATIBILITY_2
 
     // implementation
     int FindMenuIdByMenuItem( GtkWidget *menuItem ) const;
@@ -98,6 +104,13 @@ private:
     // common code for all constructors:
     void Init();
 
+    // common part of Append and Insert
+    bool GtkAppend(wxMenuItem *item);
+
+    // if the last menu item was a radio one, this field contains its path,
+    // otherwise it is empty
+    wxString m_pathLastRadio;
+
     DECLARE_DYNAMIC_CLASS(wxMenu)
 };