]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/accel.h
Fix up NSSlider code to not use class posing and instantiate the proper type (now...
[wxWidgets.git] / include / wx / accel.h
index 02135de643e80a2acbeca845849ffa042face1c5..025b51b375f5013a805be2def8b4da5dbad6cd8a 100644 (file)
@@ -18,9 +18,9 @@
 
 #include "wx/object.h"
 
-class WXDLLEXPORT wxAcceleratorTable;
-class WXDLLEXPORT wxMenuItem;
-class WXDLLEXPORT wxKeyEvent;
+class WXDLLIMPEXP_FWD_CORE wxAcceleratorTable;
+class WXDLLIMPEXP_FWD_CORE wxMenuItem;
+class WXDLLIMPEXP_FWD_CORE wxKeyEvent;
 
 // ----------------------------------------------------------------------------
 // constants
@@ -62,6 +62,10 @@ public:
         , m_item(entry.m_item)
         { }
 
+    // create accelerator corresponding to the specified string, return NULL if
+    // string couldn't be parsed or a pointer to be deleted by the caller
+    static wxAcceleratorEntry *Create(const wxString& str);
+
     wxAcceleratorEntry& operator=(const wxAcceleratorEntry& entry)
     {
         Set(entry.m_flags, entry.m_keyCode, entry.m_command, entry.m_item);
@@ -117,10 +121,14 @@ public:
 
     // returns true if the given string correctly initialized this object
     // (i.e. if IsOk() returns true after this call)
-    bool FromString(const wxString &str);
+    bool FromString(const wxStringstr);
 
 
 private:
+    // common part of Create() and FromString()
+    static bool ParseAccel(const wxString& str, int *flags, int *keycode);
+
+
     int m_flags;    // combination of wxACCEL_XXX constants
     int m_keyCode;  // ASCII or virtual keycode
     int m_command;  // Command id to generate
@@ -129,7 +137,7 @@ private:
     wxMenuItem *m_item;
 
     // for compatibility with old code, use accessors now!
-    friend class WXDLLEXPORT wxMenu;
+    friend class WXDLLIMPEXP_FWD_CORE wxMenu;
 };
 
 // ----------------------------------------------------------------------------