diff options
author | David Robillard <d@drobilla.net> | 2011-11-26 00:36:27 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-11-26 00:36:27 +0000 |
commit | 74236c53c3d763f95a9a94dcc400f89546fc2450 (patch) | |
tree | 91d0d1da7e1cb9b1fc999cb37daffa5812bf84c8 | |
parent | 9b33a4a33d9cd7c344fb1c2022e9457948161bd7 (diff) | |
download | machina-74236c53c3d763f95a9a94dcc400f89546fc2450.tar.gz machina-74236c53c3d763f95a9a94dcc400f89546fc2450.tar.bz2 machina-74236c53c3d763f95a9a94dcc400f89546fc2450.zip |
Handle adding and removing connections internally like with items.
git-svn-id: http://svn.drobilla.net/lad/trunk/machina@3635 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r-- | src/gui/MachinaCanvas.cpp | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/src/gui/MachinaCanvas.cpp b/src/gui/MachinaCanvas.cpp index 2869c22..18d0196 100644 --- a/src/gui/MachinaCanvas.cpp +++ b/src/gui/MachinaCanvas.cpp @@ -126,11 +126,7 @@ MachinaCanvas::on_new_object(SharedPtr<Client::ClientObject> object) SharedPtr<EdgeView> view( new EdgeView(*this, tail_view, head_view, object)); - tail_view->add_connection(view.get()); - head_view->add_connection(view.get()); - object->set_view(view); - add_connection(view.get()); } else { Raul::error << "Unknown object type " << type << std::endl; @@ -144,10 +140,7 @@ MachinaCanvas::on_erase_object(SharedPtr<Client::ClientObject> object) if (type == "machina:Node") { // Destruction of the view will remove from the canvas } else if (type == "machina:Edge") { - SharedPtr<EdgeView> view = PtrCast<EdgeView>(object->view()); - if (view) { - remove_connection(view->source(), view->dest()); - } + object->set_view(SharedPtr<Client::ClientObject::View>()); } else { Raul::error << "Unknown object type " << type << std::endl; } |