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

« back to all changes in this revision

Viewing changes to include/wx/gtk1/menu.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/gtk1/menu.h
 
3
// Purpose:
 
4
// Author:      Robert Roebling
 
5
// Id:          $Id: menu.h 66180 2010-11-17 05:57:21Z PC $
 
6
// Copyright:   (c) 1998 Robert Roebling, Julian Smart
 
7
// Licence:     wxWindows licence
 
8
/////////////////////////////////////////////////////////////////////////////
 
9
 
 
10
#ifndef __GTKMENUH__
 
11
#define __GTKMENUH__
 
12
 
 
13
//-----------------------------------------------------------------------------
 
14
// wxMenuBar
 
15
//-----------------------------------------------------------------------------
 
16
 
 
17
class WXDLLIMPEXP_CORE wxMenuBar : public wxMenuBarBase
 
18
{
 
19
public:
 
20
    // ctors
 
21
    wxMenuBar();
 
22
    wxMenuBar(long style);
 
23
    wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long style = 0);
 
24
    virtual ~wxMenuBar();
 
25
 
 
26
    // implement base class (pure) virtuals
 
27
    virtual bool Append( wxMenu *menu, const wxString &title );
 
28
    virtual bool Insert(size_t pos, wxMenu *menu, const wxString& title);
 
29
    virtual wxMenu *Replace(size_t pos, wxMenu *menu, const wxString& title);
 
30
    virtual wxMenu *Remove(size_t pos);
 
31
 
 
32
    virtual int FindMenuItem(const wxString& menuString,
 
33
                             const wxString& itemString) const;
 
34
    virtual wxMenuItem* FindItem( int id, wxMenu **menu = NULL ) const;
 
35
 
 
36
    virtual void EnableTop( size_t pos, bool flag );
 
37
    virtual void SetMenuLabel( size_t pos, const wxString& label );
 
38
    virtual wxString GetMenuLabel( size_t pos ) const;
 
39
 
 
40
    // common part of Append and Insert
 
41
    bool GtkAppend(wxMenu *menu, const wxString& title, int pos=-1);
 
42
 
 
43
    virtual void Attach(wxFrame *frame);
 
44
    virtual void Detach();
 
45
 
 
46
    GtkAccelGroup   *m_accel;
 
47
    GtkWidget       *m_menubar;
 
48
    long             m_style;
 
49
 
 
50
private:
 
51
    void Init(size_t n, wxMenu *menus[], const wxString titles[], long style);
 
52
 
 
53
    DECLARE_DYNAMIC_CLASS(wxMenuBar)
 
54
};
 
55
 
 
56
//-----------------------------------------------------------------------------
 
57
// wxMenu
 
58
//-----------------------------------------------------------------------------
 
59
 
 
60
class WXDLLIMPEXP_CORE wxMenu : public wxMenuBase
 
61
{
 
62
public:
 
63
    // ctors & dtor
 
64
    wxMenu(const wxString& title, long style = 0)
 
65
        : wxMenuBase(title, style) { Init(); }
 
66
 
 
67
    wxMenu(long style = 0) : wxMenuBase(style) { Init(); }
 
68
 
 
69
    virtual ~wxMenu();
 
70
 
 
71
    // implement base class virtuals
 
72
    virtual wxMenuItem* DoAppend(wxMenuItem *item);
 
73
    virtual wxMenuItem* DoInsert(size_t pos, wxMenuItem *item);
 
74
    virtual wxMenuItem* DoRemove(wxMenuItem *item);
 
75
 
 
76
    // Returns the title, with mnemonics translated to wx format
 
77
    wxString GetTitle() const;
 
78
 
 
79
    // TODO: virtual void SetTitle(const wxString& title);
 
80
 
 
81
    // implementation
 
82
    int FindMenuIdByMenuItem( GtkWidget *menuItem ) const;
 
83
 
 
84
    // implementation GTK only
 
85
    GtkWidget       *m_menu;  // GtkMenu
 
86
    GtkWidget       *m_owner;
 
87
    GtkAccelGroup   *m_accel;
 
88
 
 
89
private:
 
90
    // common code for all constructors:
 
91
    void Init();
 
92
 
 
93
    // common part of Append (if pos == -1)  and Insert
 
94
    bool GtkAppend(wxMenuItem *item, int pos=-1);
 
95
 
 
96
    GtkWidget *m_prevRadio;
 
97
 
 
98
    DECLARE_DYNAMIC_CLASS(wxMenu)
 
99
};
 
100
 
 
101
#endif
 
102
    // __GTKMENUH__