1 /////////////////////////////////////////////////////////////////////////////// 
   2 // Name:        wx/mac/carbon/menuitem.h 
   3 // Purpose:     wxMenuItem class 
   4 // Author:      Vadim Zeitlin 
   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 
= (wxMenu 
*)NULL
, 
  33                int id 
= wxID_SEPARATOR
, 
  34                const wxString
& name 
= wxEmptyString
, 
  35                const wxString
& help 
= wxEmptyString
, 
  36                wxItemKind kind 
= wxITEM_NORMAL
, 
  37                wxMenu 
*subMenu 
= (wxMenu 
*)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 
  77     void* m_menu 
; // the appropriate menu , may also be a system menu 
  79     wxMenuItemImpl
* m_peer
; 
  81     DECLARE_DYNAMIC_CLASS(wxMenuItem
)