ToggleButton
Object Hierarchy:
Description:
[ CCode ( type_id = "gtk_toggle_button_get_type ()" ) ]
public class ToggleButton : Button, Implementor, Actionable, Activatable, Buildable
public class ToggleButton : Button, Implementor, Actionable, Activatable, Buildable
A ToggleButton is a Button which will remain “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 ToggleButton or ToggleButton.with_label. If using the former, it is advisable to pack a widget, (such as a Label and/or a Image), into the toggle button’s container. (See Button for more information).
The state of a ToggleButton can be set specifically using set_active, and retrieved using get_active.
To simply switch the state of a toggle button, use toggled.
CSS nodes
GtkToggleButton has a single CSS node with name button. To differentiate it from a plain Button, it gets the .toggle style class.
Creating two ToggleButton widgets.
static void output_state (GtkToggleButton *source, gpointer user_data) {
printf ("Active: %d\n", gtk_toggle_button_get_active (source));
}
void make_toggles (void) {
GtkWidget *window, *toggle1, *toggle2;
GtkWidget *box;
const char *text;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
text = "Hi, I’m a toggle button.";
toggle1 = gtk_toggle_button_new_with_label (text);
// Makes this toggle button invisible
gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (toggle1),
TRUE);
g_signal_connect (toggle1, "toggled",
G_CALLBACK (output_state),
NULL);
gtk_container_add (GTK_CONTAINER (box), toggle1);
text = "Hi, I’m a toggle button.";
toggle2 = gtk_toggle_button_new_with_label (text);
gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (toggle2),
FALSE);
g_signal_connect (toggle2, "toggled",
G_CALLBACK (output_state),
NULL);
gtk_container_add (GTK_CONTAINER (box), toggle2);
gtk_container_add (GTK_CONTAINER (window), box);
gtk_widget_show_all (window);
}

All known sub-classes:
Namespace: Gtk
Package: gtk+-3.0
Content:
Properties:
Creation methods:
Methods:
Signals:
Inherited Members:
All known members inherited from class Gtk.Button
All known members inherited from class Gtk.Bin
All known members inherited from class Gtk.Container
All known members inherited from class Gtk.Widget
All known members inherited from class GLib.Object
All known members inherited from interface Atk.Implementor
All known members inherited from interface Gtk.Actionable
All known members inherited from interface Gtk.Activatable
All known members inherited from interface Gtk.Buildable