ToggleButton

A GtkToggleButton 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 [ctor@Gtk.ToggleButton.new] or [ctor@Gtk.ToggleButton.new_with_label]. 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 [class@Gtk.Button] for more information).

The state of a GtkToggleButton can be set specifically using [method@Gtk.ToggleButton.set_active], and retrieved using [method@Gtk.ToggleButton.get_active].

To simply switch the state of a toggle button, use [method@Gtk.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 GtkToggleButton to a group, use [method@Gtk.ToggleButton.set_group].

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 ();
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);

text = "Hi, I’m a toggle button.";
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 a toggle button.";
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_widget_show (window);
}

Constructors

this
this(GtkToggleButton* gtkToggleButton, bool ownedRef)

Sets our main struct and passes it to the parent class.

this
this()

Creates a new toggle button.

this
this(string label)

Creates a new GtkToggleButton containing a label.

Members

Functions

addOnToggled
gulong addOnToggled(void delegate(ToggleButton) dlg, ConnectFlags connectFlags)

Emitted whenever the GtkToggleButton's state is changed.

getActive
bool getActive()

Queries a GtkToggleButton and returns its current state.

getStruct
void* getStruct()

the main Gtk struct as a void*

getToggleButtonStruct
GtkToggleButton* getToggleButtonStruct(bool transferOwnership)

Get the main Gtk struct

setActive
void setActive(bool isActive)

Sets the status of the toggle button.

setGroup
void setGroup(ToggleButton group)

Adds @self to the group of @group.

toggled
void toggled()

Emits the ::toggled signal on the GtkToggleButton.

Static functions

getType
GType getType()

Variables

gtkToggleButton
GtkToggleButton* gtkToggleButton;

the main Gtk struct

Inherited Members

From Button

gtkButton
GtkButton* gtkButton;

the main Gtk struct

getButtonStruct
GtkButton* getButtonStruct(bool transferOwnership)

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

__anonymous
mixin ActionableT!(GtkButton)
Undocumented in source.
getType
GType getType()
getChild
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.

setChild
void setChild(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 GtkImage 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.

addOnActivate
gulong addOnActivate(void delegate(Button) dlg, ConnectFlags connectFlags)

Emitted to animate press then release.

addOnClicked
gulong addOnClicked(void delegate(Button) dlg, ConnectFlags connectFlags)

Emitted when the button has been activated (pressed and released).

Meta