diff options
-rw-r--r-- | ingen/Builder.hpp | 49 | ||||
-rw-r--r-- | src/Builder.cpp | 52 | ||||
-rw-r--r-- | src/gui/GraphCanvas.cpp | 11 | ||||
-rw-r--r-- | src/wscript | 1 |
4 files changed, 6 insertions, 107 deletions
diff --git a/ingen/Builder.hpp b/ingen/Builder.hpp deleted file mode 100644 index 728a5cb9..00000000 --- a/ingen/Builder.hpp +++ /dev/null @@ -1,49 +0,0 @@ -/* - This file is part of Ingen. - Copyright 2007-2012 David Robillard <http://drobilla.net/> - - Ingen is free software: you can redistribute it and/or modify it under the - terms of the GNU Affero General Public License as published by the Free - Software Foundation, either version 3 of the License, or any later version. - - Ingen is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU Affero General Public License for details. - - You should have received a copy of the GNU Affero General Public License - along with Ingen. If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef INGEN_BUILDER_HPP -#define INGEN_BUILDER_HPP - -#include "ingen/types.hpp" - -namespace Ingen { - -class Interface; -class Node; -class URIs; - -/** Wrapper for Interface to create existing objects/models. - * - * @ingroup IngenShared - */ -class Builder -{ -public: - Builder(URIs& uris, Interface& interface); - virtual ~Builder() {} - - void build(SPtr<const Node> object); - void connect(SPtr<const Node> object); - -private: - URIs& _uris; - Interface& _interface; -}; - -} // namespace Ingen - -#endif // INGEN_BUILDER_HPP - diff --git a/src/Builder.cpp b/src/Builder.cpp deleted file mode 100644 index 7de24ed1..00000000 --- a/src/Builder.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - This file is part of Ingen. - Copyright 2007-2012 David Robillard <http://drobilla.net/> - - Ingen is free software: you can redistribute it and/or modify it under the - terms of the GNU Affero General Public License as published by the Free - Software Foundation, either version 3 of the License, or any later version. - - Ingen is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU Affero General Public License for details. - - You should have received a copy of the GNU Affero General Public License - along with Ingen. If not, see <http://www.gnu.org/licenses/>. -*/ - -#include "ingen/Arc.hpp" -#include "ingen/Atom.hpp" -#include "ingen/Builder.hpp" -#include "ingen/Interface.hpp" -#include "ingen/Node.hpp" -#include "ingen/URIs.hpp" -#include "raul/Path.hpp" - -using namespace std; - -namespace Ingen { - -Builder::Builder(URIs& uris, Interface& interface) - : _uris(uris) - , _interface(interface) -{ -} - -void -Builder::build(SPtr<const Node> object) -{ - _interface.put(object->uri(), object->properties()); -} - -void -Builder::connect(SPtr<const Node> object) -{ - if (object->graph_type() == Node::GraphType::GRAPH) { - for (auto a : object->arcs()) { - _interface.connect(a.second->tail_path(), a.second->head_path()); - } - return; - } -} - -} // namespace Ingen diff --git a/src/gui/GraphCanvas.cpp b/src/gui/GraphCanvas.cpp index 591c6fc9..3d045859 100644 --- a/src/gui/GraphCanvas.cpp +++ b/src/gui/GraphCanvas.cpp @@ -24,7 +24,6 @@ #include "ganv/Canvas.hpp" #include "ganv/Circle.hpp" -#include "ingen/Builder.hpp" #include "ingen/ClashAvoider.hpp" #include "ingen/Configuration.hpp" #include "ingen/Interface.hpp" @@ -725,7 +724,6 @@ GraphCanvas::paste() const URIs& uris = _app.uris(); - Builder builder(_app.world()->uris(), *_app.interface()); ClientStore clipboard(_app.world()->uris(), _app.log()); clipboard.set_plugins(_app.store()->plugins()); @@ -762,6 +760,7 @@ GraphCanvas::paste() parser->parse_string(_app.world(), &avoider, str, base_uri, parent, symbol); + // Create objects for (const auto& c : clipboard) { if (_graph->path().is_root() && c.first.is_root()) continue; @@ -778,12 +777,14 @@ GraphCanvas::paste() y->second = _app.forge().make( y->second.get<float>() + (20.0f * _paste_count)); - builder.build(c.second); + _app.interface()->put(c.second->uri(), c.second->properties()); _pastees.insert(c.first); } - builder.connect( - dynamic_ptr_cast<const GraphModel>(clipboard.object(_graph->path()))); + // Connect objects + for (auto a : clipboard.object(_graph->path())->arcs()) { + _app.interface()->connect(a.second->tail_path(), a.second->head_path()); + } } void diff --git a/src/wscript b/src/wscript index f2b88c0d..7aad0dae 100644 --- a/src/wscript +++ b/src/wscript @@ -4,7 +4,6 @@ from waflib.extras import autowaf as autowaf sources = [ 'AtomReader.cpp', 'AtomWriter.cpp', - 'Builder.cpp', 'ClashAvoider.cpp', 'Configuration.cpp', 'Forge.cpp', |