Class

GtkToggleButton

Description [src]

class Gtk.ToggleButton : Gtk.Button {
  /* No available fields */
}

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 gtk_toggle_button_new() or gtk_toggle_button_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 GtkButton for more information).

The state of a GtkToggleButton can be set specifically using gtk_toggle_button_set_active(), and retrieved using gtk_toggle_button_get_active().

To simply switch the state of a toggle button, use gtk_toggle_button_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 gtk_toggle_button_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);
}

Hierarchy

hierarchy this GtkToggleButton implements_0 GtkAccessible this--implements_0 implements_1 GtkActionable this--implements_1 implements_2 GtkBuildable this--implements_2 implements_3 GtkConstraintTarget this--implements_3 ancestor_0 GtkButton ancestor_0--this ancestor_1 GtkWidget ancestor_1--ancestor_0 ancestor_2 GInitiallyUnowned ancestor_2--ancestor_1 ancestor_3 GObject ancestor_3--ancestor_2

Ancestors

Constructors

gtk_toggle_button_new

Creates a new toggle button.

gtk_toggle_button_new_with_label

Creates a new toggle button with a text label.

gtk_toggle_button_new_with_mnemonic

Creates a new GtkToggleButton containing a label.

Instance methods

gtk_toggle_button_get_active

Queries a GtkToggleButton and returns its current state.

gtk_toggle_button_set_active

Sets the status of the toggle button.

gtk_toggle_button_set_group

Adds self to the group of group.

gtk_toggle_button_toggled

Emits the ::toggled signal on the GtkToggleButton.

Methods inherited from GtkButton (10)
gtk_button_get_child

Gets the child widget of button.

gtk_button_get_has_frame

Returns whether the button has a frame.

gtk_button_get_icon_name

Returns the icon name of the button.

gtk_button_get_label

Fetches the text from the label of the button.

gtk_button_get_use_underline

Gets whether underlines are interpreted as mnemonics.

gtk_button_set_child

Sets the child widget of button.

gtk_button_set_has_frame

Sets the style of the button.

gtk_button_set_icon_name

Adds a GtkImage with the given icon name as a child.

gtk_button_set_label

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

gtk_button_set_use_underline

Sets whether to use underlines as mnemonics.

Methods inherited from GtkWidget (159)
gtk_widget_action_set_enabled

Enable or disable an action installed with gtk_widget_class_install_action().

gtk_widget_activate

For widgets that can be “activated” (buttons, menu items, etc.), this function activates them.

gtk_widget_activate_action

Looks up the action in the action groups associated with widget and its ancestors, and activates it.

gtk_widget_activate_action_variant

Looks up the action in the action groups associated with widget and its ancestors, and activates it.

gtk_widget_activate_default

Activates the default.activate action from widget.

gtk_widget_add_controller

Adds controller to widget so that it will receive events.

gtk_widget_add_css_class

Adds a style class to widget.

gtk_widget_add_mnemonic_label

Adds a widget to the list of mnemonic labels for this widget.

gtk_widget_add_tick_callback

Queues an animation frame update and adds a callback to be called before each frame.

gtk_widget_allocate

This function is only used by GtkWidget subclasses, to assign a size, position and (optionally) baseline to their child widgets.

gtk_widget_child_focus

Called by widgets as the user moves around the window using keyboard shortcuts.

gtk_widget_compute_bounds

Computes the bounds for widget in the coordinate space of target.

gtk_widget_compute_expand

Computes whether a container should give this widget extra space when possible.

gtk_widget_compute_point

Translates the given point in widgets coordinates to coordinates relative to target’s coordinate system.

gtk_widget_compute_transform

Computes a matrix suitable to describe a transformation from widgets coordinate system into targets coordinate system.

gtk_widget_contains

Tests if the point at (x, y) is contained in widget.

gtk_widget_create_pango_context

Creates a new PangoContext with the appropriate font map, font options, font description, and base direction for drawing text for this widget.

gtk_widget_create_pango_layout

Creates a new PangoLayout with the appropriate font map, font description, and base direction for drawing text for this widget.

gtk_drag_check_threshold

Checks to see if a drag movement has passed the GTK drag threshold.

gtk_widget_error_bell

Notifies the user about an input-related error on this widget.

gtk_widget_get_allocated_baseline

Returns the baseline that has currently been allocated to widget.

gtk_widget_get_allocated_height

Returns the height that has currently been allocated to widget.

gtk_widget_get_allocated_width

Returns the width that has currently been allocated to widget.

Methods inherited from GtkAccessible (10)
gtk_accessible_get_accessible_role

Retrieves the GtkAccessibleRole for the given GtkAccessible.

gtk_accessible_reset_property

Resets the accessible property to its default value.

gtk_accessible_reset_relation

Resets the accessible relation to its default value.

gtk_accessible_reset_state

Resets the accessible state to its default value.

gtk_accessible_update_property

Updates a list of accessible properties.

gtk_accessible_update_property_value

Updates an array of accessible properties.

gtk_accessible_update_relation

Updates a list of accessible relations.

gtk_accessible_update_relation_value

Updates an array of accessible relations.

gtk_accessible_update_state

Updates a list of accessible states. See the GtkAccessibleState documentation for the value types of accessible states.

gtk_accessible_update_state_value

Updates an array of accessible states.

Methods inherited from GtkActionable (6)
gtk_actionable_get_action_name

Gets the action name for actionable.

gtk_actionable_get_action_target_value

Gets the current target value of actionable.

gtk_actionable_set_action_name

Specifies the name of the action with which this widget should be associated.

