X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6463b9f5399b8670a0c74f2f8666bc2c9f37a406..a7689c49fe02c0c065facf736ab28b19f5997b7c:/include/wx/univ/checkbox.h?ds=sidebyside diff --git a/include/wx/univ/checkbox.h b/include/wx/univ/checkbox.h index b37ff5b637..8e12d7effa 100644 --- a/include/wx/univ/checkbox.h +++ b/include/wx/univ/checkbox.h @@ -12,19 +12,15 @@ #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_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,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_