Gtk.ToggleButton

const Gtk = imports.gi.Gtk;

let toggle_button = new Gtk.ToggleButton({
    active: value,
    draw_indicator: value,
    inconsistent: value,
});
  

A Gtk.ToggleButton is a Gtk.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 Gtk.new or Gtk.new_with_label. If using the former, it is advisable to pack a widget, (such as a Gtk.Label and/or a Gtk.Image), into the toggle button's container. (See Gtk.Button for more information).

The state of a Gtk.ToggleButton can be set specifically using Gtk.set_active, and retrieved using Gtk.get_active.

To simply switch the state of a toggle button, use Gtk.toggled.

<example> <title>Creating two Gtk.ToggleButton widgets.</title> <programlisting> void make_toggles (void) { GtkWidget *dialog, *toggle1, *toggle2;

dialog = gtk_dialog_new (<!-- -->); toggle1 = gtk_toggle_button_new_with_label ("Hi, i'm a toggle button.");

// 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_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->action_area), toggle1, FALSE, FALSE, 2);

toggle2 = gtk_toggle_button_new_with_label ("Hi, i'm another toggle button."); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (toggle2), FALSE); g_signal_connect (toggle2, "toggled", G_CALLBACK (output_state), NULL); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->action_area), toggle2, FALSE, FALSE, 2);

gtk_widget_show_all (dialog); } </programlisting> </example>

Hierarchy

  • GObject.Object
    • GObject.InitiallyUnowned
      • Gtk.Widget
        • Gtk.Container
          • Gtk.Bin
            • Gtk.Button
              • Gtk.ToggleButton