diff options
author | David Robillard <d@drobilla.net> | 2007-02-20 06:13:44 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-02-20 06:13:44 +0000 |
commit | a865ddb5043c4dc094b8f64d2cae60e0df16b8ac (patch) | |
tree | df65f1e1a1eff036e46f003bbcd9f8ffe26325db /src/gui/MachinaCanvas.cpp | |
parent | 1e0a7b90f35130892015a4ed6aef778a159b02ac (diff) | |
download | machina-a865ddb5043c4dc094b8f64d2cae60e0df16b8ac.tar.gz machina-a865ddb5043c4dc094b8f64d2cae60e0df16b8ac.tar.bz2 machina-a865ddb5043c4dc094b8f64d2cae60e0df16b8ac.zip |
New double buffer class in Raul (used for realtime-safe thread-safe writes to variables
used in the realtime audio thead).
Manipulation of edge labels in Machina (left click and right click).
git-svn-id: http://svn.drobilla.net/lad/machina@323 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/MachinaCanvas.cpp')
-rw-r--r-- | src/gui/MachinaCanvas.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/gui/MachinaCanvas.cpp b/src/gui/MachinaCanvas.cpp index b105426..5029682 100644 --- a/src/gui/MachinaCanvas.cpp +++ b/src/gui/MachinaCanvas.cpp @@ -22,9 +22,10 @@ #include "machina/Action.hpp" #include "machina/Edge.hpp" #include "machina/LearnRequest.hpp" -#include "NodeView.hpp" -#include "MachinaCanvas.hpp" #include "MachinaGUI.hpp" +#include "MachinaCanvas.hpp" +#include "NodeView.hpp" +#include "EdgeView.hpp" using namespace LibFlowCanvas; @@ -83,7 +84,8 @@ MachinaCanvas::canvas_event(GdkEvent* event) assert(event); - if (event->type == GDK_BUTTON_RELEASE) { + if (event->type == GDK_BUTTON_RELEASE + && event->button.state & GDK_CONTROL_MASK) { const double x = event->button.x; const double y = event->button.y; @@ -116,15 +118,14 @@ void MachinaCanvas::connect_node(boost::shared_ptr<NodeView> src, boost::shared_ptr<NodeView> dst) { - boost::shared_ptr<Connection> c(new Connection(shared_from_this(), - src, dst, 0x9999AAFF, true)); + SharedPtr<Machina::Edge> edge(new Machina::Edge(src->node(), dst->node())); + src->node()->add_outgoing_edge(edge); + + boost::shared_ptr<Connection> c(new EdgeView(shared_from_this(), + src, dst, edge)); src->add_connection(c); dst->add_connection(c); - c->set_label("1.0"); add_connection(c); - - src->node()->add_outgoing_edge(SharedPtr<Machina::Edge>( - new Machina::Edge(src->node(), dst->node()))); } |