ToggleButton

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

Constructors

this
this()

Creates a new toggle button.

Members

Functions

connectToggled
ulong connectToggled(T callback, Flag!"After" after)

Connect to Toggled signal.

getActive
bool getActive()

Queries a gtk.toggle_button.ToggleButton and returns its current state.

setActive
void setActive(bool isActive)

Sets the status of the toggle button.

setGroup
void setGroup(gtk.toggle_button.ToggleButton group)

Adds self to the group of group.

toggled
void toggled()

Emits the ::toggled signal on the gtk.toggle_button.ToggleButton.

Static functions

newWithLabel
gtk.toggle_button.ToggleButton newWithLabel(string label)

Creates a new toggle button with a text label.

newWithMnemonic
gtk.toggle_button.ToggleButton newWithMnemonic(string label)

Creates a new gtk.toggle_button.ToggleButton containing a label.

Inherited Members

From Button

newFromIconName
gtk.button.Button newFromIconName(string iconName)

Creates a new button containing an icon from the current icon theme.

newWithLabel
gtk.button.Button newWithLabel(string label)

Creates a gtk.button.Button widget with a gtk.label.Label child.

newWithMnemonic
gtk.button.Button newWithMnemonic(string label)

Creates a new gtk.button.Button containing a label.

getCanShrink
bool getCanShrink()

Retrieves whether the button can be smaller than the natural size of its contents.

getChild
gtk.widget.Widget getChild()

Gets the child widget of button.

getHasFrame
bool getHasFrame()

Returns whether the button has a frame.

getIconName
string getIconName()

Returns the icon name of the button.

getLabel
string getLabel()

Fetches the text from the label of the button.

getUseUnderline
bool getUseUnderline()

gets whether underlines are interpreted as mnemonics.

setCanShrink
void setCanShrink(bool canShrink)

Sets whether the button size can be smaller than the natural size of its contents.

setChild
void setChild(gtk.widget.Widget child)

Sets the child widget of button.

setHasFrame
void setHasFrame(bool hasFrame)

Sets the style of the button.

setIconName
void setIconName(string iconName)

Adds a gtk.image.Image with the given icon name as a child.

setLabel
void setLabel(string label)

Sets the text of the label of the button to label.

setUseUnderline
void setUseUnderline(bool useUnderline)

Sets whether to use underlines as mnemonics.

connectActivate
ulong connectActivate(T callback, Flag!"After" after)

Connect to Activate signal.

connectClicked
ulong connectClicked(T callback, Flag!"After" after)

Connect to Clicked signal.