]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/tglbtn.h
When handling accelerators in wxWebView make sure that we do not block right-alt...
[wxWidgets.git] / include / wx / msw / tglbtn.h
index 5a2984fb138baa67bd23038bdd2e8f3affd532a1..2050ced6dbf69df860dfef4eb5d182e5862ca903 100644 (file)
 
 #include "wx/bitmap.h"
 
 
 #include "wx/bitmap.h"
 
-//-----------------------------------------------------------------------------
-// wxBitmapToggleButton
-//-----------------------------------------------------------------------------
-
-
-class WXDLLIMPEXP_CORE wxBitmapToggleButton: public wxToggleButtonBase
+// Checkbox item (single checkbox)
+class WXDLLIMPEXP_CORE wxToggleButton : public wxToggleButtonBase
 {
 public:
 {
 public:
-    // construction/destruction
-    wxBitmapToggleButton() { Init(); }
-    wxBitmapToggleButton(wxWindow *parent,
+    wxToggleButton() { Init(); }
+    wxToggleButton(wxWindow *parent,
                    wxWindowID id,
                    wxWindowID id,
-                   const wxBitmap& label,
+                   const wxString& label,
                    const wxPoint& pos = wxDefaultPosition,
                    const wxSize& size = wxDefaultSize,
                    long style = 0,
                    const wxPoint& pos = wxDefaultPosition,
                    const wxSize& size = wxDefaultSize,
                    long style = 0,
@@ -37,52 +32,53 @@ public:
         Create(parent, id, label, pos, size, style, validator, name);
     }
 
         Create(parent, id, label, pos, size, style, validator, name);
     }
 
-    // Create the control
     bool Create(wxWindow *parent,
                 wxWindowID id,
     bool Create(wxWindow *parent,
                 wxWindowID id,
-                const wxBitmap& label,
+                const wxString& label,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxPoint& pos = wxDefaultPosition,
-                const wxSize& size = wxDefaultSize, long style = 0,
+                const wxSize& size = wxDefaultSize,
+                long style = 0,
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxCheckBoxNameStr);
 
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxCheckBoxNameStr);
 
-    // Get/set the value
-    void SetValue(bool state);
-    bool GetValue() const;
+    virtual void SetValue(bool value);
+    virtual bool GetValue() const ;
+
+    virtual bool MSWCommand(WXUINT param, WXWORD id);
+    virtual void Command(wxCommandEvent& event);
 
 
-    // Set the label
-    virtual void SetLabel(const wxString& label) { wxControl::SetLabel(label); }
-    virtual void SetLabel(const wxBitmap& label);
-    bool Enable(bool enable = true);
+    virtual State GetNormalState() const;
+
+    // returns true if the platform should explicitly apply a theme border
+    virtual bool CanApplyThemeBorder() const { return false; }
 
 protected:
 
 protected:
-    void Init();
+    virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
 
 
-    wxBitmap  m_bitmap;
-    wxBitmap  m_disabledBitmap;
-    bool      m_capturing;
-    bool      m_depressed,m_oldValue;
+    virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle = NULL) const;
 
 
-    void OnPaint(wxPaintEvent &event);
-    void OnMouse(wxMouseEvent &event);
-    void OnChar(wxKeyEvent &event);
-    void OnSize(wxSizeEvent &event);
+    void Init();
 
 
-    virtual wxSize DoGetBestSize() const;
+    // current state of the button (when owner-drawn)
+    bool m_state;
 
 private:
 
 private:
-    DECLARE_EVENT_TABLE()
-    DECLARE_DYNAMIC_CLASS(wxBitmapToggleButton)
+    DECLARE_DYNAMIC_CLASS_NO_COPY(wxToggleButton)
 };
 
 };
 
-// Checkbox item (single checkbox)
-class WXDLLIMPEXP_CORE wxToggleButton : public wxToggleButtonBase
+//-----------------------------------------------------------------------------
+// wxBitmapToggleButton
+//-----------------------------------------------------------------------------
+
+
+class WXDLLIMPEXP_CORE wxBitmapToggleButton: public wxToggleButton
 {
 public:
 {
 public:
-    wxToggleButton() {}
-    wxToggleButton(wxWindow *parent,
+    // construction/destruction
+    wxBitmapToggleButton() {}
+    wxBitmapToggleButton(wxWindow *parent,
                    wxWindowID id,
                    wxWindowID id,
-                   const wxString& label,
+                   const wxBitmap& label,
                    const wxPoint& pos = wxDefaultPosition,
                    const wxSize& size = wxDefaultSize,
                    long style = 0,
                    const wxPoint& pos = wxDefaultPosition,
                    const wxSize& size = wxDefaultSize,
                    long style = 0,
@@ -92,34 +88,23 @@ public:
         Create(parent, id, label, pos, size, style, validator, name);
     }
 
         Create(parent, id, label, pos, size, style, validator, name);
     }
 
+    // Create the control
     bool Create(wxWindow *parent,
                 wxWindowID id,
     bool Create(wxWindow *parent,
                 wxWindowID id,
-                const wxString& label,
+                const wxBitmap& label,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxPoint& pos = wxDefaultPosition,
-                const wxSize& size = wxDefaultSize,
-                long style = 0,
+                const wxSize& size = wxDefaultSize, long style = 0,
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxCheckBoxNameStr);
 
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxCheckBoxNameStr);
 
-    virtual void SetValue(bool value);
-    virtual bool GetValue() const ;
-
-    virtual void SetLabel(const wxString& label);
-
-    virtual bool MSWCommand(WXUINT param, WXWORD id);
-    virtual void Command(wxCommandEvent& event);
-
-    // returns true if the platform should explicitly apply a theme border
-    virtual bool CanApplyThemeBorder() const { return false; }
-
-protected:
-    virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
-    virtual wxSize DoGetBestSize() const;
-
-    virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle = NULL) const;
+    // deprecated synonym for SetBitmapLabel()
+    wxDEPRECATED_INLINE( void SetLabel(const wxBitmap& bitmap),
+       SetBitmapLabel(bitmap); )
+    // prevent virtual function hiding
+    virtual void SetLabel(const wxString& label) { wxToggleButton::SetLabel(label); }
 
 private:
 
 private:
-    DECLARE_DYNAMIC_CLASS_NO_COPY(wxToggleButton)
+    DECLARE_DYNAMIC_CLASS(wxBitmapToggleButton)
 };
 
 #endif // _WX_TOGGLEBUTTON_H_
 };
 
 #endif // _WX_TOGGLEBUTTON_H_