]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/ribbon/buttonbar.h
Add support for toggle buttons to wxRibbonButtonBar.
[wxWidgets.git] / interface / wx / ribbon / buttonbar.h
index c209cf7146c392456e1d6648053077a3543ccaae..dd36d7c1b4e34a4f7293161b4c3d80ee4347b496 100644 (file)
@@ -78,10 +78,15 @@ enum wxRibbonButtonBarButtonState
     */
     wxRIBBON_BUTTONBAR_BUTTON_DISABLED          = 1 << 7,
     
+    /**
+        The button is a toggle button which is currently in the toggled state.
+    */
+    wxRIBBON_BUTTONBAR_BUTTON_TOGGLED           = 1 << 8,
+    
     /**
         A mask to extract button state from a combination of flags.
     */
-    wxRIBBON_BUTTONBAR_BUTTON_STATE_MASK        = 0xF8,
+    wxRIBBON_BUTTONBAR_BUTTON_STATE_MASK        = 0x1F8,
 };
 
 /**
@@ -190,6 +195,17 @@ public:
                 const wxBitmap& bitmap,
                 const wxString& help_string = wxEmptyString);
     
+    /**
+        Add a toggle button to the button bar (simple version).
+        
+        @see AddButton()
+    */
+    virtual wxRibbonButtonBarButtonBase* AddToggleButton(
+                int button_id,
+                const wxString& label,
+                const wxBitmap& bitmap,
+                const wxString& help_string = wxEmptyString);
+    
     /**
         Add a button to the button bar.
         
@@ -223,6 +239,7 @@ public:
             
         @see AddDropdownButton()
         @see AddHybridButton()
+        @see AddToggleButton()
     */
     virtual wxRibbonButtonBarButtonBase* AddButton(
                 int button_id,
@@ -267,13 +284,25 @@ public:
             @true to enable the button, @false to disable it.
     */
     virtual void EnableButton(int button_id, bool enable = true);
+    
+    /**
+        Set a toggle button to the checked or unchecked state.
+        
+        @param button_id
+            ID of the toggle button to manipulate.
+        @param checked
+            @true to set the button to the toggled/pressed/checked state,
+            @false to set it to the untoggled/unpressed/unchecked state.
+    */
+    virtual void ToggleButton(int button_id, bool checked);
 };
 
 /**
     @class wxRibbonButtonBarEvent
 
     Event used to indicate various actions relating to a button on a
-    wxRibbonButtonBar.
+    wxRibbonButtonBar. For toggle buttons, IsChecked() can be used to test
+    the state of the button.
 
     See wxRibbonButtonBar for available event types.