NOTE: Translation
In C, gtk+'s action groups can use the translation domain to ensure that action labels and tooltips are translated along with the rest of the app. However, the translation function was not available for calling by the Perl bindings until gtk+ 2.6; that is, setting the translation domain had no effect. Translation of action groups is supported in Perl as of Gtk2 1.080 using gtk+ 2.6.0 or later.
$action_group->add_radio_actions
([ [ "Red", undef, "_Red", "<Control>R", "Blood", 1 ],
[ "Green", undef, "_Green", "<Control>G", "Grass", 2 ],
[ "Blue", undef, "_Blue", "<Control>B", "Sky", 3 ],
],
2, # initial, or -1 for no initial
sub {
my ($first_action, $selected_action, $userdata) = @_;
print "now: ", $selected_action->get_name, "\n";
},
$userdata);
radio_action_entries is an arrayref, each element of which is either a ref to a 6-element array
[ $name, # string
$stock_id, # string, or undef
$label, # string, or undef to use stock label
$accelerator, # string key name, or undef for no accel
$tooltip, # string, or undef for no tooltip
$value # integer, for $action->set_current_value etc
]
or a ref to a hash of named fields similarly. A name is mandatory, the rest are optional. value defaults to 0 if absent or undef.
{ name => $name,
stock_id => $stock_id,
label => $label,
accelerator => $accelerator,
tooltip => $tooltip,
value => $value }
If $on_change is not undef then it's a signal handler function which is connected to the changed signal on the first action created. See Gtk2::RadioAction for that signal.