From 458c54990b0deae0ab43f18e01c6dd4f8a682cc7 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sun, 27 Jul 2025 13:19:24 -0600 Subject: [PATCH] gtkmm2ext: change action registration functions to return ToggleAction or RadioAction --- libs/gtkmm2ext/actions.cc | 23 ++++++++++------------- libs/gtkmm2ext/gtkmm2ext/actions.h | 8 ++++---- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/libs/gtkmm2ext/actions.cc b/libs/gtkmm2ext/actions.cc index 073de5c4b7..087a0b839f 100644 --- a/libs/gtkmm2ext/actions.cc +++ b/libs/gtkmm2ext/actions.cc @@ -430,7 +430,7 @@ ActionManager::register_action (RefPtr group, return RefPtr(); } -RefPtr +RefPtr ActionManager::register_radio_action (RefPtr group, Gtk::RadioAction::Group& rgroup, const char* name, const char* label, @@ -439,9 +439,8 @@ ActionManager::register_radio_action (RefPtr group, string fullpath; DEBUG_TRACE (PBD::DEBUG::Actions, string_compose ("creating action %1 in %2\n", name, group->get_name())); - RefPtr act = RadioAction::create (rgroup, name, label); + RefPtr act = RadioAction::create (rgroup, name, label); DEBUG_TRACE (PBD::DEBUG::Actions, string_compose ("created action %1 in %2 success: %3\n", name, group->get_name(), (bool) act)); - RefPtr ract = RefPtr::cast_dynamic(act); fullpath = group->get_name(); fullpath += '/'; @@ -453,22 +452,20 @@ ActionManager::register_radio_action (RefPtr group, } /* already registered */ - return RefPtr(); + return RefPtr(); } -RefPtr +RefPtr ActionManager::register_radio_action (RefPtr group, Gtk::RadioAction::Group& rgroup, const char* name, const char* label, - sigc::slot sl, + sigc::slot sl, int value) { string fullpath; - RefPtr act = RadioAction::create (rgroup, name, label); + RefPtr act = RadioAction::create (rgroup, name, label); DEBUG_TRACE (PBD::DEBUG::Actions, string_compose ("created radio-action %1 in %2 success: %3\n", name, group->get_name(), (bool) act)); - RefPtr ract = RefPtr::cast_dynamic(act); - ract->property_value() = value; fullpath = group->get_name(); fullpath += '/'; @@ -481,10 +478,10 @@ ActionManager::register_radio_action (RefPtr group, /* already registered */ - return RefPtr(); + return RefPtr(); } -RefPtr +RefPtr ActionManager::register_toggle_action (RefPtr group, const char* name, const char* label, sigc::slot sl) { @@ -494,7 +491,7 @@ ActionManager::register_toggle_action (RefPtr group, fullpath += '/'; fullpath += name; - RefPtr act = ToggleAction::create (name, label); + RefPtr act = ToggleAction::create (name, label); DEBUG_TRACE (PBD::DEBUG::Actions, string_compose ("created action %1 in %2 success: %3\n", name, group->get_name(), (bool) act)); if (actions.insert (ActionMap::value_type (fullpath, act)).second) { @@ -503,7 +500,7 @@ ActionManager::register_toggle_action (RefPtr group, } /* already registered */ - return RefPtr(); + return RefPtr(); } void diff --git a/libs/gtkmm2ext/gtkmm2ext/actions.h b/libs/gtkmm2ext/gtkmm2ext/actions.h index 5b19bdba2a..528167fd24 100644 --- a/libs/gtkmm2ext/gtkmm2ext/actions.h +++ b/libs/gtkmm2ext/gtkmm2ext/actions.h @@ -87,16 +87,16 @@ namespace ActionManager { LIBGTKMM2EXT_API extern Glib::RefPtr register_action (Glib::RefPtr group, const char* name, const char* label); LIBGTKMM2EXT_API extern Glib::RefPtr register_action (Glib::RefPtr group, const char* name, const char* label, sigc::slot sl); - LIBGTKMM2EXT_API extern Glib::RefPtr register_radio_action (Glib::RefPtr group, + LIBGTKMM2EXT_API extern Glib::RefPtr register_radio_action (Glib::RefPtr group, Gtk::RadioAction::Group&, const char* name, const char* label, - sigc::slot sl, + sigc::slot sl, int value); - LIBGTKMM2EXT_API extern Glib::RefPtr register_radio_action (Glib::RefPtr group, + LIBGTKMM2EXT_API extern Glib::RefPtr register_radio_action (Glib::RefPtr group, Gtk::RadioAction::Group&, const char* name, const char* label, sigc::slot sl); - LIBGTKMM2EXT_API extern Glib::RefPtr register_toggle_action (Glib::RefPtr group, + LIBGTKMM2EXT_API extern Glib::RefPtr register_toggle_action (Glib::RefPtr group, const char* name, const char* label, sigc::slot sl); LIBGTKMM2EXT_API extern Glib::RefPtr get_action (const std::string& name, bool or_die = true);