summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext/bindings.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2018-12-06 22:12:27 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2018-12-06 22:12:34 -0500
commitdd4c788d3e21b4f697f7eb6f2e64bc0d94ebf7fb (patch)
treedfe39aa55c8c3e57e58399dd56f37751eeff26b6 /libs/gtkmm2ext/bindings.cc
parent927a33c5f3a0f67adea222aad34bbf435c61f6ca (diff)
add syntactic sugar for fetching toggle and radio actions
Diffstat (limited to 'libs/gtkmm2ext/bindings.cc')
-rw-r--r--libs/gtkmm2ext/bindings.cc49
1 files changed, 49 insertions, 0 deletions
diff --git a/libs/gtkmm2ext/bindings.cc b/libs/gtkmm2ext/bindings.cc
index 1c84a5a5ca..cf98bbca4d 100644
--- a/libs/gtkmm2ext/bindings.cc
+++ b/libs/gtkmm2ext/bindings.cc
@@ -1188,6 +1188,30 @@ ActionMap::find_action (const string& name)
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)
{
@@ -1205,6 +1229,31 @@ ActionMap::find_action (char const * group_name, char const * action_name)
return RefPtr<Action>();
}
+RefPtr<ToggleAction>
+ActionMap::find_toggle_action (char const * group_name, char const * action_name)
+{
+ RefPtr<Action> act = find_action (group_name, action_name);
+
+ if (!act) {
+ return RefPtr<ToggleAction>();
+ }
+
+ return Glib::RefPtr<ToggleAction>::cast_dynamic (act);
+}
+
+RefPtr<RadioAction>
+ActionMap::find_radio_action (char const * group_name, char const * action_name)
+{
+ RefPtr<Action> act = find_action (group_name, action_name);
+
+ if (!act) {
+ return RefPtr<RadioAction>();
+ }
+
+ return Glib::RefPtr<RadioAction>::cast_dynamic (act);
+}
+
+
RefPtr<ActionGroup>
ActionMap::create_action_group (const string& name)
{