1/////////////////////////////////////////////////////////////////////////////// 2// Name: wx/mac/carbon/menuitem.h 3// Purpose: wxMenuItem class 4// Author: Vadim Zeitlin 5// Modified by: 6// Created: 11.11.97 7// RCS-ID: $Id: menuitem.h 48053 2007-08-13 17:07:01Z JS $ 8// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr> 9// Licence: wxWindows licence 10/////////////////////////////////////////////////////////////////////////////// 11 12#ifndef _MENUITEM_H 13#define _MENUITEM_H 14 15// ---------------------------------------------------------------------------- 16// headers 17// ---------------------------------------------------------------------------- 18 19#include "wx/defs.h" 20#include "wx/bitmap.h" 21 22// ---------------------------------------------------------------------------- 23// wxMenuItem: an item in the menu, optionally implements owner-drawn behaviour 24// ---------------------------------------------------------------------------- 25class WXDLLEXPORT wxMenuItem: public wxMenuItemBase 26{ 27public: 28 // ctor & dtor 29 wxMenuItem(wxMenu *parentMenu = (wxMenu *)NULL, 30 int id = wxID_SEPARATOR, 31 const wxString& name = wxEmptyString, 32 const wxString& help = wxEmptyString, 33 wxItemKind kind = wxITEM_NORMAL, 34 wxMenu *subMenu = (wxMenu *)NULL); 35 virtual ~wxMenuItem(); 36 37 // override base class virtuals 38 virtual void SetText(const wxString& strName); 39 40 virtual void Enable(bool bDoEnable = true); 41 virtual void Check(bool bDoCheck = true); 42 43 virtual void SetBitmap(const wxBitmap& bitmap) ; 44 virtual const wxBitmap& GetBitmap() const { return m_bitmap; } 45 46 // update the os specific representation 47 void UpdateItemBitmap() ; 48 void UpdateItemText() ; 49 void UpdateItemStatus() ; 50 51 void DoUpdateItemBitmap( WXHMENU menu, wxUint16 index) ; 52 53 // mark item as belonging to the given radio group 54 void SetAsRadioGroupStart(); 55 void SetRadioGroupStart(int start); 56 void SetRadioGroupEnd(int end); 57 58private: 59 void UncheckRadio() ; 60 61 // the positions of the first and last items of the radio group this item 62 // belongs to or -1: start is the radio group start and is valid for all 63 // but first radio group items (m_isRadioGroupStart == FALSE), end is valid 64 // only for the first one 65 union 66 { 67 int start; 68 int end; 69 } m_radioGroup; 70 71 // does this item start a radio group? 72 bool m_isRadioGroupStart; 73 74 wxBitmap m_bitmap; // Bitmap for menuitem, if any 75 void* m_menu ; // the appropriate menu , may also be a system menu 76 77 DECLARE_DYNAMIC_CLASS(wxMenuItem) 78 79public: 80 81#if wxABI_VERSION >= 20805 82 // return the item label including any mnemonics and accelerators. 83 // This used to be called GetText. 84 wxString GetItemLabel() const { return GetText(); } 85#endif 86}; 87 88#endif //_MENUITEM_H 89