add basic concept of an "owner" for an action group, to allow later grouping
This commit is contained in:
parent
4b0f0f913b
commit
1de181479f
@ -37,6 +37,7 @@
|
|||||||
#include <glibmm/miscutils.h>
|
#include <glibmm/miscutils.h>
|
||||||
|
|
||||||
#include "pbd/error.h"
|
#include "pbd/error.h"
|
||||||
|
#include "pbd/stacktrace.h"
|
||||||
|
|
||||||
#include "gtkmm2ext/actions.h"
|
#include "gtkmm2ext/actions.h"
|
||||||
#include "gtkmm2ext/utils.h"
|
#include "gtkmm2ext/utils.h"
|
||||||
@ -302,6 +303,7 @@ ActionManager::get_action (char const * group_name, char const * action_name, bo
|
|||||||
}
|
}
|
||||||
|
|
||||||
cerr << "Failed to find action (2): [" << fullpath << ']' << endl;
|
cerr << "Failed to find action (2): [" << fullpath << ']' << endl;
|
||||||
|
PBD::stacktrace (std::cerr, 20);
|
||||||
return RefPtr<Action>();
|
return RefPtr<Action>();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -331,7 +333,7 @@ ActionManager::get_radio_action (char const * group_name, char const * action_na
|
|||||||
|
|
||||||
|
|
||||||
RefPtr<ActionGroup>
|
RefPtr<ActionGroup>
|
||||||
ActionManager::create_action_group (string const & name)
|
ActionManager::create_action_group (void * owner, string const & name)
|
||||||
{
|
{
|
||||||
for (ActionGroups::iterator g = groups.begin(); g != groups.end(); ++g) {
|
for (ActionGroups::iterator g = groups.begin(); g != groups.end(); ++g) {
|
||||||
if ((*g)->get_name () == name) {
|
if ((*g)->get_name () == name) {
|
||||||
@ -341,6 +343,7 @@ ActionManager::create_action_group (string const & name)
|
|||||||
|
|
||||||
RefPtr<ActionGroup> g = ActionGroup::create (name);
|
RefPtr<ActionGroup> g = ActionGroup::create (name);
|
||||||
|
|
||||||
|
g->set_data (X_("owner"), owner);
|
||||||
groups.push_back (g);
|
groups.push_back (g);
|
||||||
|
|
||||||
/* this is one of the places where our own Action management code
|
/* this is one of the places where our own Action management code
|
||||||
|
@ -1045,7 +1045,6 @@ Bindings::get_bindings (string const& name)
|
|||||||
{
|
{
|
||||||
for (list<Bindings*>::iterator b = bindings.begin(); b != bindings.end(); b++) {
|
for (list<Bindings*>::iterator b = bindings.begin(); b != bindings.end(); b++) {
|
||||||
if ((*b)->name() == name) {
|
if ((*b)->name() == name) {
|
||||||
(*b)->reassociate (); // XXX important side-effects, wierd to call it here
|
|
||||||
return *b;
|
return *b;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -70,7 +70,7 @@ namespace ActionManager {
|
|||||||
LIBGTKMM2EXT_API extern void enable_active_actions ();
|
LIBGTKMM2EXT_API extern void enable_active_actions ();
|
||||||
LIBGTKMM2EXT_API extern void disable_active_actions ();
|
LIBGTKMM2EXT_API extern void disable_active_actions ();
|
||||||
|
|
||||||
LIBGTKMM2EXT_API extern Glib::RefPtr<Gtk::ActionGroup> create_action_group (std::string const & group_name);
|
LIBGTKMM2EXT_API extern Glib::RefPtr<Gtk::ActionGroup> create_action_group (void * owner, std::string const & group_name);
|
||||||
|
|
||||||
LIBGTKMM2EXT_API extern Glib::RefPtr<Gtk::Action> register_action (Glib::RefPtr<Gtk::ActionGroup> group, const char* name, const char* label);
|
LIBGTKMM2EXT_API extern Glib::RefPtr<Gtk::Action> register_action (Glib::RefPtr<Gtk::ActionGroup> group, const char* name, const char* label);
|
||||||
LIBGTKMM2EXT_API extern Glib::RefPtr<Gtk::Action> register_action (Glib::RefPtr<Gtk::ActionGroup> group,
|
LIBGTKMM2EXT_API extern Glib::RefPtr<Gtk::Action> register_action (Glib::RefPtr<Gtk::ActionGroup> group,
|
||||||
|
Loading…
Reference in New Issue
Block a user