#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
{
Status_Checked,
Status_Unchecked,
- Status_Unknown,
+ Status_3rdState,
Status_Max
};
// constructors
- wxCheckBox();
+ wxCheckBox() { Init(); }
wxCheckBox(wxWindow *parent,
wxWindowID id,
const wxSize& size = wxDefaultSize,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
- const wxString& name = wxCheckBoxNameStr);
+ const wxString& name = wxCheckBoxNameStr)
+ {
+ Init();
+
+ Create(parent, id, label, pos, size, style, validator, name);
+ }
bool Create(wxWindow *parent,
wxWindowID id,
// 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;
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_