gtk.toggle_button
Module for [ToggleButton] class
Types 3
A [gtk.toggle_button.ToggleButton] is a button which remains “pressed-in” when clicked.
Clicking again will cause the toggle button to return to its normal state.
A toggle button is created by calling either [gtk.toggle_button.ToggleButton.new_] or [gtk.toggle_button.ToggleButton.newWithLabel]. If using the former, it is advisable to pack a widget, (such as a [gtk.label.Label] and/or a [gtk.image.Image]), into the toggle button’s container. (See [gtk.button.Button] for more information).
The state of a [gtk.toggle_button.ToggleButton] can be set specifically using [gtk.toggle_button.ToggleButton.setActive], and retrieved using [gtk.toggle_button.ToggleButton.getActive].
To simply switch the state of a toggle button, use [gtk.toggle_button.ToggleButton.toggled].
Grouping
Toggle buttons can be grouped together, to form mutually exclusive groups - only one of the buttons can be toggled at a time, and toggling another one will switch the currently toggled one off.
To add a [gtk.toggle_button.ToggleButton] to a group, use [gtk.toggle_button.ToggleButton.setGroup].
CSS nodes
[gtk.toggle_button.ToggleButton] has a single CSS node with name button. To differentiate it from a plain [gtk.button.Button], it gets the .toggle style class.
Accessibility
[gtk.toggle_button.ToggleButton] uses the [gtk.types.AccessibleRole.ToggleButton] role.
Creating two [gtk.toggle_button.ToggleButton] widgets.
static void
output_state (GtkToggleButton *source,
gpointer user_data)
{
g_print ("Toggle button "%s" is active: %s",
gtk_button_get_label (GTK_BUTTON (source)),
gtk_toggle_button_get_active (source) ? "Yes" : "No");
}
static void
make_toggles (void)
{
GtkWidget *window, *toggle1, *toggle2;
GtkWidget *box;
const char *text;
window = gtk_window_new ();
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
text = "Hi, I’m toggle button one";
toggle1 = gtk_toggle_button_new_with_label (text);
g_signal_connect (toggle1, "toggled",
G_CALLBACK (output_state),
NULL);
gtk_box_append (GTK_BOX (box), toggle1);
text = "Hi, I’m toggle button two";
toggle2 = gtk_toggle_button_new_with_label (text);
g_signal_connect (toggle2, "toggled",
G_CALLBACK (output_state),
NULL);
gtk_box_append (GTK_BOX (box), toggle2);
gtk_window_set_child (GTK_WINDOW (window), box);
gtk_window_present (GTK_WINDOW (window));
}ToggleButton self()Returns `this`, for use in `with` statements.ToggleButtonGidBuilder builder()Get builder for [gtk.toggle_button.ToggleButton] Returns: New builder objectvoid active(bool propval) @propertySet `active` property. Params: propval = If the toggle button should be pressed in.void group(gtk.toggle_button.ToggleButton propval) @propertySet `group` property. Params: propval = The toggle button whose group this widget belongs to.gtk.toggle_button.ToggleButton newWithLabel(string label)Creates a new toggle button with a text label.gtk.toggle_button.ToggleButton newWithMnemonic(string label)Creates a new [gtk.toggle_button.ToggleButton] containing a label.bool getActive()Queries a [gtk.toggle_button.ToggleButton] and returns its current state.void setActive(bool isActive)Sets the status of the toggle button.void setGroup(gtk.toggle_button.ToggleButton group = null)Adds self to the group of group.void toggled()Emits the ::toggled signal on the [gtk.toggle_button.ToggleButton].gulong connectToggled(T)(T callback, Flag!"After" after = No.After) if (isCallable!T
&& is(ReturnType!T == void)
&& (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.toggle_button.ToggleButton)))
&& Parameters!T.length < 2)Connect to `Toggled` signal.T active(bool propval)Set `active` property. Params: propval = If the toggle button should be pressed in. Returns: Builder instance for fluent chainingT group(gtk.toggle_button.ToggleButton propval)Set `group` property. Params: propval = The toggle button whose group this widget belongs to. Returns: Builder instance for fluent chainingFluent builder for [gtk.toggle_button.ToggleButton]
ToggleButton build()