X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2d17d68f470c31f7c145b095eb1a3e0c2f581f30..82ea63e6e046652bc0799badd9d62f91c9918dbe:/include/wx/gtk/menuitem.h diff --git a/include/wx/gtk/menuitem.h b/include/wx/gtk/menuitem.h index 446498063b..54d91d04f1 100644 --- a/include/wx/gtk/menuitem.h +++ b/include/wx/gtk/menuitem.h @@ -14,77 +14,48 @@ #pragma interface #endif -#include "wx/defs.h" -#include "wx/string.h" - -// ---------------------------------------------------------------------------- -// constants -// ---------------------------------------------------------------------------- - -#define ID_SEPARATOR (-1) - -//----------------------------------------------------------------------------- -// classes -//----------------------------------------------------------------------------- - -class wxMenuItem; - -class wxMenu; - //----------------------------------------------------------------------------- // wxMenuItem //----------------------------------------------------------------------------- -class wxMenuItem: public wxObject +class wxMenuItem : public wxMenuItemBase { -DECLARE_DYNAMIC_CLASS(wxMenuItem) - public: - wxMenuItem(); + wxMenuItem(wxMenu *parentMenu = (wxMenu *)NULL, + int id = wxID_SEPARATOR, + const wxString& text = wxEmptyString, + const wxString& help = wxEmptyString, + bool isCheckable = FALSE, + wxMenu *subMenu = (wxMenu *)NULL); + ~wxMenuItem(); - // accessors - // id - void SetId(int id) { m_id = id; } - int GetId() const { return m_id; } - bool IsSeparator() const { return m_id == ID_SEPARATOR; } + // implement base class virtuals + virtual void SetText( const wxString& str ); + virtual void Enable( bool enable = TRUE ); + virtual void Check( bool check = TRUE ); + virtual bool IsChecked() const; - // the item's text = name - void SetName(const wxString& str); - void SetText(const wxString& str) { SetName(str); } // compatibility - const wxString& GetName() const { return m_text; } - const wxString& GetText() const { return GetName(); } +#if wxUSE_ACCEL + virtual wxAcceleratorEntry *GetAccel() const; +#endif // wxUSE_ACCEL - // what kind of menu item we are - void SetCheckable(bool checkable) { m_isCheckMenu = checkable; } - bool IsCheckable() const { return m_isCheckMenu; } - void SetSubMenu(wxMenu *menu) { m_subMenu = menu; } - wxMenu *GetSubMenu() const { return m_subMenu; } - bool IsSubMenu() const { return m_subMenu != NULL; } + // implementation + void SetMenuItem(GtkWidget *menuItem) { m_menuItem = menuItem; } + GtkWidget *GetMenuItem() const { return m_menuItem; } + wxString GetFactoryPath() const; - // state - void Enable( bool enable = TRUE ); - bool IsEnabled() const { return m_isEnabled; } - void Check( bool check = TRUE ); - bool IsChecked() const; + wxString GetHotKey() const { return m_hotKey; } - // help string (displayed in the status bar by default) - void SetHelp(const wxString& str) { m_helpStr = str; } - const wxString& GetHelp() const { return m_helpStr; } +private: + // DoSetText() transforms the accel mnemonics in our label from MSW/wxWin + // style to GTK+ and is called from ctor and SetText() + void DoSetText(const wxString& text); - // implementation - - void SetMenuItem(GtkWidget *menuItem) { m_menuItem = menuItem; } - GtkWidget *GetMenuItem() const { return m_menuItem; } + wxString m_hotKey; - int m_id; - wxString m_text; - bool m_isCheckMenu; - bool m_isChecked; - bool m_isEnabled; - wxMenu *m_subMenu; - wxString m_helpStr; + GtkWidget *m_menuItem; // GtkMenuItem - GtkWidget *m_menuItem; // GtkMenuItem + DECLARE_DYNAMIC_CLASS(wxMenuItem) };