diff options
author | David Robillard <d@drobilla.net> | 2011-10-22 03:08:06 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-10-22 03:08:06 +0000 |
commit | ac1d6d135bda8d739fdb8bf564f89c38b664c097 (patch) | |
tree | d750da79dd88b64ab2a88cca1651c2a5a240bd72 /src/gui/ObjectMenu.cpp | |
parent | 143968e38cc2f058dd7c500e984904a39864d652 (diff) | |
download | ingen-ac1d6d135bda8d739fdb8bf564f89c38b664c097.tar.gz ingen-ac1d6d135bda8d739fdb8bf564f89c38b664c097.tar.bz2 ingen-ac1d6d135bda8d739fdb8bf564f89c38b664c097.zip |
De-singleton-ify GUI.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3584 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/ObjectMenu.cpp')
-rw-r--r-- | src/gui/ObjectMenu.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/gui/ObjectMenu.cpp b/src/gui/ObjectMenu.cpp index 693dec73..10dffa6d 100644 --- a/src/gui/ObjectMenu.cpp +++ b/src/gui/ObjectMenu.cpp @@ -36,6 +36,7 @@ namespace GUI { ObjectMenu::ObjectMenu(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& xml) : Gtk::Menu(cobject) + , _app(NULL) , _polyphonic_menuitem(NULL) , _disconnect_menuitem(NULL) , _rename_menuitem(NULL) @@ -53,12 +54,11 @@ ObjectMenu::ObjectMenu(BaseObjectType* cobject, } void -ObjectMenu::init(SharedPtr<const ObjectModel> object) +ObjectMenu::init(App& app, SharedPtr<const ObjectModel> object) { + _app = &app; _object = object; - App& app = App::instance(); - _polyphonic_menuitem->signal_toggled().connect( sigc::mem_fun(this, &ObjectMenu::on_menu_polyphonic)); @@ -74,7 +74,7 @@ ObjectMenu::init(SharedPtr<const ObjectModel> object) sigc::mem_fun(this, &ObjectMenu::on_menu_disconnect)); _rename_menuitem->signal_activate().connect(sigc::bind( - sigc::mem_fun(app.window_factory(), &WindowFactory::present_rename), + sigc::mem_fun(_app->window_factory(), &WindowFactory::present_rename), object)); _destroy_menuitem->signal_activate().connect( @@ -94,9 +94,9 @@ ObjectMenu::init(SharedPtr<const ObjectModel> object) void ObjectMenu::on_menu_learn() { - App::instance().engine()->set_property(_object->path(), - App::instance().uris().ingen_controlBinding, - App::instance().uris().wildcard); + _app->engine()->set_property(_object->path(), + _app->uris().ingen_controlBinding, + _app->uris().wildcard); } void @@ -104,24 +104,24 @@ ObjectMenu::on_menu_unlearn() { Resource::Properties remove; remove.insert(std::make_pair( - App::instance().uris().ingen_controlBinding, - App::instance().uris().wildcard)); - App::instance().engine()->delta(_object->path(), remove, Resource::Properties()); + _app->uris().ingen_controlBinding, + _app->uris().wildcard)); + _app->engine()->delta(_object->path(), remove, Resource::Properties()); } void ObjectMenu::on_menu_polyphonic() { if (_enable_signal) - App::instance().engine()->set_property(_object->path(), - App::instance().uris().ingen_polyphonic, + _app->engine()->set_property(_object->path(), + _app->uris().ingen_polyphonic, bool(_polyphonic_menuitem->get_active())); } void ObjectMenu::property_changed(const URI& predicate, const Atom& value) { - const URIs& uris = App::instance().uris(); + const URIs& uris = _app->uris(); _enable_signal = false; if (predicate == uris.ingen_polyphonic && value.type() == Atom::BOOL) _polyphonic_menuitem->set_active(value.get_bool()); @@ -131,13 +131,13 @@ ObjectMenu::property_changed(const URI& predicate, const Atom& value) void ObjectMenu::on_menu_destroy() { - App::instance().engine()->del(_object->path()); + _app->engine()->del(_object->path()); } void ObjectMenu::on_menu_properties() { - App::instance().window_factory()->present_properties(_object); + _app->window_factory()->present_properties(_object); } } // namespace GUI |