]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/accel.h
More initial reviews of [u*-v*] interface headers.
[wxWidgets.git] / interface / accel.h
index 15232f981e89705ad5198214ee245e508b99cd22..276373333047e57d6094639e48807a87b3268f23 100644 (file)
@@ -42,11 +42,6 @@ enum wxAcceleratorEntryFlags
 class wxAcceleratorEntry
 {
 public:
-    /**
-        Default ctor.
-    */
-    wxAcceleratorEntry();
-
     /**
         Constructor.
 
@@ -56,9 +51,17 @@ public:
         @param keyCode
             The keycode to be detected. See @ref page_keycodes for a full list of keycodes.
         @param cmd
-            The menu or control command identifier.
+            The menu or control command identifier (ID).
+        @param item
+            The menu item associated with this accelerator.
     */
-    wxAcceleratorEntry(int flags, int keyCode, int cmd);
+    wxAcceleratorEntry(int flags = 0, int keyCode = 0, int cmd = 0,
+                       wxMenuItem *item = NULL);
+
+    /**
+        Copy ctor.
+    */
+    wxAcceleratorEntry(const wxAcceleratorEntry& entry);
 
     /**
         Returns the command identifier for the accelerator table entry.
@@ -75,19 +78,53 @@ public:
     */
     int GetKeyCode() const;
 
+    /**
+        Returns the menu item associated with this accelerator entry.
+    */
+    wxMenuItem *GetMenuItem() const;
+
     /**
         Sets the accelerator entry parameters.
-        
+
         @param flags
             A combination of the wxAcceleratorEntryFlags values, which
             indicates which modifier keys are held down.
         @param keyCode
             The keycode to be detected. See @ref page_keycodes for a full list of keycodes.
         @param cmd
-            The menu or control command identifier.
+            The menu or control command identifier (ID).
+        @param item
+            The menu item associated with this accelerator.
+    */
+    void Set(int flags, int keyCode, int cmd, wxMenuItem *item = NULL);
 
+    /**
+        Returns @true if this object is correctly initialized.
+    */
+    bool IsOk() const;
+
+    /**
+        Returns a wxString for this accelerator.
+        This function formats it using the @c "flags-keycode" format
+        where @c flags maybe a hyphen-separed list of @c "shift|alt|ctrl".
     */
-    void Set(int flags, int keyCode, int cmd);
+    wxString ToString() const;
+
+    /**
+        Parses the given string and sets the accelerator accordingly.
+
+        @param str
+            Should be a string in the form "flags-keycode"
+
+        @returns @true if the given string correctly initialized this object
+                 (i.e. if IsOk() returns true after this call)
+    */
+    bool FromString(const wxString& str);
+
+
+    wxAcceleratorEntry& operator=(const wxAcceleratorEntry& entry);
+    bool operator==(const wxAcceleratorEntry& entry) const;
+    bool operator!=(const wxAcceleratorEntry& entry) const;
 };
 
 
@@ -136,24 +173,21 @@ public:
     */
     wxAcceleratorTable();
 
-    /**
-        Copy ctor.
-    */
-    wxAcceleratorTable(const wxAcceleratorTable& bitmap);
-
     /**
         Initializes the accelerator table from an array of wxAcceleratorEntry.
-        
+
         @param n
             Number of accelerator entries.
         @param entries
             The array of entries.
     */
-    wxAcceleratorTable(int n, wxAcceleratorEntry entries[]);
+    wxAcceleratorTable(int n, const wxAcceleratorEntry entries[]);
 
     /**
         Loads the accelerator table from a Windows resource (Windows only).
-        
+
+        @onlyfor{wxmsw}
+
         @param resource
             Name of a Windows accelerator.
     */
@@ -163,20 +197,12 @@ public:
         Destroys the wxAcceleratorTable object.
         See @ref overview_refcount_destruct for more info.
     */
-    ~wxAcceleratorTable();
+    virtual ~wxAcceleratorTable();
 
     /**
         Returns @true if the accelerator table is valid.
     */
     bool IsOk() const;
-
-    /**
-        Assignment operator, using @ref overview_refcount "reference counting".
-        
-        @param accel
-            Accelerator table to assign.
-    */
-    wxAcceleratorTable operator =(const wxAcceleratorTable& accel);
 };