gtk_actionable_set_action_target

Sets the target of an actionable widget.

gtk_actionable_set_action_target_value

Sets the target value of an actionable widget.

gtk_actionable_set_detailed_action_name

Sets the action-name and associated string target value of an actionable widget.

Methods inherited from GtkBuildable (1)
gtk_buildable_get_buildable_id

Gets the ID of the buildable object.

Properties

Gtk.ToggleButton:active

If the toggle button should be pressed in.

Gtk.ToggleButton:group

The toggle button whose group this widget belongs to.

Properties inherited from GtkButton (5)
Gtk.Button:child

The child widget.

Gtk.Button:has-frame

Whether the button has a frame.

Gtk.Button:icon-name

The name of the icon used to automatically populate the button.

Gtk.Button:label

Text of the label inside the button, if the button contains a label widget.

Gtk.Button:use-underline

If set, an underline in the text indicates that the following character is to be used as mnemonic.

Properties inherited from GtkWidget (34)
Gtk.Widget:can-focus

Whether the widget or any of its descendents can accept the input focus.

Gtk.Widget:can-target

Whether the widget can receive pointer events.

Gtk.Widget:css-classes

A list of css classes applied to this widget.

Gtk.Widget:css-name

The name of this widget in the CSS tree.

Gtk.Widget:cursor

The cursor used by widget.

Gtk.Widget:focus-on-click

Whether the widget should grab focus when it is clicked with the mouse.

Gtk.Widget:focusable

Whether this widget itself will accept the input focus.

Gtk.Widget:halign

How to distribute horizontal space if widget gets extra space.

Gtk.Widget:has-default

Whether the widget is the default widget.

Gtk.Widget:has-focus

Whether the widget has the input focus.

Gtk.Widget:has-tooltip

Enables or disables the emission of the ::query-tooltip signal on widget.

Gtk.Widget:height-request

Override for height request of the widget.

Gtk.Widget:hexpand

Whether to expand horizontally.

Gtk.Widget:hexpand-set

Whether to use the hexpand property.

Gtk.Widget:layout-manager

The GtkLayoutManager instance to use to compute the preferred size of the widget, and allocate its children.

Gtk.Widget:margin-bottom

Margin on bottom side of widget.

Gtk.Widget:margin-end

Margin on end of widget, horizontally.

Gtk.Widget:margin-start

Margin on start of widget, horizontally.

Gtk.Widget:margin-top

Margin on top side of widget.

Gtk.Widget:name

The name of the widget.

Gtk.Widget:opacity

The requested opacity of the widget.

Gtk.Widget:overflow

How content outside the widget’s content area is treated.

Gtk.Widget:parent

The parent widget of this widget.

Gtk.Widget:receives-default

Whether the widget will receive the default action when it is focused.

Gtk.Widget:root

The GtkRoot widget of the widget tree containing this widget.

Gtk.Widget:scale-factor

The scale factor of the widget.

Gtk.Widget:sensitive

Whether the widget responds to input.

Gtk.Widget:tooltip-markup

Sets the text of tooltip to be the given string, which is marked up with Pango markup.

Gtk.Widget:tooltip-text

Sets the text of tooltip to be the given string.

Gtk.Widget:valign

How to distribute vertical space if widget gets extra space.

Gtk.Widget:vexpand

Whether to expand vertically.

Gtk.Widget:vexpand-set

Whether to use the vexpand property.

Gtk.Widget:visible

Whether the widget is visible.

Gtk.Widget:width-request

Override for width request of the widget.

Properties inherited from GtkAccessible (1)
Gtk.Accessible:accessible-role

The accessible role of the given GtkAccessible implementation.

Properties inherited from GtkActionable (2)
Gtk.Actionable:action-name
No description available.
Gtk.Actionable:action-target
No description available.

Signals

Gtk.ToggleButton::toggled

Emitted whenever the GtkToggleButtons state is changed.

Signals inherited from GtkButton (2)
Gtk.Button::activate

Emitted to animate press then release.

Gtk.Button::clicked

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

Signals inherited from GtkWidget (13)
Gtk.Widget::destroy

Signals that all holders of a reference to the widget should release the reference that they hold.

Gtk.Widget::direction-changed

Emitted when the text direction of a widget changes.

Gtk.Widget::hide

Emitted when widget is hidden.

Gtk.Widget::keynav-failed

Emitted if keyboard navigation fails.

Gtk.Widget::map

Emitted when widget is going to be mapped.

Gtk.Widget::mnemonic-activate

Emitted when a widget is activated via a mnemonic.

Gtk.Widget::move-focus

Emitted when the focus is moved.

Gtk.Widget::query-tooltip

Emitted when the widgets tooltip is about to be shown.

Gtk.Widget::realize

Emitted when widget is associated with a GdkSurface.

Gtk.Widget::show

Emitted when widget is shown.

Gtk.Widget::state-flags-changed

Emitted when the widget state changes.

Gtk.Widget::unmap

Emitted when widget is going to be unmapped.

Gtk.Widget::unrealize

Emitted when the GdkSurface associated with widget is destroyed.

Class structure

struct GtkToggleButtonClass {
  GtkButtonClass parent_class;
  void (* toggled) (
    GtkToggleButton* toggle_button
  );
  
}
Class members
parent_class
GtkButtonClass
  No description available.
toggled
void (* toggled) (
    GtkToggleButton* toggle_button
  )
  No description available.

Virtual methods

Gtk.ToggleButtonClass.toggled

Emits the ::toggled signal on the GtkToggleButton.