mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-08 07:45:00 +01:00
add syntactic sugar for fetching toggle and radio actions
This commit is contained in:
parent
927a33c5f3
commit
dd4c788d3e
2 changed files with 53 additions and 0 deletions
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -107,6 +107,10 @@ class LIBGTKMM2EXT_API ActionMap {
|
|||
|
||||
Glib::RefPtr<Gtk::Action> find_action (const std::string& name);
|
||||
Glib::RefPtr<Gtk::Action> find_action (char const * group_name, char const * action_name);
|
||||
Glib::RefPtr<Gtk::ToggleAction> find_toggle_action (const std::string& name);
|
||||
Glib::RefPtr<Gtk::ToggleAction> find_toggle_action (char const * group_name, char const * action_name);
|
||||
Glib::RefPtr<Gtk::RadioAction> find_radio_action (const std::string& name);
|
||||
Glib::RefPtr<Gtk::RadioAction> find_radio_action (char const * group_name, char const * action_name);
|
||||
|
||||
void set_bindings (Bindings*);
|
||||
Bindings* bindings() const { return _bindings; }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue