root / import / ext3D / trunk / install-extension3d / launcher / izpack-launcher-1.3_linux / src / wx / include / wx / accel.h @ 15280
History | View | Annotate | Download (4.18 KB)
1 |
///////////////////////////////////////////////////////////////////////////////
|
---|---|
2 |
// Name: wx/accel.h
|
3 |
// Purpose: wxAcceleratorEntry and wxAcceleratorTable classes
|
4 |
// Author: Julian Smart, Robert Roebling, Vadim Zeitlin
|
5 |
// Modified by:
|
6 |
// Created: 31.05.01 (extracted from other files)
|
7 |
// RCS-ID: $Id: accel.h,v 1.1 2006/08/24 08:23:16 jmvivo Exp $
|
8 |
// Copyright: (c) wxWindows team
|
9 |
// Licence: wxWindows license
|
10 |
///////////////////////////////////////////////////////////////////////////////
|
11 |
|
12 |
#ifndef _WX_ACCEL_H_BASE_
|
13 |
#define _WX_ACCEL_H_BASE_
|
14 |
|
15 |
#include "wx/defs.h" |
16 |
|
17 |
#if wxUSE_ACCEL
|
18 |
|
19 |
#include "wx/object.h" |
20 |
|
21 |
class WXDLLEXPORT wxAcceleratorTable; |
22 |
class WXDLLEXPORT wxMenuItem; |
23 |
class WXDLLEXPORT wxKeyEvent; |
24 |
|
25 |
// ----------------------------------------------------------------------------
|
26 |
// constants
|
27 |
// ----------------------------------------------------------------------------
|
28 |
|
29 |
// wxAcceleratorEntry flags
|
30 |
enum
|
31 |
{ |
32 |
wxACCEL_NORMAL = 0x0000, // no modifiers |
33 |
wxACCEL_ALT = 0x0001, // hold Alt key down |
34 |
wxACCEL_CTRL = 0x0002, // hold Ctrl key down |
35 |
wxACCEL_SHIFT = 0x0004 // hold Shift key down |
36 |
}; |
37 |
|
38 |
// ----------------------------------------------------------------------------
|
39 |
// an entry in wxAcceleratorTable corresponds to one accelerator
|
40 |
// ----------------------------------------------------------------------------
|
41 |
|
42 |
class WXDLLEXPORT wxAcceleratorEntry |
43 |
{ |
44 |
public:
|
45 |
wxAcceleratorEntry(int flags = 0, int keyCode = 0, int cmd = 0, |
46 |
wxMenuItem *item = NULL)
|
47 |
: m_flags(flags) |
48 |
, m_keyCode(keyCode) |
49 |
, m_command(cmd) |
50 |
, m_item(item) |
51 |
{ } |
52 |
|
53 |
wxAcceleratorEntry(const wxAcceleratorEntry& entry)
|
54 |
: m_flags(entry.m_flags) |
55 |
, m_keyCode(entry.m_keyCode) |
56 |
, m_command(entry.m_command) |
57 |
, m_item(entry.m_item) |
58 |
{ } |
59 |
|
60 |
wxAcceleratorEntry& operator=(const wxAcceleratorEntry& entry)
|
61 |
{ |
62 |
Set(entry.m_flags, entry.m_keyCode, entry.m_command, entry.m_item); |
63 |
return *this;
|
64 |
} |
65 |
|
66 |
void Set(int flags, int keyCode, int cmd, wxMenuItem *item = NULL) |
67 |
{ |
68 |
m_flags = flags; |
69 |
m_keyCode = keyCode; |
70 |
m_command = cmd; |
71 |
m_item = item; |
72 |
} |
73 |
|
74 |
void SetMenuItem(wxMenuItem *item) { m_item = item; }
|
75 |
|
76 |
int GetFlags() const { return m_flags; } |
77 |
int GetKeyCode() const { return m_keyCode; } |
78 |
int GetCommand() const { return m_command; } |
79 |
|
80 |
wxMenuItem *GetMenuItem() const { return m_item; } |
81 |
|
82 |
bool operator==(const wxAcceleratorEntry& entry) const |
83 |
{ |
84 |
return m_flags == entry.m_flags &&
|
85 |
m_keyCode == entry.m_keyCode && |
86 |
m_command == entry.m_command && |
87 |
m_item == entry.m_item; |
88 |
} |
89 |
|
90 |
bool operator!=(const wxAcceleratorEntry& entry) const |
91 |
{ return !(*this == entry); }
|
92 |
|
93 |
#if defined(__WXMOTIF__)
|
94 |
// Implementation use only
|
95 |
bool MatchesEvent(const wxKeyEvent& event) const; |
96 |
#endif
|
97 |
|
98 |
private:
|
99 |
int m_flags; // combination of wxACCEL_XXX constants |
100 |
int m_keyCode; // ASCII or virtual keycode |
101 |
int m_command; // Command id to generate |
102 |
|
103 |
// the menu item this entry corresponds to, may be NULL
|
104 |
wxMenuItem *m_item; |
105 |
|
106 |
// for compatibility with old code, use accessors now!
|
107 |
friend class WXDLLEXPORT wxMenu; |
108 |
}; |
109 |
|
110 |
// ----------------------------------------------------------------------------
|
111 |
// include wxAcceleratorTable class declaration, it is only used by the library
|
112 |
// and so doesn't have any published user visible interface
|
113 |
// ----------------------------------------------------------------------------
|
114 |
|
115 |
#if defined(__WXUNIVERSAL__)
|
116 |
#include "wx/generic/accel.h" |
117 |
#elif defined(__WXMSW__)
|
118 |
#include "wx/msw/accel.h" |
119 |
#elif defined(__WXMOTIF__)
|
120 |
#include "wx/motif/accel.h" |
121 |
#elif defined(__WXGTK__)
|
122 |
#include "wx/gtk/accel.h" |
123 |
#elif defined(__WXMAC__)
|
124 |
#include "wx/mac/accel.h" |
125 |
#elif defined(__WXPM__)
|
126 |
#include "wx/os2/accel.h" |
127 |
#elif defined(__WXSTUBS__)
|
128 |
#include "wx/stubs/accel.h" |
129 |
#endif
|
130 |
|
131 |
WXDLLEXPORT_DATA(extern wxAcceleratorTable) wxNullAcceleratorTable;
|
132 |
|
133 |
#endif // wxUSE_ACCEL |
134 |
|
135 |
#endif
|
136 |
// _WX_ACCEL_H_BASE_
|