X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c50f1fb9226d9260454ccb9c8a67d0be23c2827f..d11e8786ed13b72766eea18cb577cc00f9f08f41:/include/wx/msw/accel.h?ds=sidebyside diff --git a/include/wx/msw/accel.h b/include/wx/msw/accel.h index d985b652ff..a2c82dea1e 100644 --- a/include/wx/msw/accel.h +++ b/include/wx/msw/accel.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: accel.h +// Name: wx/msw/accel.h // Purpose: wxAcceleratorTable class // Author: Julian Smart // Modified by: @@ -12,92 +12,50 @@ #ifndef _WX_ACCEL_H_ #define _WX_ACCEL_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "accel.h" #endif -#include "wx/object.h" - -class WXDLLEXPORT wxAcceleratorTable; - -// ---------------------------------------------------------------------------- -// constants -// ---------------------------------------------------------------------------- - -// 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 - -// ---------------------------------------------------------------------------- -// an entry in wxAcceleratorTable corresponds to one accelerator -// ---------------------------------------------------------------------------- - -class WXDLLEXPORT wxAcceleratorEntry -{ -public: - wxAcceleratorEntry(int flags = 0, int keyCode = 0, int cmd = 0) - { - Set(flags, keyCode, cmd); - } - - void Set(int flags, int keyCode, int cmd) - { - m_flags = flags; m_keyCode = keyCode; m_command = cmd; - } - - int GetFlags() const { return m_flags; } - int GetKeyCode() const { return m_keyCode; } - int GetCommand() const { return m_command; } - -//private: - int m_flags; - int m_keyCode; // ASCII or virtual keycode - int m_command; // Command id to generate -}; - // ---------------------------------------------------------------------------- // 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, const wxAcceleratorEntry entries[]); // Load from array + // default ctor + wxAcceleratorTable() : wxObject() { } - // Copy constructors - wxAcceleratorTable(const wxAcceleratorTable& accel) - { Ref(accel); } + // copy ctor + wxAcceleratorTable(const wxAcceleratorTable& accel) : wxObject(accel) { Ref(accel); } - ~wxAcceleratorTable(); + // load from .rc resource (Windows specific) + wxAcceleratorTable(const wxString& resource); - wxAcceleratorTable& operator = (const wxAcceleratorTable& accel) - { if ( *this != accel ) Ref(accel); return *this; } + // initialize from array + wxAcceleratorTable(int n, const wxAcceleratorEntry entries[]); - bool operator == (const wxAcceleratorTable& accel) const - { return m_refData == accel.m_refData; } - bool operator != (const wxAcceleratorTable& accel) const - { return m_refData != accel.m_refData; } + wxAcceleratorTable& operator=(const wxAcceleratorTable& accel) + { + if ( *this != accel ) + Ref(accel); + return *this; + } + + bool operator==(const wxAcceleratorTable& accel) const; + bool operator!=(const wxAcceleratorTable& accel) const + { return !(*this == accel); } bool Ok() const; void SetHACCEL(WXHACCEL hAccel); WXHACCEL GetHACCEL() const; - // translate the accelerator, return TRUE if done + // translate the accelerator, return true if done bool Translate(wxWindow *window, WXMSG *msg) const; -}; -WXDLLEXPORT_DATA(extern wxAcceleratorTable) wxNullAcceleratorTable; +private: + DECLARE_DYNAMIC_CLASS(wxAcceleratorTable) +}; #endif // _WX_ACCEL_H_