gtk.toggle_button

Module for [ToggleButton] class

Types 3

A #GtkToggleButton is a #GtkButton 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 [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 #GtkLabel and/or a #GtkImage), into the toggle button’s container. (See #GtkButton for more information).

The state of a #GtkToggleButton 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].

CSS nodes

GtkToggleButton has a single CSS node with name button. To differentiate it from a plain #GtkButton, it gets the .toggle style class.

Creating two #GtkToggleButton 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);
}

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() @property
void active(bool propval) @property
bool drawIndicator() @property
void drawIndicator(bool propval) @property
bool inconsistent() @property
void inconsistent(bool propval) @property
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 #GtkToggleButton containing a label. The label will be created using [gtk.label.Label.newWithMnemonic], so underscores in label indicate the mnemonic for the button.
bool getActive()Queries a #GtkToggleButton and returns its current state. Returns true if the toggle button is pressed in and false if it is raised. Returns: a #gboolean value.
bool getInconsistent()Gets the value set by [gtk.toggle_button.ToggleButton.setInconsistent]. Returns: true if the button is displayed as inconsistent, false otherwise
bool getMode()Retrieves whether the button is displayed as a separate indicator and label. See [gtk.toggle_button.ToggleButton.setMode]. Returns: true if the togglebutton is drawn as a separate indicator and label.
void setActive(bool isActive)Sets the status of the toggle button. Set to true if you want the GtkToggleButton to be “pressed in”, and false to raise it. This action causes the #GtkToggleButton::toggled signal and the #Gtk...
void setInconsistent(bool setting)If the user has selected a range of elements (such as some text or spreadsheet cells) that are affected by a toggle button, and the current values in that range are inconsistent, you may want to di...
void setMode(bool drawIndicator)Sets whether the button is displayed as a separate indicator and label. You can call this function on a checkbutton or a radiobutton with draw_indicator = false to make the button look like a norma...
void toggled()Emits the #GtkToggleButton::toggled signal on the #GtkToggleButton. There is no good reason for an application ever to call this function.
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. A widget should be packed into the button, as in [gtk.button.Button.new_]. Returns: a new toggle button.
Methods
T active(bool propval)
T drawIndicator(bool propval)
T inconsistent(bool propval)

Fluent builder for [gtk.toggle_button.ToggleButton]