X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/71908213057690d5452f72b2b9c8e62b53357170..13d4419b86d028b3e7e32b0f94cc45c40dd9551c:/include/wx/univ/checkbox.h diff --git a/include/wx/univ/checkbox.h b/include/wx/univ/checkbox.h index e7c6e2f65e..aaa1dee616 100644 --- a/include/wx/univ/checkbox.h +++ b/include/wx/univ/checkbox.h @@ -6,24 +6,20 @@ // Created: 07.09.00 // RCS-ID: $Id$ // Copyright: (c) 2000 SciTech Software, Inc. (www.scitechsoft.com) -// Licence: wxWindows license +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// #ifndef _WX_UNIV_CHECKBOX_H_ #define _WX_UNIV_CHECKBOX_H_ -#ifdef __GNUG__ - #pragma interface "checkbox.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 @@ -32,7 +28,7 @@ // wxCheckBox // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxCheckBox : public wxCheckBoxBase +class WXDLLIMPEXP_CORE wxCheckBox : public wxCheckBoxBase { public: // checkbox constants @@ -49,7 +45,7 @@ public: { Status_Checked, Status_Unchecked, - Status_Unknown, + Status_3rdState, Status_Max }; @@ -96,15 +92,24 @@ public: // overridden base class virtuals virtual bool IsPressed() const { return m_isPressed; } -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; @@ -142,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(wxControl *control, bool activated); -}; - #endif // _WX_UNIV_CHECKBOX_H_