X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7a11869dde55ba034e280fd7a764872c8de642cf..c2bbeff0048b6f02bf1ef41edc6c7a3ce148f907:/include/wx/msw/accel.h?ds=inline diff --git a/include/wx/msw/accel.h b/include/wx/msw/accel.h index 2f2c013a10..7d07af2c57 100644 --- a/include/wx/msw/accel.h +++ b/include/wx/msw/accel.h @@ -1,81 +1,58 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: accel.h +// Name: wx/msw/accel.h // Purpose: wxAcceleratorTable class // Author: Julian Smart // Modified by: // 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" +// ---------------------------------------------------------------------------- +// the accel table has all accelerators for a given window or menu +// ---------------------------------------------------------------------------- -class WXDLLEXPORT wxAcceleratorTable; - -// Hold Ctrl key down -#define wxACCEL_ALT 0x01 - -// Hold Ctrl key down -#define wxACCEL_CTRL 0x02 - - // Hold Shift key down -#define wxACCEL_SHIFT 0x04 - - // Hold no other key -#define wxACCEL_NORMAL 0x00 - -class WXDLLEXPORT wxAcceleratorEntry +class WXDLLEXPORT wxAcceleratorTable : public wxObject { public: - wxAcceleratorEntry(int flags = 0, int keyCode = 0, int cmd = 0) - { - m_flags = flags; m_keyCode = keyCode; m_command = cmd; - } + // default ctor + wxAcceleratorTable(); - inline void Set(int flags, int keyCode, int cmd) - { m_flags = flags; m_keyCode = keyCode; m_command = cmd; } + // copy ctor + wxAcceleratorTable(const wxAcceleratorTable& accel) { Ref(accel); } - inline int GetFlags() const { return m_flags; } - inline int GetKeyCode() const { return m_keyCode; } - inline int GetCommand() const { return m_command; } + // load from .rc resource (Windows specific) + wxAcceleratorTable(const wxString& resource); - int m_flags; - int m_keyCode; // ASCII or virtual keycode - int m_command; // Command id to generate -}; + // initialize from array + wxAcceleratorTable(int n, const wxAcceleratorEntry entries[]); -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 - - // Copy constructors - inline wxAcceleratorTable(const wxAcceleratorTable& accel) { Ref(accel); } - inline wxAcceleratorTable(const wxAcceleratorTable* accel) { if (accel) Ref(*accel); } - - ~wxAcceleratorTable(); + virtual ~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; } + wxAcceleratorTable& operator = (const wxAcceleratorTable& accel) { if ( *this != accel ) Ref(accel); return *this; } + bool operator==(const wxAcceleratorTable& accel) const + { return m_refData == accel.m_refData; } // FIXME: this is wrong (VZ) + bool operator!=(const wxAcceleratorTable& accel) const + { return !(*this == accel); } - bool Ok(void) const; + bool Ok() const; void SetHACCEL(WXHACCEL hAccel); WXHACCEL GetHACCEL() const; -}; -WXDLLEXPORT_DATA(extern wxAcceleratorTable) wxNullAcceleratorTable; + // translate the accelerator, return TRUE if done + bool Translate(wxWindow *window, WXMSG *msg) const; + +private: + DECLARE_DYNAMIC_CLASS(wxAcceleratorTable) +}; #endif // _WX_ACCEL_H_