X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3dfac9707a98b245370bdffdf3fd30def0122a8d..62991518a4d5b8a48b35e5ca7a56485721109ff5:/include/wx/msw/menuitem.h diff --git a/include/wx/msw/menuitem.h b/include/wx/msw/menuitem.h index eaced8f990..6cd72cb989 100644 --- a/include/wx/msw/menuitem.h +++ b/include/wx/msw/menuitem.h @@ -6,13 +6,13 @@ // Created: 11.11.97 // RCS-ID: $Id$ // Copyright: (c) 1998 Vadim Zeitlin -// Licence: wxWindows license +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// #ifndef _MENUITEM_H #define _MENUITEM_H -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "menuitem.h" #endif @@ -39,7 +39,7 @@ public: int id = wxID_SEPARATOR, const wxString& name = wxEmptyString, const wxString& help = wxEmptyString, - bool isCheckable = FALSE, + wxItemKind kind = wxITEM_NORMAL, wxMenu *subMenu = (wxMenu *)NULL); virtual ~wxMenuItem(); @@ -49,7 +49,7 @@ public: virtual void Enable(bool bDoEnable = TRUE); virtual void Check(bool bDoCheck = TRUE); - virtual void IsChecked() const; + virtual bool IsChecked() const; // unfortunately needed to resolve ambiguity between // wxMenuItemBase::IsCheckable() and wxOwnerDrawn::IsCheckable() @@ -60,11 +60,37 @@ public: // menu handle depending on what we're int GetRealId() const; - // delete the submenu - void DeleteSubMenu(); + // mark item as belonging to the given radio group + void SetAsRadioGroupStart(); + void SetRadioGroupStart(int start); + void SetRadioGroupEnd(int end); + + // compatibility only, don't use in new code + wxMenuItem(wxMenu *parentMenu, + int id, + const wxString& text, + const wxString& help, + bool isCheckable, + wxMenu *subMenu = (wxMenu *)NULL); private: - DECLARE_DYNAMIC_CLASS(wxMenuItem) + // common part of all ctors + void Init(); + + // the positions of the first and last items of the radio group this item + // belongs to or -1: start is the radio group start and is valid for all + // but first radio group items (m_isRadioGroupStart == FALSE), end is valid + // only for the first one + union + { + int start; + int end; + } m_radioGroup; + + // does this item start a radio group? + bool m_isRadioGroupStart; + + DECLARE_DYNAMIC_CLASS_NO_COPY(wxMenuItem) }; #endif //_MENUITEM_H