forked from AuroraMiddleware/gtk
198 lines
5.4 KiB
Plaintext
198 lines
5.4 KiB
Plaintext
<!-- ##### SECTION Title ##### -->
|
|
GtkRadioButton
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
|
A choice from multiple check buttons
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
<para>
|
|
A single radio button performs the same basic function as a #GtkCheckButton,
|
|
as its position in the object hierarchy reflects. It is only when multiple
|
|
radio buttons are grouped together that they become a different user
|
|
interface component in their own right.</para>
|
|
<para>
|
|
Every radio button is a member of some group of radio buttons. When one is selected, all other
|
|
radio buttons in the same group are deselected. A #GtkRadioButton is one way
|
|
of giving the user a choice from many options.
|
|
</para>
|
|
<para>
|
|
Radio button widgets are created with gtk_radio_button_new(), passing NULL
|
|
as the argument if this is the first radio button in a group. In subsequent
|
|
calls, the group you wish to add this button to should be passed as an
|
|
argument. Optionally, gtk_radio_button_new_with_label() can be used if you
|
|
want a text label on the radio button.
|
|
</para>
|
|
<para>
|
|
Alternatively, when adding widgets to an existing group of radio buttons,
|
|
use gtk_radio_button_new_from_widget() with a #GtkRadioButton that already
|
|
has a group assigned to it. The convenience function
|
|
gtk_radio_button_new_with_label_from_widget() is also provided.
|
|
</para>
|
|
<para>
|
|
To retrieve the group a #GtkRadioButton is assigned to, use
|
|
gtk_radio_button_get_group().
|
|
</para>
|
|
<para>
|
|
To remove a #GtkRadioButton from one group and make it part of a new one, use gtk_radio_button_set_group().
|
|
</para>
|
|
<para>
|
|
The group list does not need to be freed, as each #GtkRadioButton will remove
|
|
itself and its list item when it is destroyed.
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>How to create a group of two radio buttons.</title>
|
|
<programlisting>
|
|
|
|
void create_radio_buttons (void) {
|
|
|
|
GtkWidget *window, *radio1, *radio2, *box, *entry;
|
|
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
|
box = gtk_vbox_new (TRUE, 2);
|
|
|
|
/* Create a radio button with a GtkEntry widget */
|
|
radio1 = gtk_radio_button_new (NULL);
|
|
entry = gtk_entry_new (<!-- -->);
|
|
gtk_container_add (GTK_CONTAINER (radio1), entry);
|
|
|
|
|
|
/* Create a radio button with a label */
|
|
radio2 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio1),
|
|
"I'm the second radio button.");
|
|
|
|
/* Pack them into a box, then show all the widgets */
|
|
gtk_box_pack_start (GTK_BOX (box), radio1, TRUE, TRUE, 2);
|
|
gtk_box_pack_start (GTK_BOX (box), radio2, TRUE, TRUE, 2);
|
|
gtk_container_add (GTK_CONTAINER (window), box);
|
|
gtk_widget_show_all (window);
|
|
return;
|
|
}
|
|
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
<para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>#GtkOptionMenu</term>
|
|
<listitem><para>Another way of offering the user a single choice from
|
|
many.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
</para>
|
|
|
|
<!-- ##### STRUCT GtkRadioButton ##### -->
|
|
<para>
|
|
Contains only private data that should be read and manipulated using the
|
|
functions below.
|
|
</para>
|
|
|
|
|
|
<!-- ##### SIGNAL GtkRadioButton::group-changed ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@radiobutton: the object which received the signal.
|
|
|
|
<!-- ##### ARG GtkRadioButton:group ##### -->
|
|
<para>
|
|
Sets a new group for a radio button.
|
|
</para>
|
|
|
|
<!-- ##### FUNCTION gtk_radio_button_new ##### -->
|
|
<para>
|
|
Creates a new #GtkRadioButton. To be of any practical value, a widget should
|
|
then be packed into the radio button.
|
|
</para>
|
|
|
|
@group: an existing radio button group, or %NULL if you are creating a new group.
|
|
@Returns: a new radio button.
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_radio_button_new_from_widget ##### -->
|
|
<para>
|
|
Creates a new #GtkRadioButton, adding it to the same group as @group. As
|
|
with gtk_radio_button_new(), a widget should be packed into the radio button.
|
|
</para>
|
|
|
|
@group: an existing #GtkRadioButton.
|
|
@Returns: a new radio button.
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_radio_button_new_with_label ##### -->
|
|
<para>
|
|
Creates a new #GtkRadioButton with a text label.
|
|
</para>
|
|
|
|
@group: an existing radio button group, or %NULL if you are creating a new
|
|
group.
|
|
@label: the text label to display next to the radio button.
|
|
@Returns: a new radio button.
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_radio_button_new_with_label_from_widget ##### -->
|
|
<para>
|
|
Creates a new #GtkRadioButton with a text label, adding it to the same group
|
|
as @group.
|
|
</para>
|
|
|
|
@group: an existing #GtkRadioButton.
|
|
@label: a text string to display next to the radio button.
|
|
@Returns: a new radio button.
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_radio_button_new_with_mnemonic ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@group:
|
|
@label:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_radio_button_new_with_mnemonic_from_widget ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@group:
|
|
@label:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### MACRO gtk_radio_button_group ##### -->
|
|
<para>
|
|
Deprecated compatibility macro. Use gtk_radio_button_get_group() instead.
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_radio_button_set_group ##### -->
|
|
<para>
|
|
Sets a #GtkRadioButton's group. It should be noted that this does not change
|
|
the layout of your interface in any way, so if you are changing the group,
|
|
it is likely you will need to re-arrange the user interface to reflect these
|
|
changes.
|
|
</para>
|
|
|
|
@radio_button: a #GtkRadioButton.
|
|
@group: an existing radio button group, such as one returned from
|
|
gtk_radio_button_get_group().
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_radio_button_get_group ##### -->
|
|
<para>
|
|
Retrieves the group assigned to a radio button.
|
|
</para>
|
|
|
|
@radio_button: a #GtkRadioButton.
|
|
@Returns: a linked list containing all the radio buttons in the same group
|
|
as @radio_button.
|
|
|
|
|