X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fgtkmm2ext%2Fbindings.cc;h=cf98bbca4dd6b2080411497d00b6a32436951bef;hb=dd4c788d3e21b4f697f7eb6f2e64bc0d94ebf7fb;hp=11b55932a4d1336f13c5b05f05bff4173a53646b;hpb=3421c6e8141e0c31ff59c8211aa57d7566a51db8;p=ardour.git
diff --git a/libs/gtkmm2ext/bindings.cc b/libs/gtkmm2ext/bindings.cc
index 11b55932a4..cf98bbca4d 100644
--- a/libs/gtkmm2ext/bindings.cc
+++ b/libs/gtkmm2ext/bindings.cc
@@ -781,6 +781,7 @@ Bindings::save_all_bindings_as_html (ostream& ostr)
ostr << "\n
\n";
ostr << PROGRAM_NAME;
ostr << "\n";
+ ostr << "\n";
ostr << "\n\n";
@@ -1173,6 +1174,7 @@ ActionMap::get_actions (ActionMap::Actions& acts)
}
}
+
RefPtr
ActionMap::find_action (const string& name)
{
@@ -1182,9 +1184,76 @@ ActionMap::find_action (const string& name)
return a->second;
}
+ cerr << "Failed to find action: [" << name << ']' << endl;
+ return RefPtr();
+}
+
+RefPtr
+ActionMap::find_toggle_action (const string& name)
+{
+ RefPtr act = find_action (name);
+
+ if (!act) {
+ return RefPtr();
+ }
+
+ return Glib::RefPtr::cast_dynamic (act);
+}
+
+RefPtr
+ActionMap::find_radio_action (const string& name)
+{
+ RefPtr act = find_action (name);
+
+ if (!act) {
+ return RefPtr();
+ }
+
+ return Glib::RefPtr::cast_dynamic (act);
+}
+
+RefPtr
+ActionMap::find_action (char const * group_name, char const * action_name)
+{
+ string fullpath (group_name);
+ fullpath += '/';
+ fullpath += action_name;
+
+ _ActionMap::iterator a = _actions.find (fullpath);
+
+ if (a != _actions.end()) {
+ return a->second;
+ }
+
+ cerr << "Failed to find action (2): [" << fullpath << ']' << endl;
return RefPtr();
}
+RefPtr
+ActionMap::find_toggle_action (char const * group_name, char const * action_name)
+{
+ RefPtr act = find_action (group_name, action_name);
+
+ if (!act) {
+ return RefPtr();
+ }
+
+ return Glib::RefPtr::cast_dynamic (act);
+}
+
+RefPtr
+ActionMap::find_radio_action (char const * group_name, char const * action_name)
+{
+ RefPtr act = find_action (group_name, action_name);
+
+ if (!act) {
+ return RefPtr();
+ }
+
+ return Glib::RefPtr::cast_dynamic (act);
+}
+
+
RefPtr
ActionMap::create_action_group (const string& name)
{