]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/tglbtn.h
Make storing non-trivial data in wxThreadSpecificInfo possible.
[wxWidgets.git] / interface / wx / tglbtn.h
index 4a679c7ee14fa2b56626037fac96c9268211deb2..d22a6744f9b27552b80a40214c9e8137e5c87960 100644 (file)
@@ -1,40 +1,42 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        tglbtn.h
 /////////////////////////////////////////////////////////////////////////////
 // Name:        tglbtn.h
-// Purpose:     interface of wxBitmapToggleButton
+// Purpose:     interface of wxBitmapToggleButton, wxToggleButton
 // Author:      wxWidgets team
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 
 /////////////////////////////////////////////////////////////////////////////
 
 
+wxEventType wxEVT_TOGGLEBUTTON;
+
 /**
     @class wxToggleButton
 /**
     @class wxToggleButton
-    @wxheader{tglbtn.h}
 
 
-    wxToggleButton is a button that stays pressed when clicked by the user. In
-    other words, it is similar to wxCheckBox in
-    functionality but looks like a wxButton.
+    wxToggleButton is a button that stays pressed when clicked by the user.
+    In other words, it is similar to wxCheckBox in functionality but looks like a wxButton.
 
     Since wxWidgets version 2.9.0 this control emits an update UI event.
 
 
     Since wxWidgets version 2.9.0 this control emits an update UI event.
 
-    You can see wxToggleButton in action in the sixth page of the
-    controls() sample.
+    You can see wxToggleButton in action in @ref page_samples_controls.
 
 
-    @beginEventTable{wxCommandEvent}
+    @beginEventEmissionTable{wxCommandEvent}
     @event{EVT_TOGGLEBUTTON(id, func)}
     @event{EVT_TOGGLEBUTTON(id, func)}
-           Handles a toggle button click event.
+        Handles a wxEVT_TOGGLEBUTTON event.
     @endEventTable
 
     @library{wxcore}
     @category{ctrl}
     @endEventTable
 
     @library{wxcore}
     @category{ctrl}
-    <!-- @appearance{togglebutton.png} -->
+    @appearance{togglebutton}
 
     @see wxCheckBox, wxButton, wxBitmapToggleButton
 */
 
     @see wxCheckBox, wxButton, wxBitmapToggleButton
 */
