## GtkRadioAction

GtkRadioAction — An action of which only one in a group can be active

## Functions

GtkRadioAction * | gtk_radio_action_new ()
GSList * | gtk_radio_action_get_group ()
void | gtk_radio_action_set_group ()
void | gtk_radio_action_join_group ()
gint | gtk_radio_action_get_current_value ()
void | gtk_radio_action_set_current_value ()

## Properties

gint | current-value | Read / Write
GtkRadioAction * | group | Write
gint | value | Read / Write

## Signals

void | changed | No Recursion

## Types and Values

struct | GtkRadioAction

## Object Hierarchy

        GObject
        ╰── GtkAction
            ╰── GtkToggleAction
                ╰── GtkRadioAction

## Implemented Interfaces

GtkRadioAction implements GtkBuildable.

## Includes

    #include <gtk/gtk.h>

## Description

A GtkRadioAction is similar to GtkRadioMenuItem. A number of radio actions can be linked together so that only one may be active at any one time.

## Functions

### gtk_radio_action_new ()

    GtkRadioAction *
    gtk_radio_action_new (const gchar *name,
                          const gchar *label,
                          const gchar *tooltip,
                          const gchar *stock_id,
                          gint value);

`gtk_radio_action_new` has been deprecated since version 3.10 and should not be used in newly-written code.

Creates a new GtkRadioAction object. To add the action to a GtkActionGroup and set the accelerator for the action, call `gtk_action_group_add_action_with_accel()`.

#### Parameters

name | A unique name for the action |
label | The label displayed in menu items and on buttons, or `NULL`. | [allow-none]
tooltip | A tooltip for this action, or `NULL`. | [allow-none]
stock_id | The stock icon to display in widgets representing this action, or `NULL`. | [allow-none]
value | The value which `gtk_radio_action_get_current_value()` should return if this action is selected. |

#### Returns

a new GtkRadioAction

Since: 2.4

### gtk_radio_action_get_group ()

    GSList *
    gtk_radio_action_get_group (GtkRadioAction *action);

`gtk_radio_action_get_group` has been deprecated since version 3.10 and should not be used in newly-written code.

Returns the list representing the radio group for this object. Note that the returned list is only valid until the next change to the group.

A common way to set up a group of radio group is the following:

      GSList *group = NULL;
      GtkRadioAction *action;

      while ( ...more actions to add... /)
        {
           action = gtk_radio_action_new (...);

           gtk_radio_action_set_group (action, group);
           group = gtk_radio_action_get_group (action);
        }

#### Parameters

action | the action object |

#### Returns

the list representing the radio group for this object.

[element-type GtkRadioAction][transfer none]

Since: 2.4

### gtk_radio_action_set_group ()

    void
    gtk_radio_action_set_group (GtkRadioAction *action,
                                GSList *group);

`gtk_radio_action_set_group` has been deprecated since version 3.10 and should not be used in newly-written code.

Sets the radio group for the radio action object.

#### Parameters

action | the action object |
group | a list representing a radio group, or `NULL`. | [element-type GtkRadioAction][allow-none]

Since: 2.4

### gtk_radio_action_join_group ()

    void
    gtk_radio_action_join_group (GtkRadioAction *action,
                                 GtkRadioAction *group_source);

`gtk_radio_action_join_group` has been deprecated since version 3.10 and should not be used in newly-written code.

Joins a radio action object to the group of another radio action object.

Use this in language bindings instead of the `gtk_radio_action_get_group()` and `gtk_radio_action_set_group()` methods

A common way to set up a group of radio actions is the following:

      GtkRadioAction *action;
      GtkRadioAction *last_action;

      while ( ...more actions to add... /)
        {
           action = gtk_radio_action_new (...);

           gtk_radio_action_join_group (action, last_action);
           last_action = action;
        }

#### Parameters

action | the action object |
group_source | a radio action object whos group we are joining, or `NULL` to remove the radio action from its group. | [allow-none]

Since: 3.0

### gtk_radio_action_get_current_value ()

    gint
    gtk_radio_action_get_current_value (GtkRadioAction *action);

`gtk_radio_action_get_current_value` has been deprecated since version 3.10 and should not be used in newly-written code.

Obtains the value property of the currently active member of the group to which `action` belongs.

#### Parameters

action | a GtkRadioAction |

#### Returns

The value of the currently active group member

Since: 2.4

### gtk_radio_action_set_current_value ()

    void
    gtk_radio_action_set_current_value (GtkRadioAction *action,
                                        gint current_value);

`gtk_radio_action_set_current_value` has been deprecated since version 3.10 and should not be used in newly-written code.

Sets the currently active group member to the member with value property `current_value` .

#### Parameters

action | a GtkRadioAction |
current_value | the new value |

Since: 2.10

## Types and Values

### struct GtkRadioAction

    struct GtkRadioAction;

## Property Details

### The `“current-value”` property

      “current-value”            gint

The value property of the currently active member of the group to which this action belongs.

`GtkRadioAction:current-value` has been deprecated since version 3.10 and should not be used in newly-written code.

Flags: Read / Write

Default value: 0

Since: 2.10

### The `“group”` property

      “group”                    GtkRadioAction *

Sets a new group for a radio action.

`GtkRadioAction:group` has been deprecated since version 3.10 and should not be used in newly-written code.

Flags: Write

Since: 2.4

### The `“value”` property

      “value”                    gint

The value is an arbitrary integer which can be used as a convenient way to determine which action in the group is currently active in an ::activate or ::changed signal handler. See `gtk_radio_action_get_current_value()` and GtkRadioActionEntry for convenient ways to get and set this property.

`GtkRadioAction:value` has been deprecated since version 3.10 and should not be used in newly-written code.

Flags: Read / Write

Default value: 0

Since: 2.4

## Signal Details

### The `“changed”` signal

    void
    user_function (GtkRadioAction *action,
                   GtkRadioAction *current,
                   gpointer        user_data)

The ::changed signal is emitted on every member of a radio group when the active member is changed. The signal gets emitted after the ::activate signals for the previous and current active members.

`GtkRadioAction::changed` has been deprecated since version 3.10 and should not be used in newly-written code.

#### Parameters

action | the action on which the signal is emitted |
current | the member of `action` 's group which has just been activated |
user_data | user data set when the signal handler was connected. |

Flags: No Recursion

Since: 2.4