]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/accel.h
Added wxAccelerators (sort of)
[wxWidgets.git] / include / wx / gtk / accel.h
diff --git a/include/wx/gtk/accel.h b/include/wx/gtk/accel.h
new file mode 100644 (file)
index 0000000..44bfd04
--- /dev/null
@@ -0,0 +1,106 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        accel.h
+// Purpose:     wxAcceleratorTable class
+// Author:      Robert
+// Modified by:
+// RCS-ID:      
+// Copyright:   (c) Robert Roebling
+// Licence:    wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef __GTKACCELH__
+#define __GTKACCELH__
+
+#ifdef __GNUG__
+#pragma interface "accel.h"
+#endif
+
+#include "wx/defs.h"
+#include "wx/object.h"
+#include "wx/event.h"
+
+//-----------------------------------------------------------------------------
+// classes
+//-----------------------------------------------------------------------------
+
+class wxAcceleratorEntry;
+class wxAcceleratorTable;
+
+//-----------------------------------------------------------------------------
+// constants
+//-----------------------------------------------------------------------------
+
+extern wxAcceleratorTable wxNullAcceleratorTable;
+
+//-----------------------------------------------------------------------------
+// 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
+
+//-----------------------------------------------------------------------------
+// wxAcceleratorEntry
+//-----------------------------------------------------------------------------
+
+class wxAcceleratorEntry
+{
+  public:
+
+    wxAcceleratorEntry(int flags = 0, int keyCode = 0, int cmd = 0)
+      { m_flags = flags; m_keyCode = keyCode; m_command = cmd; }
+
+    inline 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  m_flags;
+    int  m_keyCode; // ASCII or virtual keycode
+    int  m_command; // Command id to generate
+};
+
+//-----------------------------------------------------------------------------
+// wxAcceleratorTable
+//-----------------------------------------------------------------------------
+
+class wxAcceleratorTable: public wxObject
+{
+  DECLARE_DYNAMIC_CLASS(wxAcceleratorTable)
+  
+  public:
+    wxAcceleratorTable();
+    wxAcceleratorTable(int n, wxAcceleratorEntry entries[] );
+    ~wxAcceleratorTable();
+
+    inline wxAcceleratorTable(const wxAcceleratorTable& accel) 
+      { Ref(accel); }
+    inline wxAcceleratorTable(const wxAcceleratorTable* accel) 
+      { if (accel) Ref(*accel); }
+    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; }
+
+    bool Ok() const;
+    
+//  private:
+  
+    int GetCommand( wxKeyEvent &event ); 
+    
+};
+
+#endif