X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0e320a79f187558effb04d92020b470372bbe456..9ef63a4a59eccce6cd8787f0ed966bfa8365a22e:/include/wx/os2/menuitem.h diff --git a/include/wx/os2/menuitem.h b/include/wx/os2/menuitem.h index 9c912967f1..33a41cef62 100644 --- a/include/wx/os2/menuitem.h +++ b/include/wx/os2/menuitem.h @@ -2,7 +2,7 @@ // Name: menuitem.h // Purpose: wxMenuItem class // Author: Vadim Zeitlin -// Modified by: +// Modified by: // Created: 11.11.97 // RCS-ID: $Id$ // Copyright: (c) 1998 Vadim Zeitlin @@ -26,70 +26,56 @@ // headers - only because ownerdrw.h is not always included and I don't want // to write #ifdef's everywhere... #if wxUSE_OWNER_DRAWN -#include "wx/ownerdrw.h" + #include "wx/ownerdrw.h" #endif // ---------------------------------------------------------------------------- // constants // ---------------------------------------------------------------------------- -// id for a separator line in the menu (invalid for normal item) -#define ID_SEPARATOR (-1) - // ---------------------------------------------------------------------------- // wxMenuItem: an item in the menu, optionally implements owner-drawn behaviour // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxMenuItem: public wxObject +class WXDLLEXPORT wxMenuItem: public wxMenuItemBase #if wxUSE_OWNER_DRAWN , public wxOwnerDrawn #endif { -DECLARE_DYNAMIC_CLASS(wxMenuItem) - public: - // ctor & dtor - wxMenuItem(wxMenu *pParentMenu = NULL, int id = ID_SEPARATOR, - const wxString& strName = "", const wxString& wxHelp = "", - bool bCheckable = FALSE, wxMenu *pSubMenu = NULL); - virtual ~wxMenuItem(); - - // accessors (some more are inherited from wxOwnerDrawn or are below) - bool IsSeparator() const { return m_idItem == ID_SEPARATOR; } - bool IsEnabled() const { return m_bEnabled; } - bool IsChecked() const { return m_bChecked; } - - int GetId() const { return m_idItem; } - const wxString& GetHelp() const { return m_strHelp; } - wxMenu *GetSubMenu() const { return m_pSubMenu; } - - // operations - void SetName(const wxString& strName) { m_strName = strName; } - void SetHelp(const wxString& strHelp) { m_strHelp = strHelp; } - - void Enable(bool bDoEnable = TRUE); - void Check(bool bDoCheck = TRUE); - - void DeleteSubMenu(); + // ctor & dtor + wxMenuItem( wxMenu* pParentMenu = NULL + ,int nId = wxID_SEPARATOR + ,const wxString& rStrName = "" + ,const wxString& rWxHelp = "" + ,bool bCheckable = FALSE + ,wxMenu* pSubMenu = NULL + ); + virtual ~wxMenuItem(); + + // override base class virtuals + virtual void SetText(const wxString& rStrName); + virtual void SetCheckable(bool bCheckable); + + virtual void Enable(bool bDoEnable = TRUE); + virtual void Check(bool bDoCheck = TRUE); + virtual bool IsChecked(void) const; + + // unfortunately needed to resolve ambiguity between + // wxMenuItemBase::IsCheckable() and wxOwnerDrawn::IsCheckable() + bool IsCheckable(void) const { return wxMenuItemBase::IsCheckable(); } + + // the id for a popup menu is really its menu handle (as required by + // ::AppendMenu() API), so this function will return either the id or the + // menu handle depending on what we're + int GetRealId(void) const; + + // + // All OS/2PM Submenus and menus have one of these + // + MENUITEM m_vMenuData; private: - int m_idItem; // numeric id of the item - wxString m_strHelp; // associated help string - wxMenu *m_pSubMenu, // may be NULL - *m_pParentMenu; // menu this item is contained in - bool m_bEnabled, // enabled or greyed? - m_bChecked; // checked? (only if checkable) - -#if wxUSE_OWNER_DRAWN - // wxOwnerDrawn base class already has these variables - nothing to do - -#else //!owner drawn - bool m_bCheckable; // can be checked? - wxString m_strName; // name or label of the item - -public: - const wxString& GetName() const { return m_strName; } - bool IsCheckable() const { return m_bCheckable; } -#endif //owner drawn -}; + DECLARE_DYNAMIC_CLASS(wxMenuItem) +}; // end of CLASS wxMenuItem #endif //_MENUITEM_H