1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: interface of wxAccelerator* classes
4 // Author: wxWidgets team
6 // Licence: wxWindows licence
7 /////////////////////////////////////////////////////////////////////////////
10 /** wxAcceleratorEntry flags */
11 enum wxAcceleratorEntryFlags
16 /** hold Alt key down */
19 /** hold Ctrl key down */
22 /** hold Shift key down */
25 /** Command key on OS X; identic to wxACCEL_CTRL on other platforms. */
31 @class wxAcceleratorEntry
33 An object used by an application wishing to create an accelerator table
34 (see wxAcceleratorTable).
39 @see wxAcceleratorTable, wxWindow::SetAcceleratorTable
41 class wxAcceleratorEntry
48 A combination of the ::wxAcceleratorEntryFlags values, which
49 indicates which modifier keys are held down.
51 The keycode to be detected. See ::wxKeyCode for a full list of keycodes.
53 The menu or control command identifier (ID).
55 The menu item associated with this accelerator.
57 wxAcceleratorEntry(int flags
= 0, int keyCode
= 0, int cmd
= 0,
58 wxMenuItem
*item
= NULL
);
63 wxAcceleratorEntry(const wxAcceleratorEntry
& entry
);
66 Returns the command identifier for the accelerator table entry.
68 int GetCommand() const;
71 Returns the flags for the accelerator table entry.
76 Returns the keycode for the accelerator table entry.
78 int GetKeyCode() const;
81 Returns the menu item associated with this accelerator entry.
83 wxMenuItem
*GetMenuItem() const;
86 Sets the accelerator entry parameters.
89 A combination of the ::wxAcceleratorEntryFlags values, which
90 indicates which modifier keys are held down.
92 The keycode to be detected. See ::wxKeyCode for a full list of keycodes.
94 The menu or control command identifier (ID).
96 The menu item associated with this accelerator.
98 void Set(int flags
, int keyCode
, int cmd
, wxMenuItem
*item
= NULL
);
101 Returns @true if this object is correctly initialized.
106 Returns a textual representation of this accelerator.
108 The returned string is of the form <code>[Alt+][Ctrl+][Shift+]Key</code>
109 where the modifier keys are present only if the corresponding flag is
112 wxString
ToString() const;
115 Parses the given string and sets the accelerator accordingly.
118 This string may be either in the same format as returned by
119 ToString(), i.e. contain the accelerator itself only, or have the
120 format of a full menu item text with i.e. <code>Label TAB
121 Accelerator</code>. In the latter case, the part of the string
122 before the TAB is ignored.
124 @return @true if the given string correctly initialized this object
125 (i.e. if IsOk() returns true after this call)
127 bool FromString(const wxString
& str
);
130 wxAcceleratorEntry
& operator=(const wxAcceleratorEntry
& entry
);
131 bool operator==(const wxAcceleratorEntry
& entry
) const;
132 bool operator!=(const wxAcceleratorEntry
& entry
) const;
137 @class wxAcceleratorTable
139 An accelerator table allows the application to specify a table of keyboard
140 shortcuts for menu or button commands.
142 The object ::wxNullAcceleratorTable is defined to be a table with no data, and
143 is the initial accelerator table for a window.
148 wxAcceleratorEntry entries[4];
149 entries[0].Set(wxACCEL_CTRL, (int) 'N', ID_NEW_WINDOW);
150 entries[1].Set(wxACCEL_CTRL, (int) 'X', wxID_EXIT);
151 entries[2].Set(wxACCEL_SHIFT, (int) 'A', ID_ABOUT);
152 entries[3].Set(wxACCEL_NORMAL, WXK_DELETE, wxID_CUT);
154 wxAcceleratorTable accel(4, entries);
155 frame->SetAcceleratorTable(accel);
159 An accelerator takes precedence over normal processing and can be a convenient
160 way to program some event handling. For example, you can use an accelerator table
161 to enable a dialog with a multi-line text control to accept CTRL-Enter as meaning
168 ::wxNullAcceleratorTable
170 @see wxAcceleratorEntry, wxWindow::SetAcceleratorTable
172 class wxAcceleratorTable
: public wxObject
178 wxAcceleratorTable();
181 Initializes the accelerator table from an array of wxAcceleratorEntry.
184 Number of accelerator entries.
186 The array of entries.
189 The wxPerl constructor accepts a list of either
190 Wx::AcceleratorEntry objects or references to 3-element arrays
191 [flags, keyCode, cmd] , like the parameters of
192 Wx::AcceleratorEntry::new.
195 wxAcceleratorTable(int n
, const wxAcceleratorEntry entries
[]);
198 Loads the accelerator table from a Windows resource (Windows only).
203 Name of a Windows accelerator.
205 wxAcceleratorTable(const wxString
& resource
);
208 Destroys the wxAcceleratorTable object.
209 See @ref overview_refcount_destruct for more info.
211 virtual ~wxAcceleratorTable();
214 Returns @true if the accelerator table is valid.
220 // ============================================================================
221 // Global functions/macros
222 // ============================================================================
225 An empty accelerator table.
227 wxAcceleratorTable wxNullAcceleratorTable
;