Sets our main struct and passes it to the parent class.
Creates a new toggle button with a text label.
Creates a new toggle button. A widget should be packed into the button, as in gtk_button_new().
Should be connected if you wish to perform an action whenever the #GtkToggleButton's state is changed.
Queries a #GtkToggleButton and returns its current state. Returns %TRUE if the toggle button is pressed in and %FALSE if it is raised.
Gets the value set by gtk_toggle_button_set_inconsistent().
Retrieves whether the button is displayed as a separate indicator and label. See gtk_toggle_button_set_mode().
the main Gtk struct as a void*
Get the main Gtk struct
Sets 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 #GtkButton::clicked signal to be emitted.
If 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 display the toggle in an “in between” state. This function turns on “in between” display. Normally you would turn off the inconsistent state again if the user toggles the toggle button. This has to be done manually, gtk_toggle_button_set_inconsistent() only affects visual appearance, it doesn’t affect the semantics of the button.
Sets 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 normal button.
Emits the #GtkToggleButton::toggled signal on the #GtkToggleButton. There is no good reason for an application ever to call this function.
the main Gtk struct
the main Gtk struct
Get the main Gtk struct
the main Gtk struct as a void*
Emits a #GtkButton::clicked signal to the given #GtkButton.
Emits a #GtkButton::enter signal to the given #GtkButton.
Gets the alignment of the child in the button.
Returns whether the button will ignore the #GtkSettings:gtk-button-images setting and always show the image, if available.
Returns the button’s event window if it is realized, %NULL otherwise. This function should be rarely needed.
Returns whether the button grabs focus when it is clicked with the mouse. See gtk_button_set_focus_on_click().
Gets the widget that is currenty set as the image of @button. This may have been explicitly set by gtk_button_set_image() or constructed by gtk_button_new_from_stock().
Gets the position of the image relative to the text inside the button.
Fetches the text from the label of the button, as set by gtk_button_set_label(). If the label text has not been set the return value will be %NULL. This will be the case if you create an empty button with gtk_button_new() to use as a container.
Returns the current relief style of the given #GtkButton.
Returns whether the button label is a stock item.
Returns whether an embedded underline in the button label indicates a mnemonic. See gtk_button_set_use_underline ().
Emits a #GtkButton::leave signal to the given #GtkButton.
Emits a #GtkButton::pressed signal to the given #GtkButton.
Emits a #GtkButton::released signal to the given #GtkButton.
Sets the alignment of the child. This property has no effect unless the child is a #GtkMisc or a #GtkAlignment.
If %TRUE, the button will ignore the #GtkSettings:gtk-button-images setting and always show the image, if available.
Sets whether the button will grab focus when it is clicked with the mouse. Making mouse clicks not grab focus is useful in places like toolbars where you don’t want the keyboard focus removed from the main area of the application.
Set the image of @button to the given widget. The image will be displayed if the label text is %NULL or if #GtkButton:always-show-image is %TRUE. You don’t have to call gtk_widget_show() on @image yourself.
Sets the position of the image relative to the text inside the button.
Sets the text of the label of the button to @str. This text is also used to select the stock item if gtk_button_set_use_stock() is used.
Sets the relief style of the edges of the given #GtkButton widget. Two styles exist, %GTK_RELIEF_NORMAL and %GTK_RELIEF_NONE. The default style is, as one can guess, %GTK_RELIEF_NORMAL. The deprecated value %GTK_RELIEF_HALF behaves the same as %GTK_RELIEF_NORMAL.
If %TRUE, the label set on the button is used as a stock id to select the stock item for the button.
If true, an underline in the text of the button label indicates the next character should be used for the mnemonic accelerator key.
The ::activate signal on GtkButton is an action signal and emitting it causes the button to animate press then release. Applications should never connect to this signal, but use the #GtkButton::clicked signal.
Emitted when the button has been activated (pressed and released).
Emitted when the pointer enters the button.
Emitted when the pointer leaves the button.
Emitted when the button is pressed.
Emitted when the button is released.
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_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().
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.
|[<!-- language="C" --> 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); } ]|