// Purpose: interface of wxCheckBox
// Author: wxWidgets team
// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
+/*
+ * wxCheckBox style flags
+ * (Using wxCHK_* because wxCB_* is used by wxComboBox).
+ * Determine whether to use a 3-state or 2-state
+ * checkbox. 3-state enables to differentiate
+ * between 'unchecked', 'checked' and 'undetermined'.
+ *
+ * In addition to the styles here it is also possible to specify just 0 which
+ * is treated the same as wxCHK_2STATE for compatibility (but using explicit
+ * flag is preferred).
+ */
+#define wxCHK_2STATE 0x4000
+#define wxCHK_3STATE 0x1000
+
+/*
+ * If this style is set the user can set the checkbox to the
+ * undetermined state. If not set the undetermined set can only
+ * be set programmatically.
+ * This style can only be used with 3 state checkboxes.
+ */
+#define wxCHK_ALLOW_3RD_STATE_FOR_USER 0x2000
+
/**
The possible states of a 3-state wxCheckBox (Compatible with the 2-state
wxCheckBox).
@style{wxCHK_2STATE}
Create a 2-state checkbox. This is the default.
@style{wxCHK_3STATE}
- Create a 3-state checkbox. Not implemented in wxMGL, wxOS2 and
+ Create a 3-state checkbox. Not implemented in wxOS2 and
wxGTK built against GTK+ 1.2.
@style{wxCHK_ALLOW_3RD_STATE_FOR_USER}
By default a user can't set a 3-state checkbox to the third state.
Makes the text appear on the left of the checkbox.
@endStyleTable
- @beginEventTable{wxCommandEvent}
+ @beginEventEmissionTable{wxCommandEvent}
@event{EVT_CHECKBOX(id, func)}
- Process a wxEVT_COMMAND_CHECKBOX_CLICKED event, when the checkbox
+ Process a @c wxEVT_CHECKBOX event, when the checkbox
is clicked.
@endEventTable
@library{wxcore}
@category{ctrl}
- <!-- @appearance{checkbox.png} -->
+ @appearance{checkbox}
@see wxRadioButton, wxCommandEvent
*/
@param label
Text to be displayed next to the checkbox.
@param pos
- Checkbox position. If wxDefaultPosition is specified then a default
- position is chosen.
+ Checkbox position.
+ If ::wxDefaultPosition is specified then a default position is chosen.
@param size
- Checkbox size. If wxDefaultSize is specified then a default size is
- chosen.
+ Checkbox size.
+ If ::wxDefaultSize is specified then a default size is chosen.
@param style
Window style. See wxCheckBox.
@param validator
const wxSize& size = wxDefaultSize,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
- const wxString& name = "checkBox");
+ const wxString& name = wxCheckBoxNameStr);
/**
Destructor, destroying the checkbox.
*/
- ~wxCheckBox();
+ virtual ~wxCheckBox();
/**
Creates the checkbox for two-step construction. See wxCheckBox()
for details.
*/
- bool Create(wxWindow* parent, wxWindowID id,
- const wxString& label,
+ bool Create(wxWindow* parent, wxWindowID id, const wxString& label,
const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = 0,
+ const wxSize& size = wxDefaultSize, long style = 0,
const wxValidator& validator = wxDefaultValidator,
- const wxString& name = "checkBox");
+ const wxString& name = wxCheckBoxNameStr);
/**
Gets the state of a 2-state checkbox.
@return Returns @true if it is checked, @false otherwise.
*/
- bool GetValue() const;
+ virtual bool GetValue() const;
/**
Gets the state of a 3-state checkbox. Asserts when the function is used
/**
Sets the checkbox to the given state. This does not cause a
- wxEVT_COMMAND_CHECKBOX_CLICKED event to get emitted.
+ @c wxEVT_CHECKBOX event to get emitted.
@param state
If @true, the check is on, otherwise it is off.
*/
- void SetValue(bool state);
+ virtual void SetValue(bool state);
/**
Sets the checkbox to the given state. This does not cause a
- wxEVT_COMMAND_CHECKBOX_CLICKED event to get emitted.
+ @c wxEVT_CHECKBOX event to get emitted.
Asserts when the checkbox is a 2-state checkbox and setting the state
to wxCHK_UNDETERMINED.
*/
- void Set3StateValue(const wxCheckBoxState state);
+ void Set3StateValue(wxCheckBoxState state);
};