]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/accel.h
merge of RTL changes (with many modifications) from SOC2006_RTL branch
[wxWidgets.git] / include / wx / accel.h
index 262595461ff6f8b65cade3f80bfedebd32b9ff5f..02135de643e80a2acbeca845849ffa042face1c5 100644 (file)
@@ -32,7 +32,12 @@ enum
     wxACCEL_NORMAL  = 0x0000,   // no modifiers
     wxACCEL_ALT     = 0x0001,   // hold Alt key down
     wxACCEL_CTRL    = 0x0002,   // hold Ctrl key down
-    wxACCEL_SHIFT   = 0x0004    // hold Shift key down
+    wxACCEL_SHIFT   = 0x0004,   // hold Shift key down
+#if defined(__WXMAC__) || defined(__WXCOCOA__)
+    wxACCEL_CMD      = 0x0008   // Command key on OS X
+#else
+    wxACCEL_CMD      = wxACCEL_CTRL
+#endif
 };
 
 // ----------------------------------------------------------------------------
@@ -95,6 +100,26 @@ public:
     bool MatchesEvent(const wxKeyEvent& event) const;
 #endif
 
+    bool IsOk() const
+    {
+        return m_flags != 0 &&
+               m_keyCode != 0;
+    }
+
+
+    // string <-> wxAcceleratorEntry conversion
+    // ----------------------------------------
+
+    // returns a wxString for the this accelerator.
+    // this function formats it using the <flags>-<keycode> format
+    // where <flags> maybe a hyphen-separed list of "shift|alt|ctrl"
+    wxString ToString() const;
+
+    // returns true if the given string correctly initialized this object
+    // (i.e. if IsOk() returns true after this call)
+    bool FromString(const wxString &str);
+
+
 private:
     int m_flags;    // combination of wxACCEL_XXX constants
     int m_keyCode;  // ASCII or virtual keycode
@@ -118,8 +143,10 @@ private:
     #include "wx/msw/accel.h"
 #elif defined(__WXMOTIF__)
     #include "wx/motif/accel.h"
-#elif defined(__WXGTK__)
+#elif defined(__WXGTK20__)
     #include "wx/gtk/accel.h"
+#elif defined(__WXGTK__)
+    #include "wx/gtk1/accel.h"
 #elif defined(__WXMAC__)
     #include "wx/mac/accel.h"
 #elif defined(__WXCOCOA__)
@@ -128,7 +155,7 @@ private:
     #include "wx/os2/accel.h"
 #endif
 
-WXDLLEXPORT_DATA(extern wxAcceleratorTable) wxNullAcceleratorTable;
+extern WXDLLEXPORT_DATA(wxAcceleratorTable) wxNullAcceleratorTable;
 
 #endif // wxUSE_ACCEL