RadioButton
open class RadioButton : CheckButton, RadioButtonProtocol
A single radio button performs the same basic function as a GtkCheckButton,
as its position in the object hierarchy reflects. It is only when multiple
radio buttons are grouped together that they become a different user
interface component in their own right.
Every radio button is a member of some group of radio buttons. When one is
selected, all other radio buttons in the same group are deselected. A
GtkRadioButton is one way of giving the user a choice from many options.
Radio button widgets are created with gtk_radio_button_new(), passing nil
as the argument if this is the first radio button in a group. In subsequent
calls, the group you wish to add this button to should be passed as an
argument. Optionally, gtk_radio_button_new_with_label() can be used if you
want a text label on the radio button.
Alternatively, when adding widgets to an existing group of radio buttons,
use gtk_radio_button_new_from_widget() with a GtkRadioButton that already
has a group assigned to it. The convenience function
gtk_radio_button_new_with_label_from_widget() is also provided.
To retrieve the group a GtkRadioButton is assigned to, use
gtk_radio_button_get_group().
To remove a GtkRadioButton from one group and make it part of a new one,
use gtk_radio_button_set_group().
The group list does not need to be freed, as each GtkRadioButton will remove
itself and its list item when it is destroyed.
CSS nodes
(plain Language Example):
radiobutton
├── radio
╰── <child>
A GtkRadioButton with indicator (see gtk_toggle_button_set_mode()) has a
main CSS node with name radiobutton and a subnode with name radio.
(plain Language Example):
button.radio
├── radio
╰── <child>
A GtkRadioButton without indicator changes the name of its main node to button and adds a .radio style class to it. The subnode is invisible in this case.
How to create a group of two radio buttons.
(C Language Example):
void create_radio_buttons (void) {
GtkWidget *window, *radio1, *radio2, *box, *entry;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
gtk_box_set_homogeneous (GTK_BOX (box), TRUE);
// Create a radio button with a GtkEntry widget
radio1 = gtk_radio_button_new (NULL);
entry = gtk_entry_new ();
gtk_container_add (GTK_CONTAINER (radio1), entry);
// Create a radio button with a label
radio2 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio1),
"I’m the second radio button.");
// Pack them into a box, then show all the widgets
gtk_box_pack_start (GTK_BOX (box), radio1);
gtk_box_pack_start (GTK_BOX (box), radio2);
gtk_container_add (GTK_CONTAINER (window), box);
gtk_widget_show_all (window);
return;
}
When an unselected button in the group is clicked the clicked button
receives the GtkToggleButton::toggled signal, as does the previously
selected button.
Inside the GtkToggleButton::toggled handler, gtk_toggle_button_get_active()
can be used to determine if the button has been selected or deselected.
The RadioButton type acts as a reference-counted owner of an underlying GtkRadioButton instance.
It provides the methods that can operate on this data type through RadioButtonProtocol conformance.
Use RadioButton as a strong reference or owner of a GtkRadioButton instance.
-
Constructor for creating a RadioButton with a text label, creating a new group.
Declaration
Swift
@inlinable public override init(label: UnsafePointer<gchar>!)Parameters
labelthe label to use for the button
-
Constructor for creating a RadioButton with a text label that contains menomics creates a new group. Underscores in
labelindicate the mnemonic for the button.Declaration
Swift
@inlinable public override init(mnemonic label: UnsafePointer<gchar>!)Parameters
labelthe label (including mnemonic) to use for the button
-
Designated initialiser from the underlying `C` data type.This creates an instance without performing an unbalanced retain i.e., ownership is transferred to the
RadioButtoninstance.Declaration
Swift
@inlinable public init(_ op: UnsafeMutablePointer<GtkRadioButton>)Parameters
oppointer to the underlying object
-
Designated initialiser from a constant pointer to the underlying
Cdata type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theRadioButtoninstance.Declaration
Swift
@inlinable public init(_ op: UnsafePointer<GtkRadioButton>)Parameters
oppointer to the underlying object
-
Optional initialiser from a non-mutating
gpointerto the underlyingCdata type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theRadioButtoninstance.Declaration
Swift
@inlinable override public init!(gpointer op: gpointer?)Parameters
opgpointer to the underlying object
-
Optional initialiser from a non-mutating
gconstpointerto the underlyingCdata type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theRadioButtoninstance.Declaration
Swift
@inlinable override public init!(gconstpointer op: gconstpointer?)Parameters
oppointer to the underlying object
-
Optional initialiser from a constant pointer to the underlying
Cdata type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theRadioButtoninstance.Declaration
Swift
@inlinable public init!(_ op: UnsafePointer<GtkRadioButton>?)Parameters
oppointer to the underlying object
-
Optional initialiser from the underlying
Cdata type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theRadioButtoninstance.Declaration
Swift
@inlinable public init!(_ op: UnsafeMutablePointer<GtkRadioButton>?)Parameters
oppointer to the underlying object
-
Designated initialiser from the underlying
Cdata type. Will retainGtkRadioButton. i.e., ownership is transferred to theRadioButtoninstance.Declaration
Swift
@inlinable public init(retaining op: UnsafeMutablePointer<GtkRadioButton>)Parameters
oppointer to the underlying object
-
Reference intialiser for a related type that implements
RadioButtonProtocolWill retainGtkRadioButton.Declaration
Swift
@inlinable public init<T>(radioButton other: T) where T : RadioButtonProtocolParameters
otheran instance of a related type that implements
RadioButtonProtocol -
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
RadioButtonProtocol.Declaration
Swift
@inlinable override public init<T>(cPointer p: UnsafeMutablePointer<T>)Parameters
cPointerpointer to the underlying object
-
Unsafe typed, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
RadioButtonProtocol.Declaration
Swift
@inlinable override public init<T>(retainingCPointer cPointer: UnsafeMutablePointer<T>)Parameters
cPointerpointer to the underlying object
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
RadioButtonProtocol.Declaration
Swift
@inlinable override public init(raw p: UnsafeRawPointer)Parameters
praw pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
RadioButtonProtocol.Declaration
Swift
@inlinable override public init(retainingRaw raw: UnsafeRawPointer) -
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
RadioButtonProtocol.Declaration
Swift
@inlinable public required init(raw p: UnsafeMutableRawPointer)Parameters
pmutable raw pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
RadioButtonProtocol.Declaration
Swift
@inlinable required public init(retainingRaw raw: UnsafeMutableRawPointer)Parameters
rawmutable raw pointer to the underlying object
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
RadioButtonProtocol.Declaration
Swift
@inlinable override public init(opaquePointer p: OpaquePointer)Parameters
popaque pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
RadioButtonProtocol.Declaration
Swift
@inlinable override public init(retainingOpaquePointer p: OpaquePointer)Parameters
popaque pointer to the underlying object
-
Creates a new
GtkRadioButton. To be of any practical value, a widget should then be packed into the radio button.Declaration
Swift
@inlinable public init<SListT>(group: SListT?) where SListT : SListProtocol -
Creates a new
GtkRadioButtonwith a text label.Declaration
Swift
@inlinable public init<SListT>(group: SListT?, label: UnsafePointer<gchar>!) where SListT : SListProtocol -
Creates a new
GtkRadioButtoncontaining a label, adding it to the same group asgroup. The label will be created usinggtk_label_new_with_mnemonic(), so underscores inlabelindicate the mnemonic for the button.Declaration
Swift
@inlinable public init<SListT>(group: SListT?, mnemonic label: UnsafePointer<gchar>!) where SListT : SListProtocol -
Creates a new
GtkRadioButtonwith a text label.Declaration
Swift
@inlinable public static func newWith<SListT>(group: SListT?, label: UnsafePointer<gchar>!) -> Widget! where SListT : SListProtocol -
Creates a new
GtkRadioButtoncontaining a label, adding it to the same group asgroup. The label will be created usinggtk_label_new_with_mnemonic(), so underscores inlabelindicate the mnemonic for the button.Declaration
Swift
@inlinable public static func newWith<SListT>(group: SListT?, mnemonic label: UnsafePointer<gchar>!) -> Widget! where SListT : SListProtocol -
Create a group of radio buttons with the given array of labels
Declaration
Swift
@inlinable static func groupWith(labels: [String]) -> [RadioButton]Parameters
labelsarray of labels for the radio buttons
Return Value
grouped array of radio buttons
-
Create a group of radio buttons with the given labels
Declaration
Swift
@inlinable static func groupLabeled(_ ls: String...) -> [RadioButton]Parameters
lslabels to use for the radio buttons
Return Value
grouped array of radio buttons
-
Create a group of radio buttons with the given labels. Underscores in the labels denote the mnemonics for the corresponding buttons.
Declaration
Swift
@inlinable static func groupWith(mnemonics: [String]) -> [RadioButton]Parameters
mnemonicslabels to use for the buttons
Return Value
grouped array of radio buttons
-
Create a group of radio buttons with the given labels Underscores in the labels denote the mnemonics for the corresponding buttons.
Declaration
Swift
@inlinable static func groupWithMnemonics(_ ms: String...) -> [RadioButton]Parameters
mslabels to use for the buttons
Return Value
grouped array of radio buttons
View on GitHub
Install in Dash
RadioButton Class Reference