]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/univ/checkbox.h
don't draw borders for bitmap buttons with wxBORDER_NONE style
[wxWidgets.git] / include / wx / univ / checkbox.h
index c7aa666d15e010fb4f927af7d4bbf89d7dde089d..aaa1dee61606f5dbd28fdeaeee80ea67a481be1e 100644 (file)
 #ifndef _WX_UNIV_CHECKBOX_H_
 #define _WX_UNIV_CHECKBOX_H_
 
 #ifndef _WX_UNIV_CHECKBOX_H_
 #define _WX_UNIV_CHECKBOX_H_
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma interface "univcheckbox.h"
-#endif
-
 #include "wx/button.h" // for wxStdButtonInputHandler
 
 // ----------------------------------------------------------------------------
 #include "wx/button.h" // for wxStdButtonInputHandler
 
 // ----------------------------------------------------------------------------
 // wxCheckBox
 // ----------------------------------------------------------------------------
 
 // wxCheckBox
 // ----------------------------------------------------------------------------
 
-// X11 headers may define this
-#ifdef Status
-#undef Status
-#endif
-
-class WXDLLEXPORT wxCheckBox : public wxCheckBoxBase
+class WXDLLIMPEXP_CORE wxCheckBox : public wxCheckBoxBase
 {
 public:
     // checkbox constants
 {
 public:
     // checkbox constants
@@ -54,7 +45,7 @@ public:
     {
         Status_Checked,
         Status_Unchecked,
     {
         Status_Checked,
         Status_Unchecked,
-        Status_Unknown,
+        Status_3rdState,
         Status_Max
     };
 
         Status_Max
     };
 
@@ -101,16 +92,23 @@ public:
     // overridden base class virtuals
     virtual bool IsPressed() const { return m_isPressed; }
 
     // overridden base class virtuals
     virtual bool IsPressed() const { return m_isPressed; }
 
-    virtual bool HasTransparentBackground() { return true; }
-    
-protected:
     virtual bool PerformAction(const wxControlAction& action,
                                long numArg = -1,
                                const wxString& strArg = wxEmptyString);
     virtual bool PerformAction(const wxControlAction& action,
                                long numArg = -1,
                                const wxString& strArg = wxEmptyString);
-    virtual void DoDraw(wxControlRenderer *renderer);
-    virtual wxSize DoGetBestClientSize() const;
 
     virtual bool CanBeHighlighted() const { return true; }
 
     virtual bool CanBeHighlighted() const { return true; }
+    virtual wxInputHandler *CreateStdInputHandler(wxInputHandler *handlerDef);
+    virtual wxInputHandler *DoGetStdInputHandler(wxInputHandler *handlerDef)
+    {
+        return CreateStdInputHandler(handlerDef);
+    }
+
+protected:
+    virtual void DoSet3StateValue(wxCheckBoxState WXUNUSED(state));
+    virtual wxCheckBoxState DoGet3StateValue() const;
+
+    virtual void DoDraw(wxControlRenderer *renderer);
+    virtual wxSize DoGetBestClientSize() const;
 
     // get the size of the bitmap using either the current one or the default
     // one (query renderer then)
 
     // get the size of the bitmap using either the current one or the default
     // one (query renderer then)
@@ -149,20 +147,4 @@ private:
     DECLARE_DYNAMIC_CLASS(wxCheckBox)
 };
 
     DECLARE_DYNAMIC_CLASS(wxCheckBox)
 };
 
-// ----------------------------------------------------------------------------
-// wxStdCheckboxInputHandler: handles the mouse events for the check and radio
-// boxes (handling the keyboard input is simple, but its handling differs a
-// lot between GTK and MSW, so a new class should be derived for this)
-// ----------------------------------------------------------------------------
-
-class WXDLLEXPORT wxStdCheckboxInputHandler : public wxStdButtonInputHandler
-{
-public:
-    wxStdCheckboxInputHandler(wxInputHandler *inphand);
-
-    // we have to override this one as wxStdButtonInputHandler version works
-    // only with the buttons
-    virtual bool HandleActivation(wxInputConsumer *consumer, bool activated);
-};
-
 #endif // _WX_UNIV_CHECKBOX_H_
 #endif // _WX_UNIV_CHECKBOX_H_