X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/655719367ac5e131d9642e5783f3ecf64d1a3385..6f405b31b201c0a01f96da26eac76bc8f74c0b30:/include/wx/univ/checkbox.h diff --git a/include/wx/univ/checkbox.h b/include/wx/univ/checkbox.h index b37ff5b637..aaa1dee616 100644 --- a/include/wx/univ/checkbox.h +++ b/include/wx/univ/checkbox.h @@ -12,18 +12,14 @@ #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 @@ -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_