gtk.toggle_button

Module for [ToggleButton] class

Types 3

classToggleButton : gtk.button.Button

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));
}

Methods
GType _gType() @property
ToggleButton self()Returns `this`, for use in `with` statements.
ToggleButtonGidBuilder builder()Get builder for [gtk.toggle_button.ToggleButton] Returns: New builder object
bool active() @propertyGet `active` property. Returns: If the toggle button should be pressed in.
void 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.
Constructors
this(void * ptr, Flag!"Take" take)
this()Creates a new toggle button.
Methods
T active(bool propval)Set `active` property. Params: propval = If the toggle button should be pressed in. Returns: Builder instance for fluent chaining
T 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 chaining

Fluent builder for [gtk.toggle_button.ToggleButton]

Methods
ToggleButton build()