GtkRadioAction

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

Functions

Properties

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

Signals

void changed No Recursion

Types and Values

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);

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

 

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);

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:

1
2
3
4
5
6
7
8
9
10
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 GtkAction][transfer none]

Since 2.4


gtk_radio_action_set_group ()

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

Sets the radio group for the radio action object.

Parameters

action

the action object

 

group

a list representing a radio group

 

Since 2.4


gtk_radio_action_get_current_value ()

gint
gtk_radio_action_get_current_value (GtkRadioAction *action);

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);

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;

The GtkRadioAction struct contains only private members and should not be accessed directly.

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.

Flags: Read / Write

Default value: 0

Since 2.10


The “group” property

  “group”                    GtkRadioAction *

Sets a new group for a radio action.

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.

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.

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