A Gtk.Radio_Action.Gtk_Radio_Action is similar to Gtk.Radio_Menu_Item.Gtk_Radio_Menu_Item. A number of radio actions can be linked together so that only one may be active at any one time.
<group>Action-based menus</group> <see>Gtk_Action</see>
function "+"
(Widget : access Gtk_Radio_Action_Record'Class)
return Gtk.Buildable.Gtk_Buildable
function "-"
(Interf : Gtk.Buildable.Gtk_Buildable)
return Gtk_Radio_Action
type Cb_GObject_Gtk_Radio_Action_Void is not null access procedure
(Self : access Glib.Object.GObject_Record'Class;
Current : not null access Gtk_Radio_Action_Record'Class);
type Cb_Gtk_Radio_Action_Gtk_Radio_Action_Void is not null access procedure
(Self : access Gtk_Radio_Action_Record'Class;
Current : not null access Gtk_Radio_Action_Record'Class);
Current_Value_Property : constant Glib.Properties.Property_Int;
The value property of the currently active member of the group to which this action belongs.
function Get_Current_Value
(Action : not null access Gtk_Radio_Action_Record) return Glib.Gint
Obtains the value property of the currently active member of the group to which Action belongs. Since: gtk+ 2.4 Deprecated since 3.10, 1
The value of the currently active group member
function Get_Group
(Action : not null access Gtk_Radio_Action_Record)
return Gtk.Widget.Widget_SList.GSlist
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);
}
Since: gtk+ 2.4 Deprecated since 3.10, 1
function Get_Type return Glib.GType
Group_Property : constant Glib.Properties.Property_Object;
Type: Gtk_Radio_Action Flags: write Sets a new group for a radio action.
procedure Gtk_New
(Action : out Gtk_Radio_Action;
Name : UTF8_String;
Label : UTF8_String := "";
Tooltip : UTF8_String := "";
Stock_Id : UTF8_String := "";
Value : Glib.Gint)
Creates a new Gtk.Radio_Action.Gtk_Radio_Action object. To add the action to a Gtk.Action_Group.Gtk_Action_Group and set the accelerator for the action, call Gtk.Action_Group.Add_Action_With_Accel. Since: gtk+ 2.4 Initialize does nothing if the object was already created with another call to Initialize* or G_New.
A unique name for the action
The label displayed in menu items and on buttons, or null
A tooltip for this action, or null
The stock icon to display in widgets representing this action, or null
The value which Gtk.Radio_Action.Get_Current_Value should return if this action is selected.
type Gtk_Radio_Action is access all Gtk_Radio_Action_Record'Class;
function Gtk_Radio_Action_New
(Name : UTF8_String;
Label : UTF8_String := "";
Tooltip : UTF8_String := "";
Stock_Id : UTF8_String := "";
Value : Glib.Gint) return Gtk_Radio_Action
Creates a new Gtk.Radio_Action.Gtk_Radio_Action object. To add the action to a Gtk.Action_Group.Gtk_Action_Group and set the accelerator for the action, call Gtk.Action_Group.Add_Action_With_Accel. Since: gtk+ 2.4
A unique name for the action
The label displayed in menu items and on buttons, or null
A tooltip for this action, or null
The stock icon to display in widgets representing this action, or null
The value which Gtk.Radio_Action.Get_Current_Value should return if this action is selected.
type Gtk_Radio_Action_Record is new Gtk_Toggle_Action_Record with null record;
package Implements_Gtk_Buildable is new Glib.Types.Implements
(Gtk.Buildable.Gtk_Buildable, Gtk_Radio_Action_Record, Gtk_Radio_Action);
procedure Initialize
(Action : not null access Gtk_Radio_Action_Record'Class;
Name : UTF8_String;
Label : UTF8_String := "";
Tooltip : UTF8_String := "";
Stock_Id : UTF8_String := "";
Value : Glib.Gint)
Creates a new Gtk.Radio_Action.Gtk_Radio_Action object. To add the action to a Gtk.Action_Group.Gtk_Action_Group and set the accelerator for the action, call Gtk.Action_Group.Add_Action_With_Accel. Since: gtk+ 2.4 Initialize does nothing if the object was already created with another call to Initialize* or G_New.
A unique name for the action
The label displayed in menu items and on buttons, or null
A tooltip for this action, or null
The stock icon to display in widgets representing this action, or null
The value which Gtk.Radio_Action.Get_Current_Value should return if this action is selected.
procedure Join_Group
(Action : not null access Gtk_Radio_Action_Record;
Group_Source : access Gtk_Radio_Action_Record'Class)
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;
}
Since: gtk+ 3.0 Deprecated since 3.10, 1
a radio action object whos group we are joining, or null to remove the radio action from its group
procedure On_Changed
(Self : not null access Gtk_Radio_Action_Record;
Call : Cb_GObject_Gtk_Radio_Action_Void;
Slot : not null access Glib.Object.GObject_Record'Class;
After : Boolean := False)
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.
procedure On_Changed
(Self : not null access Gtk_Radio_Action_Record;
Call : Cb_Gtk_Radio_Action_Gtk_Radio_Action_Void;
After : Boolean := False)
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.
procedure Set_Current_Value
(Action : not null access Gtk_Radio_Action_Record;
Current_Value : Glib.Gint)
Sets the currently active group member to the member with value property Current_Value. Since: gtk+ 2.10 Deprecated since 3.10, 1
the new value
procedure Set_Group
(Action : not null access Gtk_Radio_Action_Record;
Group : Gtk.Widget.Widget_SList.GSlist)
Sets the radio group for the radio action object. A common way to set up a group of radio group is the following:
Group : GSlist := null;
Action : Gtk_Radio_Action;
while ... loop
Gtk_New (Action, ...);
Set_Group (Action, Group);
Group := Get_Group (Action);
end loop;
Since: gtk+ 2.4 Deprecated since 3.10, 1
a list representing a radio group, or null
Signal_Changed : constant Glib.Signal_Name := "changed";
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.
Value_Property : constant Glib.Properties.Property_Int;
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 Gtk_Radio_Action_Entry for convenient ways to get and set this property.