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 _getGType() static nothrow
GType _gType() @property nothrow
ToggleButton self() nothrowReturns `this`, for use in `with` statements.
ToggleButtonGidBuilder builder() static nothrowGet builder for [gtk.toggle_button.ToggleButton] Returns: New builder object
bool active() @property nothrow
void active(bool propval) @property nothrow
bool drawIndicator() @property nothrow
void drawIndicator(bool propval) @property nothrow
bool inconsistent() @property nothrow
void inconsistent(bool propval) @property nothrow
gtk.toggle_button.ToggleButton newWithLabel(string label) static nothrowCreates a new toggle button with a text label.
gtk.toggle_button.ToggleButton newWithMnemonic(string label) static nothrowCreates 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() nothrowQueries 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() nothrowGets the value set by [gtk.toggle_button.ToggleButton.setInconsistent]. Returns: true if the button is displayed as inconsistent, false otherwise
bool getMode() nothrowRetrieves 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) nothrowSets 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) nothrowIf 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) nothrowSets 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() nothrowEmits 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) nothrowConnect 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.

Fluent builder implementation template for gtk.toggle_button.ToggleButton

Methods
T active(bool propval) nothrow
T drawIndicator(bool propval) nothrow
T inconsistent(bool propval) nothrow
Methods
ToggleButton build() nothrowCreate object from builder. Returns: New object