1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
5 create buttons which retain their state.
7 <!-- ##### SECTION Long_Description ##### -->
9 A #GtkToggleButton is a #GtkButton which will remain 'pressed-in' when
10 clicked. Clicking again will cause the toggle button to return to it's
14 A toggle button is created by calling either gtk_toggle_button_new() or
15 gtk_toggle_button_new_with_label(). If using the former, it is advisable to
16 pack a widget, (such as a #GtkLabel and/or a #GtkPixmap), into the toggle
17 button's container. (See #GtkButton for more information).
20 The state of a #GtkToggleButton can be set specifically using
21 gtk_toggle_button_set_active(), and retrieved using
22 gtk_toggle_button_get_active().
25 To simply switch the state of a toggle button, use gtk_toggle_button_toggled.
28 <title>Creating two <structname>GtkToggleButton</structname> widgets.</title>
31 void make_toggles (void) {
32 GtkWidget *dialog, *toggle1, *toggle2;
34 dialog = gtk_dialog_new (<!-- -->);
35 toggle1 = gtk_toggle_button_new_with_label ("Hi, i'm a toggle button.");
37 /* Makes this toggle button invisible */
38 gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (toggle1), TRUE);
40 g_signal_connect (GTK_OBJECT (toggle1), "toggled",
41 G_CALLBACK (output_state), NULL);
42 gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->action_area),
43 toggle1, FALSE, FALSE, 2);
45 toggle2 = gtk_toggle_button_new_with_label ("Hi, i'm another toggle button.");
46 gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (toggle2), FALSE);
47 g_signal_connect (GTK_OBJECT (toggle2), "toggled",
48 G_CALLBACK (output_state), NULL);
49 gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->action_area),
50 toggle2, FALSE, FALSE, 2);
52 gtk_widget_show_all (dialog);
58 <!-- ##### SECTION See_Also ##### -->
62 <term>#GtkButton</term>
63 <listitem><para>a more general button.</para></listitem>
66 <term>#GtkCheckButton</term>
67 <listitem><para>another way of presenting a toggle option.</para></listitem>
70 <term>#GtkCheckMenuItem</term>
71 <listitem><para>a #GtkToggleButton as a menu item.</para></listitem>
76 <!-- ##### STRUCT GtkToggleButton ##### -->
78 The #GtkToggleButton struct contains private data only, and should be manipulated using the functions below.
82 <!-- ##### FUNCTION gtk_toggle_button_new ##### -->
84 Creates a new toggle button. A widget should be packed into the button, as in gtk_button_new().
87 @Returns: a new toggle button.
90 <!-- ##### FUNCTION gtk_toggle_button_new_with_label ##### -->
92 Creates a new toggle button with a text label.
95 @label: a string containing the message to be placed in the toggle button.
96 @Returns: a new toggle button.
99 <!-- ##### FUNCTION gtk_toggle_button_new_with_mnemonic ##### -->
108 <!-- ##### FUNCTION gtk_toggle_button_set_mode ##### -->
110 Determines whether or not the toggle button is drawn on screen. The default mode is %FALSE, which results in the button being displayed. To make the button invisible, set <structfield>draw_indicator</structfield> to %TRUE.
113 @toggle_button: a #GtkToggleButton.
114 @draw_indicator: %TRUE or %FALSE.
117 <!-- ##### FUNCTION gtk_toggle_button_get_mode ##### -->
126 <!-- ##### MACRO gtk_toggle_button_set_state ##### -->
128 This is a deprecated macro, and is only maintained for compatibility reasons.
133 <!-- ##### FUNCTION gtk_toggle_button_toggled ##### -->
135 Emits the <link linkend="GtkToggleButton-toggled">toggled</link>
136 signal on the #GtkToggleButton. There is no good reason for an
137 application ever to call this function.
140 @toggle_button: a #GtkToggleButton.
143 <!-- ##### FUNCTION gtk_toggle_button_get_active ##### -->
145 Queries a #GtkToggleButton and returns it's current state. Returns %TRUE if
146 the toggle button is pressed in and %FALSE if it is raised.
149 @toggle_button: a #GtkToggleButton.
150 @Returns: a #gboolean value.
153 <!-- ##### FUNCTION gtk_toggle_button_set_active ##### -->
155 Sets the status of the toggle button. Set to %TRUE if you want the
156 GtkToggleButton to be 'pressed in', and %FALSE to raise it.
157 This action causes the toggled signal to be emitted.
160 @toggle_button: a #GtkToggleButton.
161 @is_active: %TRUE or %FALSE.
164 <!-- ##### FUNCTION gtk_toggle_button_get_inconsistent ##### -->
173 <!-- ##### FUNCTION gtk_toggle_button_set_inconsistent ##### -->
182 <!-- ##### SIGNAL GtkToggleButton::toggled ##### -->
184 Should be connected if you wish to perform an action whenever the
185 #GtkToggleButton's state is changed.
188 @togglebutton: the object which received the signal.
190 <!-- ##### ARG GtkToggleButton:active ##### -->
192 Sets whether the toggle button should be pressed in or not.
195 <!-- ##### ARG GtkToggleButton:inconsistent ##### -->
200 <!-- ##### ARG GtkToggleButton:draw-indicator ##### -->
202 A value of %TRUE causes the toggle button to be invisible. %FALSE displays it.