diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2018-12-06 22:12:27 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2018-12-06 22:12:34 -0500 |
commit | dd4c788d3e21b4f697f7eb6f2e64bc0d94ebf7fb (patch) | |
tree | dfe39aa55c8c3e57e58399dd56f37751eeff26b6 /libs/gtkmm2ext/bindings.cc | |
parent | 927a33c5f3a0f67adea222aad34bbf435c61f6ca (diff) |
add syntactic sugar for fetching toggle and radio actions
Diffstat (limited to 'libs/gtkmm2ext/bindings.cc')
-rw-r--r-- | libs/gtkmm2ext/bindings.cc | 49 |
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) { |