]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/univ/checkbox.h
Source changes needed to get MDI support compiling on OS X Cocoa, and a explicit...
[wxWidgets.git] / include / wx / univ / checkbox.h
index 029aacaa84c8fa440305df830fd14bdbe2b82ca8..aaa1dee61606f5dbd28fdeaeee80ea67a481be1e 100644 (file)
@@ -6,24 +6,20 @@
 // Created:     07.09.00
 // RCS-ID:      $Id$
 // Copyright:   (c) 2000 SciTech Software, Inc. (www.scitechsoft.com)
-// Licence:     wxWidgets licence
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 #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
 
 // ----------------------------------------------------------------------------
 // the actions supported by wxCheckBox
 // ----------------------------------------------------------------------------
 
-#define wxACTION_CHECKBOX_CHECK   _T("check")   // SetValue(TRUE)
-#define wxACTION_CHECKBOX_CLEAR   _T("clear")   // SetValue(FALSE)
+#define wxACTION_CHECKBOX_CHECK   _T("check")   // SetValue(true)
+#define wxACTION_CHECKBOX_CLEAR   _T("clear")   // SetValue(false)
 #define wxACTION_CHECKBOX_TOGGLE  _T("toggle")  // toggle the check state
 
 // additionally it accepts wxACTION_BUTTON_PRESS and RELEASE
 // 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
@@ -54,7 +45,7 @@ public:
     {
         Status_Checked,
         Status_Unchecked,
-        Status_Unknown,
+        Status_3rdState,
         Status_Max
     };
 
@@ -101,17 +92,24 @@ public:
     // 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 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;
 
-    virtual bool CanBeHighlighted() const { return TRUE; }
-
     // get the size of the bitmap using either the current one or the default
     // one (query renderer then)
     virtual wxSize GetBitmapSize() const;
@@ -149,20 +147,4 @@ private:
     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_