]> git.saurik.com Git - wxWidgets.git/blob - include/wx/os2/accel.h
Added WX_DEFINE_*_USER_EXPORTED_ARRAY macros for external dlls.
[wxWidgets.git] / include / wx / os2 / accel.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: accel.h
3 // Purpose: wxAcceleratorTable class
4 // Author: David Webster
5 // Modified by:
6 // Created: 10/13/99
7 // RCS-ID: $Id$
8 // Copyright: (c) David Webster
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_ACCEL_H_
13 #define _WX_ACCEL_H_
14
15 #include "wx/object.h"
16
17 class 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
31 class WXDLLEXPORT wxAcceleratorTable: public wxObject
32 {
33 DECLARE_DYNAMIC_CLASS(wxAcceleratorTable)
34 public:
35 wxAcceleratorTable();
36 wxAcceleratorTable(const wxString& rsResource); // Load from .rc resource
37 wxAcceleratorTable( int n
38 ,wxAcceleratorEntry vaEntries[]
39 ); // Load from array
40
41 // Copy constructors
42 inline wxAcceleratorTable(const wxAcceleratorTable& rAccel) { Ref(rAccel); }
43 inline wxAcceleratorTable(const wxAcceleratorTable* pAccel) { if (pAccel) Ref(*pAccel); }
44
45 ~wxAcceleratorTable();
46
47 inline wxAcceleratorTable& operator = (const wxAcceleratorTable& rAccel)
48 { if (*this == rAccel) return (*this); Ref(rAccel); return *this; };
49 inline bool operator == (const wxAcceleratorTable& rAccel)
50 { return m_refData == rAccel.m_refData; };
51 inline bool operator != (const wxAcceleratorTable& rAccel)
52 { return m_refData != rAccel.m_refData; };
53
54 bool Ok() const;
55 void SetHACCEL(WXHACCEL hAccel);
56 WXHACCEL GetHACCEL(void) const;
57
58 // translate the accelerator, return TRUE if done
59 bool Translate( WXHWND hWnd
60 ,WXMSG* pMsg
61 ) const;
62 };
63
64 WXDLLEXPORT_DATA(extern wxAcceleratorTable) wxNullAcceleratorTable;
65
66 #endif
67 // _WX_ACCEL_H_