]> git.saurik.com Git - wxWidgets.git/blame - include/wx/os2/accel.h
Replaced typedef with #define for VC++ 1.5, to prevent 'no constructor' error
[wxWidgets.git] / include / wx / os2 / accel.h
CommitLineData
0e320a79
DW
1/////////////////////////////////////////////////////////////////////////////
2// Name: accel.h
3// Purpose: wxAcceleratorTable class
d88de032 4// Author: David Webster
0e320a79 5// Modified by:
d88de032 6// Created: 10/13/99
0e320a79 7// RCS-ID: $Id$
d88de032
DW
8// Copyright: (c) David Webster
9// Licence: wxWindows licence
0e320a79
DW
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_ACCEL_H_
13#define _WX_ACCEL_H_
14
0e320a79 15#include "wx/object.h"
0e320a79
DW
16
17class WXDLLEXPORT wxAcceleratorTable;
18
19// Hold Ctrl key down
20#define wxACCEL_ALT 0x01
21
22// Hold Ctrl key down
23#define wxACCEL_CTRL 0x02
24
25 // Hold Shift key down
26#define wxACCEL_SHIFT 0x04
27
28 // Hold no key down
29#define wxACCEL_NORMAL 0x00
30
31class WXDLLEXPORT wxAcceleratorEntry
32{
33public:
34 wxAcceleratorEntry(int flags = 0, int keyCode = 0, int cmd = 0)
35 {
36 m_flags = flags; m_keyCode = keyCode; m_command = cmd;
37 }
38
39 inline void Set(int flags, int keyCode, int cmd)
40 { m_flags = flags; m_keyCode = keyCode; m_command = cmd; }
41
42 inline int GetFlags() const { return m_flags; }
43 inline int GetKeyCode() const { return m_keyCode; }
44 inline int GetCommand() const { return m_command; }
45
46 int m_flags;
47 int m_keyCode; // ASCII or virtual keycode
48 int m_command; // Command id to generate
49};
50
51class WXDLLEXPORT wxAcceleratorTable: public wxObject
52{
53DECLARE_DYNAMIC_CLASS(wxAcceleratorTable)
54public:
55 wxAcceleratorTable();
f6bcfd97
BP
56 wxAcceleratorTable(const wxString& rsResource); // Load from .rc resource
57 wxAcceleratorTable( int n
58 ,wxAcceleratorEntry vaEntries[]
59 ); // Load from array
0e320a79
DW
60
61 // Copy constructors
f6bcfd97
BP
62 inline wxAcceleratorTable(const wxAcceleratorTable& rAccel) { Ref(rAccel); }
63 inline wxAcceleratorTable(const wxAcceleratorTable* pAccel) { if (pAccel) Ref(*pAccel); }
0e320a79
DW
64
65 ~wxAcceleratorTable();
66
f6bcfd97
BP
67 inline wxAcceleratorTable& operator = (const wxAcceleratorTable& rAccel)
68 { if (*this == rAccel) return (*this); Ref(rAccel); return *this; };
69 inline bool operator == (const wxAcceleratorTable& rAccel)
70 { return m_refData == rAccel.m_refData; };
71 inline bool operator != (const wxAcceleratorTable& rAccel)
72 { return m_refData != rAccel.m_refData; };
0e320a79
DW
73
74 bool Ok() const;
75f11ad7 75 void SetHACCEL(WXHACCEL hAccel);
f6bcfd97 76 WXHACCEL GetHACCEL(void) const;
75f11ad7
DW
77
78 // translate the accelerator, return TRUE if done
f6bcfd97
BP
79 bool Translate( WXHWND hWnd
80 ,WXMSG* pMsg
81 ) const;
0e320a79
DW
82};
83
84WXDLLEXPORT_DATA(extern wxAcceleratorTable) wxNullAcceleratorTable;
85
86#endif
87 // _WX_ACCEL_H_