Gtk2::ActionGroup(3)
π Gtk2::ActionGroup π
okay bestie, gather round, because this is the Perl wrapper for GtkActionGroup and it's genuinely iconic π
NOTE: Translation π«Ά In C, gtk+'s action groups can use the translation domain to make sure action labels and tooltips get translated along with the rest of the app. BUT β and this is the messy part β the translation function wasn't available for the Perl bindings to call until gtk+ 2.6. Meaning: before that, setting the translation domain literally did nothing. π Translation of action groups is supported in Perl as of Gtk2 1.080, using gtk+ 2.6.0 or later. periodt.
πΈ HIERARCHY πΈ
Glib::Object
+----Gtk2::ActionGroup
π¦ INTERFACES π¦
Gtk2::Buildable
β¨ METHODS β¨
π actiongroup = Gtk2::ActionGroup->new ($name)
$nameβ a string. it's giving naming rights, use them wisely π
π action = $action_group->get_action ($action_name)
$action_nameβ a string.
π $action_group->add_action ($action)
$actionβ aGtk2::Action.
πΈ $action_group->add_action_with_accel ($action, $accelerator)
$actionβ aGtk2::Action.$acceleratorβ a string, orundef.
β¨ $action_group->add_actions ($action_entries, $user_data=undef)
$action_entriesβ a scalar.$user_dataβ a scalar.
π₯ $action_group->add_radio_actions ($radio_action_entries, $value, $on_change, $user_data=undef)
$radio_action_entriesβ a scalar.$valueβ an integer.$on_changeβ a scalar.$user_dataβ a scalar.
Create and add a set of Gtk2::RadioAction actions to $action_group. For example:
$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, and every element in it 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 doing the same job. A name is mandatory, everything else is optional. value defaults to 0 if it's 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 gets connected to the changed signal on the first action created. Peep Gtk2::RadioAction for that signal π
π
$action_group->add_toggle_actions ($toggle_action_entries, $user_data=undef)
$toggle_action_entriesβ a scalar.$user_dataβ a scalar.
β list = $action_group->list_actions
no args, just vibes.
π string = $action_group->get_name
also no args.
π $action_group->remove_action ($action)
$actionβ aGtk2::Action.
π§ boolean = $action_group->get_sensitive
yep.
π¦ $action_group->set_sensitive ($sensitive)
$sensitiveβ a boolean.
π $action_group->set_translate_func ($func, $data=undef)
$funcβ a scalar.$dataβ a scalar.
Since: gtk+ 2.6
πΈ string = $action_group->translate_string ($string)
$stringβ a string.
Since: gtk+ 2.6
π $action_group->set_translation_domain ($domain)
$domainβ a string.
π boolean = $action_group->get_visible
bestie. it returns a boolean. that's the whole thing.
π $action_group->set_visible ($sensitive)
$sensitiveβ a boolean. (yes, it's called$sensitiveeven though it's about visibility, we don't make the rules π)
π PROPERTIES π
'name'(string : default undef : readable / writable / construct-only / private / static-nick / static-blurb) β A name for the action group.'sensitive'(boolean : default true : readable / writable / private / static-nick / static-blurb) β Whether the action group is enabled.'visible'(boolean : default true : readable / writable / private / static-nick / static-blurb) β Whether the action group is visible.
π SIGNALS π
connect-proxy(Gtk2::ActionGroup,Gtk2::Action,Gtk2::Widget)disconnect-proxy(Gtk2::ActionGroup,Gtk2::Action,Gtk2::Widget)post-activate(Gtk2::ActionGroup,Gtk2::Action)pre-activate(Gtk2::ActionGroup,Gtk2::Action)
π SEE ALSO π
Gtk2, Glib::Object
π COPYRIGHT π
Copyright (C) 2003-2011 by the gtk2-perl team.
This software is licensed under the LGPL. See Gtk2 for a full notice.
okay that's the whole page, no cap π«Ά this was documented in perl v5.42.0, dated 2025-07-25 β go forth and group your actions, you absolute icon πβ¨
π¦ where this page comes from
- fedora 43: perl-Gtk2 1.24993-23.fc43 Β· LicenseRef-Callaway-LGPLv2+
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms