X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f79bd02d8e266982041053fece8076abf89cd5d3..d642db66a5efc82d374b813022c72ba88bc50839:/include/wx/univ/checkbox.h diff --git a/include/wx/univ/checkbox.h b/include/wx/univ/checkbox.h index 7d41902227..8e12d7effa 100644 --- a/include/wx/univ/checkbox.h +++ b/include/wx/univ/checkbox.h @@ -6,25 +6,21 @@ // 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 "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_TOGGLE _T("toggle") // toggle the check state +#define wxACTION_CHECKBOX_CHECK wxT("check") // SetValue(true) +#define wxACTION_CHECKBOX_CLEAR wxT("clear") // SetValue(false) +#define wxACTION_CHECKBOX_TOGGLE wxT("toggle") // toggle the check state // additionally it accepts wxACTION_BUTTON_PRESS and RELEASE @@ -32,12 +28,7 @@ // 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,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; @@ -147,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_