+ cerr << "Failed to find action: [" << name << ']' << endl;
+ return RefPtr<Action>();
+}
+
+RefPtr<ToggleAction>
+ActionMap::find_toggle_action (const string& name)
+{
+ RefPtr<Action> act = find_action (name);
+
+ if (!act) {
+ return RefPtr<ToggleAction>();
+ }
+
+ return Glib::RefPtr<ToggleAction>::cast_dynamic (act);
+}
+
+RefPtr<RadioAction>
+ActionMap::find_radio_action (const string& name)
+{
+ RefPtr<Action> act = find_action (name);
+
+ if (!act) {
+ return RefPtr<RadioAction>();
+ }
+
+ return Glib::RefPtr<RadioAction>::cast_dynamic (act);
+}
+
+RefPtr<Action>
+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;