aboutsummaryrefslogtreecommitdiffstats
path: root/src/gui/MachinaCanvas.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-02-20 06:13:44 +0000
committerDavid Robillard <d@drobilla.net>2007-02-20 06:13:44 +0000
commita865ddb5043c4dc094b8f64d2cae60e0df16b8ac (patch)
treedf65f1e1a1eff036e46f003bbcd9f8ffe26325db /src/gui/MachinaCanvas.cpp
parent1e0a7b90f35130892015a4ed6aef778a159b02ac (diff)
downloadmachina-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.cpp19
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())));
}