1
///////////////////////////////////////////////////////////////////////////////
2
// Name: wx/osx/menuitem.h
3
// Purpose: wxMenuItem class
4
// Author: Vadim Zeitlin
7
// RCS-ID: $Id: menuitem.h 66904 2011-02-16 16:37:24Z SC $
8
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
9
// Licence: wxWindows licence
10
///////////////////////////////////////////////////////////////////////////////
15
// ----------------------------------------------------------------------------
17
// ----------------------------------------------------------------------------
20
#include "wx/bitmap.h"
22
// ----------------------------------------------------------------------------
23
// wxMenuItem: an item in the menu, optionally implements owner-drawn behaviour
24
// ----------------------------------------------------------------------------
26
class WXDLLIMPEXP_FWD_CORE wxMenuItemImpl ;
28
class WXDLLIMPEXP_CORE wxMenuItem: public wxMenuItemBase
32
wxMenuItem(wxMenu *parentMenu = NULL,
33
int id = wxID_SEPARATOR,
34
const wxString& name = wxEmptyString,
35
const wxString& help = wxEmptyString,
36
wxItemKind kind = wxITEM_NORMAL,
37
wxMenu *subMenu = NULL);
38
virtual ~wxMenuItem();
40
// override base class virtuals
41
virtual void SetItemLabel(const wxString& strName);
43
virtual void Enable(bool bDoEnable = true);
44
virtual void Check(bool bDoCheck = true);
46
virtual void SetBitmap(const wxBitmap& bitmap) ;
47
virtual const wxBitmap& GetBitmap() const { return m_bitmap; }
49
// update the os specific representation
50
void UpdateItemBitmap() ;
51
void UpdateItemText() ;
52
void UpdateItemStatus() ;
54
// mark item as belonging to the given radio group
55
void SetAsRadioGroupStart();
56
void SetRadioGroupStart(int start);
57
void SetRadioGroupEnd(int end);
59
wxMenuItemImpl* GetPeer() { return m_peer; }
63
// the positions of the first and last items of the radio group this item
64
// belongs to or -1: start is the radio group start and is valid for all
65
// but first radio group items (m_isRadioGroupStart == FALSE), end is valid
66
// only for the first one
73
// does this item start a radio group?
74
bool m_isRadioGroupStart;
76
wxBitmap m_bitmap; // Bitmap for menuitem, if any
78
wxMenuItemImpl* m_peer;
80
DECLARE_DYNAMIC_CLASS(wxMenuItem)