2008-03-08 08:52:38 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: radiobut.h
|
2008-03-10 11:24:38 -04:00
|
|
|
// Purpose: interface of wxRadioButton
|
2008-03-08 08:52:38 -05:00
|
|
|
// Author: wxWidgets team
|
2010-07-13 09:29:13 -04:00
|
|
|
// Licence: wxWindows licence
|
2008-03-08 08:52:38 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
/**
|
|
|
|
@class wxRadioButton
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-05-04 05:04:38 -04:00
|
|
|
A radio button item is a button which usually denotes one of several
|
|
|
|
mutually exclusive options. It has a text label next to a (usually) round
|
|
|
|
button.
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-05-04 05:04:38 -04:00
|
|
|
You can create a group of mutually-exclusive radio buttons by specifying
|
|
|
|
@c wxRB_GROUP for the first in the group. The group ends when another
|
|
|
|
radio button group is created, or there are no more radio buttons.
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
@beginStyleTable
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxRB_GROUP}
|
2008-03-08 08:52:38 -05:00
|
|
|
Marks the beginning of a new group of radio buttons.
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxRB_SINGLE}
|
2008-03-08 08:52:38 -05:00
|
|
|
In some circumstances, radio buttons that are not consecutive
|
|
|
|
siblings trigger a hang bug in Windows (only). If this happens, add
|
|
|
|
this style to mark the button as not belonging to a group, and
|
|
|
|
implement the mutually-exclusive group behaviour yourself.
|
|
|
|
@endStyleTable
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2009-02-18 12:58:51 -05:00
|
|
|
@beginEventEmissionTable{wxCommandEvent}
|
2008-04-06 10:43:04 -04:00
|
|
|
@event{EVT_RADIOBUTTON(id, func)}
|
2013-04-25 06:11:03 -04:00
|
|
|
Process a @c wxEVT_RADIOBUTTON event, when the
|
2008-03-08 08:52:38 -05:00
|
|
|
radiobutton is clicked.
|
|
|
|
@endEventTable
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
@library{wxcore}
|
|
|
|
@category{ctrl}
|
2012-11-03 14:32:50 -04:00
|
|
|
@appearance{radiobutton}
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2009-02-17 19:19:22 -05:00
|
|
|
@see @ref overview_events, wxRadioBox, wxCheckBox
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
|
|
|
class wxRadioButton : public wxControl
|
|
|
|
{
|
|
|
|
public:
|
2008-05-04 05:04:38 -04:00
|
|
|
/**
|
|
|
|
Default constructor.
|
|
|
|
|
|
|
|
@see Create(), wxValidator
|
|
|
|
*/
|
|
|
|
wxRadioButton();
|
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
/**
|
|
|
|
Constructor, creating and showing a radio button.
|
2008-03-20 09:45:17 -04:00
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param parent
|
2008-03-09 08:33:59 -04:00
|
|
|
Parent window. Must not be @NULL.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param id
|
2008-05-04 05:04:38 -04:00
|
|
|
Window identifier. The value @c wxID_ANY indicates a default value.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param label
|
2008-03-09 08:33:59 -04:00
|
|
|
Label for the radio button.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param pos
|
2009-03-13 20:49:24 -04:00
|
|
|
Window position. If ::wxDefaultPosition is specified then a default
|
|
|
|
position is chosen.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param size
|
2009-03-13 20:49:24 -04:00
|
|
|
Window size. If ::wxDefaultSize is specified then a default size
|
|
|
|
is chosen.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param style
|
2008-03-09 08:33:59 -04:00
|
|
|
Window style. See wxRadioButton.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param validator
|
2008-03-09 08:33:59 -04:00
|
|
|
Window validator.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param name
|
2008-03-09 08:33:59 -04:00
|
|
|
Window name.
|
2008-03-20 09:45:17 -04:00
|
|
|
|
2008-03-09 08:33:59 -04:00
|
|
|
@see Create(), wxValidator
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-03-08 09:43:31 -05:00
|
|
|
wxRadioButton(wxWindow* parent, wxWindowID id,
|
|
|
|
const wxString& label,
|
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
|
|
const wxSize& size = wxDefaultSize,
|
|
|
|
long style = 0,
|
|
|
|
const wxValidator& validator = wxDefaultValidator,
|
2008-11-13 16:32:53 -05:00
|
|
|
const wxString& name = wxRadioButtonNameStr);
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Destructor, destroying the radio button item.
|
|
|
|
*/
|
2008-09-27 07:21:10 -04:00
|
|
|
virtual ~wxRadioButton();
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Creates the choice for two-step construction. See wxRadioButton() for
|
|
|
|
further details.
|
|
|
|
*/
|
2008-10-28 11:36:26 -04:00
|
|
|
bool Create(wxWindow* parent, wxWindowID id, const wxString& label,
|
2008-03-08 08:52:38 -05:00
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
2008-10-28 11:36:26 -04:00
|
|
|
const wxSize& size = wxDefaultSize, long style = 0,
|
2008-03-08 08:52:38 -05:00
|
|
|
const wxValidator& validator = wxDefaultValidator,
|
2008-10-28 11:36:26 -04:00
|
|
|
const wxString& name = wxRadioButtonNameStr);
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
2012-01-17 18:48:01 -05:00
|
|
|
Returns @true if the radio button is checked, @false otherwise.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-09-27 07:21:10 -04:00
|
|
|
virtual bool GetValue() const;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
2012-01-17 18:48:01 -05:00
|
|
|
Sets the radio button to checked or unchecked status. This does not cause a
|
2013-04-25 06:11:03 -04:00
|
|
|
@c wxEVT_RADIOBUTTON event to get emitted.
|
2012-01-17 18:48:01 -05:00
|
|
|
|
|
|
|
If the radio button belongs to a radio group exactly one button in the
|
|
|
|
group may be checked and so this method can be only called with @a
|
|
|
|
value set to @true. To uncheck a radio button in a group you must check
|
|
|
|
another button in the same group.
|
2008-03-20 09:45:17 -04:00
|
|
|
|
2020-01-20 07:21:44 -05:00
|
|
|
@note Under MSW, the focused radio button is always selected, i.e. its
|
|
|
|
value is @true. And, conversely, calling @c SetValue(true) will
|
|
|
|
also set focus to the radio button if the focus had previously been
|
|
|
|
on another radio button in the same group -- as otherwise setting
|
|
|
|
it on wouldn't work.
|
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param value
|
2012-01-17 18:48:01 -05:00
|
|
|
@true to check, @false to uncheck.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-10-28 11:36:26 -04:00
|
|
|
virtual void SetValue(bool value);
|
2008-03-08 08:52:38 -05:00
|
|
|
};
|
2008-03-10 11:24:38 -04:00
|
|
|
|