// 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;
};
//-----------------------------------------------------------------------------
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);
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;
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
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__