]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk1/menu.h
OnEnter/OnDragOver API update (compiles, links, somewhat runs under wxGTK)
[wxWidgets.git] / include / wx / gtk1 / menu.h
index f571fe084edf377de5056b88c869942b1a4d5a85..dfa05697189c8f6a64cc5370ed4319e2d9f23dc4 100644 (file)
@@ -93,10 +93,15 @@ public:
     // implementation only
     wxList& GetMenus() { return m_menus; }
 
+    void SetInvokingWindow( wxWindow *win );
+    void UnsetInvokingWindow( wxWindow *win );
+
     GtkAccelGroup   *m_accel;
     GtkItemFactory  *m_factory;
     wxList           m_menus;
     GtkWidget       *m_menubar;
+    long             m_style;
+    wxWindow        *m_invokingWindow;
 };
 
 //-----------------------------------------------------------------------------
@@ -108,15 +113,26 @@ class wxMenu : public wxEvtHandler
     DECLARE_DYNAMIC_CLASS(wxMenu)
 
 public:
-    wxMenu( const wxString& title = wxEmptyString,
-            const wxFunction func = (wxFunction) NULL );
+    wxMenu( const wxString& title, const wxFunction func)
+    {
+        Init(title, 0, func);
+    }
+    wxMenu( long style )
+    {
+        Init( wxEmptyString, style );
+    }
+    wxMenu( const wxString& title = wxEmptyString, long style = 0 )
+    {
+        Init(title, style);
+    }
+
     ~wxMenu();
 
-    // operations
-        // title
+    // title
     void SetTitle(const wxString& label);
     const wxString GetTitle() const;
-        // menu creation
+    
+    // menu creation
     void AppendSeparator();
     void Append(int id, const wxString &item,
                 const wxString &helpStr = "", bool checkable = FALSE);
@@ -125,6 +141,9 @@ public:
     void Append(wxMenuItem *pItem);
     void Break() { }
 
+    // delete item. don't delete the wxMenu if it's a submenu
+    void Delete( int id );
+
     // find item by name/id
     int FindItem( const wxString itemString ) const;
     wxMenuItem *FindItem( int id ) const;
@@ -159,13 +178,16 @@ public:
 
     wxMenuItem *FindItemForId( int id ) const { return FindItem( id ); }
 
-#ifdef WXWIN_COMPATIBILITY
     wxFunction GetCallback() const { return m_callback; }
     void Callback(const wxFunction func) { m_callback = func; }
+    wxFunction m_callback;
+
+#ifdef WXWIN_COMPATIBILITY
 
     // compatibility: these functions are deprecated
     bool Enabled(int id) const { return IsEnabled(id); }
     bool Checked(int id) const { return IsChecked(id); }
+
 #endif // WXWIN_COMPATIBILITY
 
     // implementation
@@ -179,14 +201,21 @@ public:
     GtkAccelGroup   *m_accel;
     GtkItemFactory  *m_factory;
 
+    // used by wxMenuBar
+    long GetStyle(void) const { return m_style; }
+
 private:
+    // common code for both constructors:
+    void Init( const wxString& title,
+               long style, 
+               const wxFunction func = (wxFunction) NULL );
 
     wxString       m_title;
     wxList         m_items;
     wxWindow      *m_invokingWindow;
-    wxFunction     m_callback;
     wxEvtHandler  *m_eventHandler;
     void          *m_clientData;
+    long           m_style;
 };
 
 #endif // __GTKMENUH__