#ifndef _WX_CHECKBOX_H_
#define _WX_CHECKBOX_H_
-#ifdef __GNUG__
-#pragma interface "checkbox.h"
-#endif
-
-#include "wx/control.h"
-
-WXDLLEXPORT_DATA(extern const char*) wxCheckBoxNameStr;
-
// Checkbox item (single checkbox)
-class WXDLLEXPORT wxBitmap;
-class WXDLLEXPORT wxCheckBox: public wxControl
-{
- DECLARE_DYNAMIC_CLASS(wxCheckBox)
-
- public:
- inline wxCheckBox() { }
- inline wxCheckBox(wxWindow *parent, wxWindowID id, const wxString& label,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize, long style = 0,
- const wxValidator& validator = wxDefaultValidator,
- const wxString& name = wxCheckBoxNameStr)
- {
- Create(parent, id, label, pos, size, style, validator, name);
- }
-
- bool Create(wxWindow *parent, wxWindowID id, const wxString& label,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize, long style = 0,
- const wxValidator& validator = wxDefaultValidator,
- const wxString& name = wxCheckBoxNameStr);
- virtual void SetValue(bool);
- virtual bool GetValue() const ;
- virtual void Command(wxCommandEvent& event);
-
-// Implementation
- virtual void ChangeFont(bool keepOriginalSize = TRUE);
- virtual void ChangeBackgroundColour();
- virtual void ChangeForegroundColour();
-};
-
-class WXDLLEXPORT wxBitmapCheckBox: public wxCheckBox
+class WXDLLEXPORT wxCheckBox: public wxCheckBoxBase
{
- DECLARE_DYNAMIC_CLASS(wxBitmapCheckBox)
-
+ DECLARE_DYNAMIC_CLASS(wxCheckBox)
+
public:
- int checkWidth;
- int checkHeight;
-
- inline wxBitmapCheckBox() { checkWidth = -1; checkHeight = -1; }
- inline wxBitmapCheckBox(wxWindow *parent, wxWindowID id, const wxBitmap *label,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize, long style = 0,
- const wxValidator& validator = wxDefaultValidator,
- const wxString& name = wxCheckBoxNameStr)
+ inline wxCheckBox() { Init(); }
+ inline wxCheckBox(wxWindow *parent, wxWindowID id, const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxCheckBoxNameStr)
{
+ Init();
+
Create(parent, id, label, pos, size, style, validator, name);
}
+
+ bool Create(wxWindow *parent, wxWindowID id, const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxCheckBoxNameStr);
+ virtual void SetValue(bool);
+ virtual bool GetValue() const ;
+ virtual void Command(wxCommandEvent& event);
+
+ // Implementation
+ virtual void ChangeBackgroundColour();
+private:
+ // common part of all constructors
+ void Init()
+ {
+ m_evtType = wxEVT_COMMAND_CHECKBOX_CLICKED;
+ }
- bool Create(wxWindow *parent, wxWindowID id, const wxBitmap *bitmap,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize, long style = 0,
- const wxValidator& validator = wxDefaultValidator,
- const wxString& name = wxCheckBoxNameStr);
-
- virtual void SetValue(bool value);
- virtual bool GetValue() const;
+ virtual void DoSet3StateValue(wxCheckBoxState state);
- virtual void SetLabel(const wxBitmap& bitmap);
- virtual void SetLabel(const wxString& label) { wxControl::SetLabel(label); };
+ virtual wxCheckBoxState DoGet3StateValue() const;
-protected:
- virtual void DoSetSize(int x, int y,
- int width, int height,
- int sizeFlags = wxSIZE_AUTO);
+ // public for the callback
+public:
+ // either exEVT_COMMAND_CHECKBOX_CLICKED or ..._TOGGLEBUTTON_CLICKED
+ wxEventType m_evtType;
};
+
#endif
- // _WX_CHECKBOX_H_
+// _WX_CHECKBOX_H_