Class
GtkToggleButton
Description [src]
class Gtk.ToggleButton : Gtk.Button
implements Gtk.Accessible, Gtk.Actionable, Gtk.Buildable, Gtk.ConstraintTarget {
/* 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.
Accessibility
GtkToggleButton
uses the GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON
role.
Creating two GtkToggleButton
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));
}
Instance methods
Methods inherited from GtkButton (12)
gtk_button_get_can_shrink
Retrieves whether the button can be smaller than the natural size of its contents.
since: 4.12
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_can_shrink
Sets whether the button size can be smaller than the natural size of its contents.
since: 4.12
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 GtkAccessible (19)
gtk_accessible_announce
Requests the user’s screen reader to announce the given message.
since: 4.14
gtk_accessible_get_accessible_parent
Retrieves the accessible parent for an accessible object.
since: 4.10
gtk_accessible_get_accessible_role
Retrieves the accessible role of an accessible object.
gtk_accessible_get_at_context
Retrieves the accessible implementation for the given GtkAccessible
.
since: 4.10
gtk_accessible_get_bounds
Queries the coordinates and dimensions of this accessible.
since: 4.10
gtk_accessible_get_first_accessible_child
Retrieves the first accessible child of an accessible object.
since: 4.10
gtk_accessible_get_next_accessible_sibling
Retrieves the next accessible sibling of an accessible object.
since: 4.10
gtk_accessible_get_platform_state
Query a platform state, such as focus.
since: 4.10
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_set_accessible_parent
Sets the parent and sibling of an accessible object.
since: 4.10
gtk_accessible_update_next_accessible_sibling
Updates the next accessible sibling of self
.
since: 4.10
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)
Properties
Properties inherited from GtkButton (6)
Gtk.Button:can-shrink
Whether the size of the button can be made smaller than the natural size of its contents.
since: 4.12
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)
Properties inherited from GtkActionable (2)
GtkActionable:action-name
The name of the action with which this widget should be associated.
GtkActionable:action-target
The target value of the actionable widget’s action.
Signals
Signals inherited from GtkButton (2)
GtkButton::activate
Emitted to animate press then release.
GtkButton::clicked
Emitted when the button has been activated (pressed and released).
Signals inherited from GtkWidget (13)
GtkWidget::destroy
Signals that all holders of a reference to the widget should release the reference that they hold.
GtkWidget::direction-changed
Emitted when the text direction of a widget changes.
GtkWidget::hide
Emitted when widget
is hidden.
GtkWidget::keynav-failed
Emitted if keyboard navigation fails.
GtkWidget::map
Emitted when widget
is going to be mapped.
GtkWidget::mnemonic-activate
Emitted when a widget is activated via a mnemonic.
GtkWidget::move-focus
Emitted when the focus is moved.
GtkWidget::query-tooltip
Emitted when the widget’s tooltip is about to be shown.
GtkWidget::realize
Emitted when widget
is associated with a GdkSurface
.
GtkWidget::show
Emitted when widget
is shown.
GtkWidget::state-flags-changed
Emitted when the widget state changes.
GtkWidget::unmap
Emitted when widget
is going to be unmapped.
GtkWidget::unrealize
Emitted when the GdkSurface
associated with widget
is destroyed.
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.
Class structure
struct GtkToggleButtonClass {
GtkButtonClass parent_class;
void (* toggled) (
GtkToggleButton* toggle_button
);
}
No description available.
Class members
parent_class: GtkButtonClass
No description available.
toggled: void (* toggled) ( GtkToggleButton* toggle_button )
No description available.