wxWidgets/interface/wx/radiobut.h

124 lines
4.2 KiB
C
Raw Normal View History

/////////////////////////////////////////////////////////////////////////////
// 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.
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.
@beginStyleTable
@style{wxRB_GROUP}
Marks the beginning of a new group of radio buttons.
@style{wxRB_SINGLE}
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
@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);
};