X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/110f32055efdffb06ab5c98fb45de2bb2b7a57d9..3794e8d6b0334503069b7c4e943c50841b63595f:/include/wx/msw/accel.h diff --git a/include/wx/msw/accel.h b/include/wx/msw/accel.h index 863af19f0d..d035b0aac4 100644 --- a/include/wx/msw/accel.h +++ b/include/wx/msw/accel.h @@ -6,20 +6,24 @@ // Created: 31/7/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_ACCEL_H_ #define _WX_ACCEL_H_ #ifdef __GNUG__ -#pragma interface "accel.h" + #pragma interface "accel.h" #endif #include "wx/object.h" class WXDLLEXPORT wxAcceleratorTable; +// ---------------------------------------------------------------------------- +// constants +// ---------------------------------------------------------------------------- + // Hold Ctrl key down #define wxACCEL_ALT 0x01 @@ -29,33 +33,47 @@ class WXDLLEXPORT wxAcceleratorTable; // Hold Shift key down #define wxACCEL_SHIFT 0x04 + // Hold no other key +#define wxACCEL_NORMAL 0x00 + +// ---------------------------------------------------------------------------- +// an entry in wxAcceleratorTable corresponds to one accelerator +// ---------------------------------------------------------------------------- + class WXDLLEXPORT wxAcceleratorEntry { public: wxAcceleratorEntry(int flags = 0, int keyCode = 0, int cmd = 0) { - m_flags = flags; m_keyCode = keyCode; m_command = cmd; + Set(flags, keyCode, cmd); } - inline void Set(int flags, int keyCode, int cmd) - { m_flags = flags; m_keyCode = keyCode; m_command = cmd; } + void Set(int flags, int keyCode, int cmd) + { + m_flags = flags; m_keyCode = keyCode; m_command = cmd; + } - inline int GetFlags() const { return m_flags; } - inline int GetKeyCode() const { return m_keyCode; } - inline int GetCommand() const { return m_command; } + int GetFlags() const { return m_flags; } + int GetKeyCode() const { return m_keyCode; } + int GetCommand() const { return m_command; } - int m_flags; - int m_keyCode; // ASCII or virtual keycode - int m_command; // Command id to generate +//private: + int m_flags; + int m_keyCode; // ASCII or virtual keycode + int m_command; // Command id to generate }; -class WXDLLEXPORT wxAcceleratorTable: public wxObject +// ---------------------------------------------------------------------------- +// the accel table has all accelerators for a given window or menu +// ---------------------------------------------------------------------------- + +class WXDLLEXPORT wxAcceleratorTable : public wxObject { DECLARE_DYNAMIC_CLASS(wxAcceleratorTable) public: wxAcceleratorTable(); wxAcceleratorTable(const wxString& resource); // Load from .rc resource - wxAcceleratorTable(int n, wxAcceleratorEntry entries[]); // Load from array + wxAcceleratorTable(int n, const wxAcceleratorEntry entries[]); // Load from array // Copy constructors inline wxAcceleratorTable(const wxAcceleratorTable& accel) { Ref(accel); } @@ -63,13 +81,16 @@ public: ~wxAcceleratorTable(); - inline wxAcceleratorTable& operator = (const wxAcceleratorTable& accel) { if (*this == accel) return (*this); Ref(accel); return *this; } - inline bool operator == (const wxAcceleratorTable& accel) { return m_refData == accel.m_refData; } - inline bool operator != (const wxAcceleratorTable& accel) { return m_refData != accel.m_refData; } + inline wxAcceleratorTable& operator = (const wxAcceleratorTable& accel) { if ( *this != accel ) Ref(accel); return *this; } + inline bool operator == (const wxAcceleratorTable& accel) const { return m_refData == accel.m_refData; } + inline bool operator != (const wxAcceleratorTable& accel) const { return m_refData != accel.m_refData; } - bool Ok(void) const; + bool Ok() const; void SetHACCEL(WXHACCEL hAccel); WXHACCEL GetHACCEL() const; + + // translate the accelerator, return TRUE if done + bool Translate(wxWindow *window, WXMSG *msg) const; }; WXDLLEXPORT_DATA(extern wxAcceleratorTable) wxNullAcceleratorTable;