~brian-sidebotham/wxwidgets-cmake/wxpython-2.9.4

« back to all changes in this revision

Viewing changes to include/wx/osx/menuitem.h

  • Committer: Brian Sidebotham
  • Date: 2013-08-03 14:30:08 UTC
  • Revision ID: brian.sidebotham@gmail.com-20130803143008-c7806tkych1tp6fc
Initial import into Bazaar

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
///////////////////////////////////////////////////////////////////////////////
 
2
// Name:        wx/osx/menuitem.h
 
3
// Purpose:     wxMenuItem class
 
4
// Author:      Vadim Zeitlin
 
5
// Modified by:
 
6
// Created:     11.11.97
 
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
///////////////////////////////////////////////////////////////////////////////
 
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
// ----------------------------------------------------------------------------
 
25
 
 
26
class WXDLLIMPEXP_FWD_CORE wxMenuItemImpl ;
 
27
 
 
28
class WXDLLIMPEXP_CORE wxMenuItem: public wxMenuItemBase
 
29
{
 
30
public:
 
31
    // ctor & dtor
 
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();
 
39
 
 
40
    // override base class virtuals
 
41
    virtual void SetItemLabel(const wxString& strName);
 
42
 
 
43
    virtual void Enable(bool bDoEnable = true);
 
44
    virtual void Check(bool bDoCheck = true);
 
45
 
 
46
    virtual void SetBitmap(const wxBitmap& bitmap) ;
 
47
    virtual const wxBitmap& GetBitmap() const { return m_bitmap; }
 
48
 
 
49
    // update the os specific representation
 
50
    void UpdateItemBitmap() ;
 
51
    void UpdateItemText() ;
 
52
    void UpdateItemStatus() ;
 
53
 
 
54
    // mark item as belonging to the given radio group
 
55
    void SetAsRadioGroupStart();
 
56
    void SetRadioGroupStart(int start);
 
57
    void SetRadioGroupEnd(int end);
 
58
 
 
59
    wxMenuItemImpl* GetPeer() { return m_peer; }
 
60
private:
 
61
    void UncheckRadio() ;
 
62
 
 
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
 
67
    union
 
68
    {
 
69
        int start;
 
70
        int end;
 
71
    } m_radioGroup;
 
72
 
 
73
    // does this item start a radio group?
 
74
    bool m_isRadioGroupStart;
 
75
 
 
76
    wxBitmap  m_bitmap; // Bitmap for menuitem, if any
 
77
 
 
78
    wxMenuItemImpl* m_peer;
 
79
 
 
80
    DECLARE_DYNAMIC_CLASS(wxMenuItem)
 
81
};
 
82
 
 
83
#endif  //_MENUITEM_H