]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/univ/tglbtn.h
activating DrawRectangle optimization
[wxWidgets.git] / include / wx / univ / tglbtn.h
index 31dabca60635f2eb1cffdd86d0728272de140f90..07b310cf30e110e45944d0206e94875d06c98665 100644 (file)
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        wx/univ/button.h
+// Name:        wx/univ/tglbtn.h
 // Purpose:     wxToggleButton for wxUniversal
 // Author:      Vadim Zeitlin
 // Modified by: David Bjorkevik
 #ifndef _WX_UNIV_TGLBTN_H_
 #define _WX_UNIV_TGLBTN_H_
 
-#include "wx/bitmap.h"
-
-extern WXDLLEXPORT_DATA(const wxChar) wxCheckBoxNameStr[];
-
-// ----------------------------------------------------------------------------
-// the actions supported by this control
-// ----------------------------------------------------------------------------
-
-#define wxACTION_BUTTON_TOGGLE  _T("toggle")    // press/release the button
-#define wxACTION_BUTTON_PRESS   _T("press")     // press the button
-#define wxACTION_BUTTON_RELEASE _T("release")   // release the button
-#define wxACTION_BUTTON_CLICK   _T("click")     // generate button click event
+#include "wx/button.h"
 
 // ----------------------------------------------------------------------------
 // wxToggleButton: a push button
 // ----------------------------------------------------------------------------
 
-class WXDLLIMPEXP_CORE wxToggleButton: public wxControl
+class WXDLLIMPEXP_CORE wxToggleButton: public wxButton
 {
 public:
-    wxToggleButton() { Init(); }
+    wxToggleButton();
+
     wxToggleButton(wxWindow *parent,
              wxWindowID id,
              const wxBitmap& bitmap,
@@ -41,13 +31,8 @@ public:
              const wxSize& size = wxDefaultSize,
              long style = 0,
              const wxValidator& validator = wxDefaultValidator,
-             const wxString& name = wxCheckBoxNameStr)
-    {
-        Init();
+             const wxString& name = wxCheckBoxNameStr);
 
-        Create(parent, id, bitmap, label, pos, size, style, validator, name);
-    }
-    
     wxToggleButton(wxWindow *parent,
              wxWindowID id,
              const wxString& label = wxEmptyString,
@@ -55,109 +40,31 @@ public:
              const wxSize& size = wxDefaultSize,
              long style = 0,
              const wxValidator& validator = wxDefaultValidator,
-             const wxString& name = wxCheckBoxNameStr)
-    {
-        Init();
-
-        Create(parent, id, label, pos, size, style, validator, name);
-    }
-
-    bool Create(wxWindow *parent,
-                wxWindowID id,
-                const wxString& label = wxEmptyString,
-                const wxPoint& pos = wxDefaultPosition,
-                const wxSize& size = wxDefaultSize,
-                long style = 0,
-                const wxValidator& validator = wxDefaultValidator,
-                const wxString& name = wxCheckBoxNameStr)
-    {
-        return Create(parent, id, wxNullBitmap, label,
-                      pos, size, style, validator, name);
-    }
-    
-    bool Create(wxWindow *parent,
-                wxWindowID id,
-                const wxBitmap& bitmap,
-                const wxString& label = wxEmptyString,
-                const wxPoint& pos = wxDefaultPosition,
-                const wxSize& size = wxDefaultSize,
-                long style = 0,
-                const wxValidator& validator = wxDefaultValidator,
-                const wxString& name = wxCheckBoxNameStr);
+             const wxString& name = wxCheckBoxNameStr);
 
     virtual ~wxToggleButton();
 
-    virtual void SetImageLabel(const wxBitmap& bitmap);
-    virtual void SetImageMargins(wxCoord x, wxCoord y);
-
     virtual bool IsPressed() const { return m_isPressed || m_value; }
 
     // wxToggleButton actions
-    void Toggle();
-    virtual void Press();
-    virtual void Release();
+    virtual void Toggle();
     virtual void Click();
 
     // Get/set the value
     void SetValue(bool state);
     bool GetValue() const { return m_value; }
 
-    // returns the default button size for this platform
-    static wxSize GetDefaultSize();
-
-    virtual bool PerformAction(const wxControlAction& action,
-                               long numArg = -1,
-                               const wxString& strArg = wxEmptyString);
-
-    virtual bool CanBeHighlighted() const { return true; }
-
 protected:
-    virtual wxSize DoGetBestClientSize() const;
-    
-    virtual bool DoDrawBackground(wxDC& dc);
-    virtual void DoDraw(wxControlRenderer *renderer);
-
-    // common part of all ctors
-    void Init();
+    virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
 
-    // current state - is the user currently pressing the button
-    bool m_isPressed;
-    
     // the current value
     bool m_value;
 
-    // the (optional) image to show and the margins around it
-    wxBitmap m_bitmap;
-    wxCoord  m_marginBmpX,
-             m_marginBmpY;
-
 private:
-    DECLARE_DYNAMIC_CLASS(wxToggleButton)
-};
-// wxStdToggleButtonInputHandler: translates SPACE and ENTER keys and the left mouse
-// click into button press/release actions
-// ----------------------------------------------------------------------------
-
-class WXDLLEXPORT wxStdToggleButtonInputHandler : public wxStdInputHandler
-{
-public:
-    wxStdToggleButtonInputHandler(wxInputHandler *inphand);
-
-    virtual bool HandleKey(wxInputConsumer *consumer,
-                           const wxKeyEvent& event,
-                           bool pressed);
-    virtual bool HandleMouse(wxInputConsumer *consumer,
-                             const wxMouseEvent& event);
-    virtual bool HandleMouseMove(wxInputConsumer *consumer, const wxMouseEvent& event);
-    virtual bool HandleFocus(wxInputConsumer *consumer, const wxFocusEvent& event);
-    virtual bool HandleActivation(wxInputConsumer *consumer, bool activated);
+    // common part of all ctors
+    void Init();
 
-private:
-    // the window (button) which has capture or NULL and the flag telling if
-    // the mouse is inside the button which captured it or not
-    wxWindow *m_winCapture;
-    bool      m_winHasMouse;
+    DECLARE_DYNAMIC_CLASS(wxToggleButton)
 };
 
 #endif // _WX_UNIV_TGLBTN_H_
-