diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2019-01-13 11:59:18 -0600 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2019-01-13 11:59:18 -0600 |
commit | f974ff594a132fe651a6e620bab3e6f913d697a3 (patch) | |
tree | a2c432bc7f5706b67cad0e3c85e770a7f137e9ba /libs/gtkmm2ext | |
parent | b67bb8165b866cb37b7fa13e5cc0380bc693c4d6 (diff) |
additional API to make it nicer to get an existing action group
Diffstat (limited to 'libs/gtkmm2ext')
-rw-r--r-- | libs/gtkmm2ext/actions.cc | 12 | ||||
-rw-r--r-- | libs/gtkmm2ext/gtkmm2ext/actions.h | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/libs/gtkmm2ext/actions.cc b/libs/gtkmm2ext/actions.cc index 25d2ca148c..1b772757bc 100644 --- a/libs/gtkmm2ext/actions.cc +++ b/libs/gtkmm2ext/actions.cc @@ -360,6 +360,18 @@ ActionManager::create_action_group (void * owner, string const & name) return g; } +RefPtr<ActionGroup> +ActionManager::get_action_group (string const & name) +{ + for (ActionGroups::iterator g = groups.begin(); g != groups.end(); ++g) { + if ((*g)->get_name () == name) { + return *g; + } + } + + return RefPtr<ActionGroup> (); +} + RefPtr<Action> ActionManager::register_action (RefPtr<ActionGroup> group, const char* name, const char* label) { diff --git a/libs/gtkmm2ext/gtkmm2ext/actions.h b/libs/gtkmm2ext/gtkmm2ext/actions.h index 6bb56adaee..780c846d58 100644 --- a/libs/gtkmm2ext/gtkmm2ext/actions.h +++ b/libs/gtkmm2ext/gtkmm2ext/actions.h @@ -71,6 +71,7 @@ namespace ActionManager { LIBGTKMM2EXT_API extern void disable_active_actions (); LIBGTKMM2EXT_API extern Glib::RefPtr<Gtk::ActionGroup> create_action_group (void * owner, std::string const & group_name); + LIBGTKMM2EXT_API extern Glib::RefPtr<Gtk::ActionGroup> get_action_group (std::string const & group_name); LIBGTKMM2EXT_API extern Glib::RefPtr<Gtk::Action> register_action (Glib::RefPtr<Gtk::ActionGroup> group, const char* name, const char* label); LIBGTKMM2EXT_API extern Glib::RefPtr<Gtk::Action> register_action (Glib::RefPtr<Gtk::ActionGroup> group, |