X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/717a57c2fabb054c8f00dc5dae70df1d03cfe532..135b23b266fffceb26b29d832c7d25db99038d0d:/include/wx/msw/menuitem.h diff --git a/include/wx/msw/menuitem.h b/include/wx/msw/menuitem.h index df414512df..4efe3b98b7 100644 --- a/include/wx/msw/menuitem.h +++ b/include/wx/msw/menuitem.h @@ -6,16 +6,12 @@ // 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__ - #pragma interface "menuitem.h" -#endif - // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- @@ -28,45 +24,76 @@ // wxMenuItem: an item in the menu, optionally implements owner-drawn behaviour // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxMenuItem : public wxMenuItemBase +class WXDLLIMPEXP_CORE wxMenuItem : public wxMenuItemBase #if wxUSE_OWNER_DRAWN , public wxOwnerDrawn #endif { public: // ctor & dtor - wxMenuItem(wxMenu *parentMenu = (wxMenu *)NULL, + wxMenuItem(wxMenu *parentMenu = NULL, int id = wxID_SEPARATOR, const wxString& name = wxEmptyString, const wxString& help = wxEmptyString, - bool isCheckable = FALSE, - wxMenu *subMenu = (wxMenu *)NULL); + wxItemKind kind = wxITEM_NORMAL, + wxMenu *subMenu = NULL); virtual ~wxMenuItem(); // override base class virtuals - virtual void SetText(const wxString& strName); - virtual wxString GetLabel() const; + virtual void SetItemLabel(const wxString& strName); virtual void SetCheckable(bool checkable); - virtual void Enable(bool bDoEnable = TRUE); - virtual void Check(bool bDoCheck = TRUE); + virtual void Enable(bool bDoEnable = true); + virtual void Check(bool bDoCheck = true); virtual bool IsChecked() const; -#if wxUSE_ACCEL - virtual wxAcceleratorEntry *GetAccel() const; -#endif // wxUSE_ACCEL - // unfortunately needed to resolve ambiguity between // wxMenuItemBase::IsCheckable() and wxOwnerDrawn::IsCheckable() bool IsCheckable() 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() const; + // menu handle depending on what we are + // + // notice that it also returns the id as an unsigned int, as required by + // Win32 API + WXWPARAM GetMSWId() const; + + // mark item as belonging to the given radio group + void SetAsRadioGroupStart(); + void SetRadioGroupStart(int start); + void SetRadioGroupEnd(int end); + +#if WXWIN_COMPATIBILITY_2_8 + // compatibility only, don't use in new code + wxDEPRECATED( + wxMenuItem(wxMenu *parentMenu, + int id, + const wxString& text, + const wxString& help, + bool isCheckable, + wxMenu *subMenu = NULL) + ); +#endif 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