-class wxToggleButton : public wxControl
+class wxToggleButton : public wxAnyButton
 {
 public:
 {
 public:
-    //@{
+    /**
+      Default constructor.
+    */
+    wxToggleButton();
+
     /**
         Constructor, creating and showing a toggle button.
 
     /**
         Constructor, creating and showing a toggle button.
 
@@ -45,29 +47,27 @@ public:
         @param label
             Text to be displayed next to the toggle button.
         @param pos
         @param label
             Text to be displayed next to the toggle button.
         @param pos
-            Toggle button position. If wxDefaultPosition is specified then a
-        default position is chosen.
+            Toggle button position.
+            If ::wxDefaultPosition is specified then a default position is chosen.
         @param size
         @param size
-            Toggle button size. If wxDefaultSize is specified then a
-        default size is chosen.
+            Toggle button size.
+            If ::wxDefaultSize is specified then a default size is chosen.
         @param style
             Window style. See wxToggleButton.
         @param style
             Window style. See wxToggleButton.
-        @param validator
+        @param val
             Window validator.
         @param name
             Window name.
 
         @see Create(), wxValidator
     */
             Window validator.
         @param name
             Window name.
 
         @see Create(), wxValidator
     */
-    wxToggleButton();
     wxToggleButton(wxWindow* parent, wxWindowID id,
                    const wxString& label,
                    const wxPoint& pos = wxDefaultPosition,
                    const wxSize& size = wxDefaultSize,
                    long style = 0,
                    const wxValidator& val = wxDefaultValidator,
     wxToggleButton(wxWindow* parent, wxWindowID id,
                    const wxString& label,
                    const wxPoint& pos = wxDefaultPosition,
                    const wxSize& size = wxDefaultSize,
                    long style = 0,
                    const wxValidator& val = wxDefaultValidator,
-                   const wxString& name = "checkBox");
-    //@}
+                   const wxString& name = wxCheckBoxNameStr);
 
     /**
         Destructor, destroying the toggle button.
 
     /**
         Destructor, destroying the toggle button.
@@ -75,8 +75,8 @@ public:
     virtual ~wxToggleButton();
 
     /**
     virtual ~wxToggleButton();
 
     /**
-        Creates the toggle button for two-step construction. See wxToggleButton()
-        for details.
+        Creates the toggle button for two-step construction.
+        See wxToggleButton() for details.
     */
     bool Create(wxWindow* parent, wxWindowID id,
                 const wxString& label,
     */
     bool Create(wxWindow* parent, wxWindowID id,
                 const wxString& label,
@@ -84,61 +84,67 @@ public:
                 const wxSize& size = wxDefaultSize,
                 long style = 0,
                 const wxValidator& val = wxDefaultValidator,
                 const wxSize& size = wxDefaultSize,
                 long style = 0,
                 const wxValidator& val = wxDefaultValidator,
-                const wxString& name = "checkBox");
+                const wxString& name = wxCheckBoxNameStr);
 
     /**
         Gets the state of the toggle button.
 
         @return Returns @true if it is pressed, @false otherwise.
     */
 
     /**
         Gets the state of the toggle button.
 
         @return Returns @true if it is pressed, @false otherwise.
     */
-    bool GetValue() const;
+    virtual bool GetValue() const;
 
     /**
 
     /**
-        Sets the toggle button to the given state. This does not cause a
-        @c EVT_TOGGLEBUTTON event to be emitted.
+        Sets the toggle button to the given state.
+        This does not cause a @c EVT_TOGGLEBUTTON event to be emitted.
 
         @param state
             If @true, the button is pressed.
     */
 
         @param state
             If @true, the button is pressed.
     */
-    void SetValue(bool state);
+    virtual void SetValue(bool state);
 };
 
 
 /**
     @class wxBitmapToggleButton
 };
 
 
 /**
     @class wxBitmapToggleButton
-    @wxheader{tglbtn.h}
 
 
-    wxBitmapToggleButton is a wxToggleButton
-    that contains a bitmap instead of text.
+    wxBitmapToggleButton is a wxToggleButton that contains a bitmap instead of
+    text.
+
+    This class is not available in all ports currently (although it is
+    available in the major ones), test for @c wxHAS_BITMAPTOGGLEBUTTON to
+    determine whether it can be used (in addition for possibly testing for
+    @c wxUSE_TOGGLEBTN which can be set to 0 to explicitly disable support for
+    this class and wxToggleButton).
 
     This control emits an update UI event.
 
 
     This control emits an update UI event.
 
-    @beginEventTable{wxCommandEvent}
+    @beginEventEmissionTable{wxCommandEvent}
     @event{EVT_TOGGLEBUTTON(id, func)}
     @event{EVT_TOGGLEBUTTON(id, func)}
-           Handles a toggle button click event.
+        Handles a wxEVT_TOGGLEBUTTON event.
     @endEventTable
 
     @library{wxcore}
     @category{ctrl}
     @endEventTable
 
     @library{wxcore}
     @category{ctrl}
-    <!-- @appearance{bitmaptogglebutton.png} -->
 */
 */
-class wxBitmapToggleButton : public wxControl
+class wxBitmapToggleButton : public wxToggleButton
 {
 public:
 {
 public:
-    //@{
+    /**
+        Default constructor.
+    */
+    wxBitmapToggleButton();
+
     /**
         Constructor, creating and showing a toggle button with the bitmap @e label.
         Internally calls Create().
     */
     /**
         Constructor, creating and showing a toggle button with the bitmap @e label.
         Internally calls Create().
     */
-    wxBitmapToggleButton();
     wxBitmapToggleButton(wxWindow* parent, wxWindowID id,
                          const wxBitmap& label,
                          const wxPoint& pos = wxDefaultPosition,
                          const wxSize& size = wxDefaultSize,
                          long style = 0,
                          const wxValidator& val = wxDefaultValidator,
     wxBitmapToggleButton(wxWindow* parent, wxWindowID id,
                          const wxBitmap& label,
                          const wxPoint& pos = wxDefaultPosition,
                          const wxSize& size = wxDefaultSize,
                          long style = 0,
                          const wxValidator& val = wxDefaultValidator,
-                         const wxString& name = "checkBox");
-    //@}
+                         const wxString& name = wxCheckBoxNameStr);
 
     /**
         Create method for two-step construction.
 
     /**
         Create method for two-step construction.
@@ -149,7 +155,7 @@ public:
                 const wxSize& size = wxDefaultSize,
                 long style = 0,
                 const wxValidator& val = wxDefaultValidator,
                 const wxSize& size = wxDefaultSize,
                 long style = 0,
                 const wxValidator& val = wxDefaultValidator,
-                const wxString& name = "checkBox");
+                const wxString& name = wxCheckBoxNameStr);
 
     /**
         Gets the state of the toggle button.
 
     /**
         Gets the state of the toggle button.
@@ -159,8 +165,8 @@ public:
     virtual bool GetValue() const;
 
     /**
     virtual bool GetValue() const;
 
     /**
-        Sets the toggle button to the given state. This does not cause a
-        @c EVT_TOGGLEBUTTON event to be emitted.
+        Sets the toggle button to the given state.
+        This does not cause a @c EVT_TOGGLEBUTTON event to be emitted.
 
         @param state
             If @true, the button is pressed.
 
         @param state
             If @true, the button is pressed.