9e51389676
Correct the previously wrong described behaviour for wxRB_SINGLE buttons and also mention that Get{First,Last}InGroup() never return NULL.
193 lines
6.5 KiB
Objective-C
193 lines
6.5 KiB
Objective-C
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: radiobut.h
|
|
// Purpose: interface of wxRadioButton
|
|
// Author: wxWidgets team
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
/**
|
|
@class wxRadioButton
|
|
|
|
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.
|
|
|
|
Radio buttons are typically used in groups of mutually-exclusive buttons,
|
|
i.e. exactly one of the buttons in the group is checked, and the other ones
|
|
are unchecked automatically. Such groups are created implicitly, but can
|
|
also be started explicitly by using @c wxRB_GROUP style: a button with this
|
|
style starts a new group and will become the initial selection in this
|
|
group. Alternatively, a radio button may be excluded from the group that it
|
|
would otherwise belong to by using @c wxRB_SINGLE style.
|
|
|
|
To find the other elements of the same radio button group, you can use
|
|
GetFirstInGroup(), GetPreviousInGroup(), GetNextInGroup() and
|
|
GetLastInGroup() functions.
|
|
|
|
|
|
@beginStyleTable
|
|
@style{wxRB_GROUP}
|
|
Marks the beginning of a new group of radio buttons.
|
|
@style{wxRB_SINGLE}
|
|
Creates a radio button which is not part of any radio button group.
|
|
When this style is used, no other radio buttons will be turned off
|
|
automatically when this button is turned on and such behaviour will
|
|
need to be implemented manually, in the event handler for this
|
|
button.
|
|
@endStyleTable
|
|
|
|
@beginEventEmissionTable{wxCommandEvent}
|
|
@event{EVT_RADIOBUTTON(id, func)}
|
|
Process a @c wxEVT_RADIOBUTTON event, when the
|
|
radiobutton is clicked.
|
|
@endEventTable
|
|
|
|
@library{wxcore}
|
|
@category{ctrl}
|
|
@appearance{radiobutton}
|
|
|
|
@see @ref overview_events, wxRadioBox, wxCheckBox
|
|
*/
|
|
class wxRadioButton : public wxControl
|
|
{
|
|
public:
|
|
/**
|
|
Default constructor.
|
|
|
|
@see Create(), wxValidator
|
|
*/
|
|
wxRadioButton();
|
|
|
|
/**
|
|
Constructor, creating and showing a radio button.
|
|
|
|
@param parent
|
|
Parent window. Must not be @NULL.
|
|
@param id
|
|
Window identifier. The value @c wxID_ANY indicates a default value.
|
|
@param label
|
|
Label for the radio button.
|
|
@param pos
|
|
Window position. If ::wxDefaultPosition is specified then a default
|
|
position is chosen.
|
|
@param size
|
|
Window size. If ::wxDefaultSize is specified then a default size
|
|
is chosen.
|
|
@param style
|
|
Window style. See wxRadioButton.
|
|
@param validator
|
|
Window validator.
|
|
@param name
|
|
Window name.
|
|
|
|
@see Create(), wxValidator
|
|
*/
|
|
wxRadioButton(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 = wxRadioButtonNameStr);
|
|
|
|
/**
|
|
Destructor, destroying the radio button item.
|
|
*/
|
|
virtual ~wxRadioButton();
|
|
|
|
/**
|
|
Creates the choice for two-step construction. See wxRadioButton() for
|
|
further details.
|
|
*/
|
|
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 = wxRadioButtonNameStr);
|
|
|
|
/**
|
|
Returns @true if the radio button is checked, @false otherwise.
|
|
*/
|
|
virtual bool GetValue() const;
|
|
|
|
/**
|
|
Sets the radio button to checked or unchecked status. This does not cause a
|
|
@c wxEVT_RADIOBUTTON event to get emitted.
|
|
|
|
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.
|
|
|
|
@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.
|
|
|
|
@param value
|
|
@true to check, @false to uncheck.
|
|
*/
|
|
virtual void SetValue(bool value);
|
|
|
|
/**
|
|
Returns the first button of the radio button group this button belongs
|
|
to.
|
|
|
|
For a radio button with @c wxRB_SINGLE style, this function returns this
|
|
button itself, as it is the only member of its group. Otherwise, the
|
|
function returns the closest previous radio button with @c wxRB_GROUP
|
|
style (which could still be this button itself) or the first radio
|
|
button in the same window.
|
|
|
|
The returned value is never @NULL.
|
|
|
|
@see GetPreviousInGroup(), GetNextInGroup(), GetLastInGroup()
|
|
|
|
@since 3.1.5
|
|
*/
|
|
wxRadioButton* GetFirstInGroup() const;
|
|
|
|
/**
|
|
Returns the last button of the radio button group this button belongs
|
|
to.
|
|
|
|
Similarly to GetFirstInGroup(), this function returns this button
|
|
itself if it has @c wxRB_SINGLE style. Otherwise, the function returns
|
|
the last button before the next button with @c wxRB_GROUP style or the
|
|
last radio button in the same window.
|
|
|
|
The returned value is never @NULL.
|
|
|
|
@see GetPreviousInGroup(), GetNextInGroup()
|
|
|
|
@since 3.1.5
|
|
*/
|
|
wxRadioButton* GetLastInGroup() const;
|
|
|
|
/**
|
|
Returns the previous radio button in the same group.
|
|
|
|
The return value is @NULL if there is no predecessor or if this button
|
|
has @c wxRB_SINGLE style.
|
|
|
|
@see GetFirstInGroup(), GetNextInGroup(), GetLastInGroup()
|
|
|
|
@since 3.1.5
|
|
*/
|
|
wxRadioButton* GetPreviousInGroup() const;
|
|
|
|
/**
|
|
Returns the next radio button in the same group.
|
|
|
|
The return value is @NULL if there is no successor or if this button
|
|
has @c wxRB_SINGLE style.
|
|
|
|
@see GetFirstInGroup(), GetPreviousInGroup(), GetLastInGroup()
|
|
|
|
@since 3.1.5
|
|
*/
|
|
wxRadioButton* GetNextInGroup() const;
|
|
};
|
|
|