1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: interface of wxAccelerator* classes
4 // Author: wxWidgets team
6 // Licence: wxWindows license
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 wxString for this accelerator.
108 This function formats it using the @c "flags-keycode" format
109 where @c flags maybe a hyphen-separed list of @c "shift|alt|ctrl".
111 wxString
ToString() const;
114 Parses the given string and sets the accelerator accordingly.
117 Should be a string in the form "flags-keycode"
119 @return @true if the given string correctly initialized this object
120 (i.e. if IsOk() returns true after this call)
122 bool FromString(const wxString
& str
);
125 wxAcceleratorEntry
& operator=(const wxAcceleratorEntry
& entry
);
126 bool operator==(const wxAcceleratorEntry
& entry
) const;
127 bool operator!=(const wxAcceleratorEntry
& entry
) const;
132 @class wxAcceleratorTable
134 An accelerator table allows the application to specify a table of keyboard
135 shortcuts for menu or button commands.
137 The object ::wxNullAcceleratorTable is defined to be a table with no data, and
138 is the initial accelerator table for a window.
143 wxAcceleratorEntry entries[4];
144 entries[0].Set(wxACCEL_CTRL, (int) 'N', ID_NEW_WINDOW);
145 entries[1].Set(wxACCEL_CTRL, (int) 'X', wxID_EXIT);
146 entries[2].Set(wxACCEL_SHIFT, (int) 'A', ID_ABOUT);
147 entries[3].Set(wxACCEL_NORMAL, WXK_DELETE, wxID_CUT);
149 wxAcceleratorTable accel(4, entries);
150 frame->SetAcceleratorTable(accel);
154 An accelerator takes precedence over normal processing and can be a convenient
155 way to program some event handling. For example, you can use an accelerator table
156 to enable a dialog with a multi-line text control to accept CTRL-Enter as meaning
163 ::wxNullAcceleratorTable
165 @see wxAcceleratorEntry, wxWindow::SetAcceleratorTable
167 class wxAcceleratorTable
: public wxObject
173 wxAcceleratorTable();
176 Initializes the accelerator table from an array of wxAcceleratorEntry.
179 Number of accelerator entries.
181 The array of entries.
183 wxAcceleratorTable(int n
, const wxAcceleratorEntry entries
[]);
186 Loads the accelerator table from a Windows resource (Windows only).
191 Name of a Windows accelerator.
193 wxAcceleratorTable(const wxString
& resource
);
196 Destroys the wxAcceleratorTable object.
197 See @ref overview_refcount_destruct for more info.
199 virtual ~wxAcceleratorTable();
202 Returns @true if the accelerator table is valid.
208 // ============================================================================
209 // Global functions/macros
210 // ============================================================================
213 An empty accelerator table.
215 wxAcceleratorTable wxNullAcceleratorTable
;