summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext/actions.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/gtkmm2ext/actions.cc')
-rw-r--r--libs/gtkmm2ext/actions.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/libs/gtkmm2ext/actions.cc b/libs/gtkmm2ext/actions.cc
index 00d85d35c6..25d2ca148c 100644
--- a/libs/gtkmm2ext/actions.cc
+++ b/libs/gtkmm2ext/actions.cc
@@ -474,6 +474,21 @@ ActionManager::register_toggle_action (RefPtr<ActionGroup> group,
}
void
+ActionManager::get_actions (void* owner, std::vector<Glib::RefPtr<Gtk::Action> >& acts)
+{
+ for (ActionMap::const_iterator a = actions.begin(); a != actions.end(); ++a) {
+ if (owner) {
+ Glib::RefPtr<Gtk::ActionGroup> group = a->second->property_action_group ();
+ if (group->get_data (X_("owner")) == owner) {
+ acts.push_back (a->second);
+ }
+ } else {
+ acts.push_back (a->second);
+ }
+ }
+}
+
+void
ActionManager::get_all_actions (std::vector<std::string>& paths,
std::vector<std::string>& labels,
std::vector<std::string>& tooltips,