diff options
author | David Robillard <d@drobilla.net> | 2011-12-08 01:19:22 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-12-08 01:19:22 +0000 |
commit | 3382158d77d904bfdec50c30c3dfdec22d46df3b (patch) | |
tree | 359ab8beb3f7fb044216c4ea6378c6e32729dc14 /src/Canvas.cpp | |
parent | 1acfac387f6851c881ef89ba4728d69a9e115b22 (diff) | |
download | ganv-3382158d77d904bfdec50c30c3dfdec22d46df3b.tar.gz ganv-3382158d77d904bfdec50c30c3dfdec22d46df3b.tar.bz2 ganv-3382158d77d904bfdec50c30c3dfdec22d46df3b.zip |
Fix node moving (inform user via "moved" signal).
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@3833 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/Canvas.cpp')
-rw-r--r-- | src/Canvas.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/Canvas.cpp b/src/Canvas.cpp index 5c0c082..9f326a9 100644 --- a/src/Canvas.cpp +++ b/src/Canvas.cpp @@ -45,6 +45,7 @@ #include "ganv/node.h" #include "./color.h" +#include "./ganv-private.h" #ifdef HAVE_AGRAPH # include <gvc.h> @@ -310,7 +311,9 @@ GanvCanvasImpl::selection_move_finished() { FOREACH_ITEM(_selected_items, i) { std::cerr << "FIXME: selection move finished" << std::endl; - //Glib::wrap(*i)->signal_moved.emit(); + double x, y; + g_object_get(*i, "x", &x, "y", &y, NULL); + g_signal_emit(*i, signal_moved, 0, x, y, NULL); } } @@ -1106,9 +1109,6 @@ GanvCanvasImpl::port_event(GdkEvent* event, GanvPort* port) } else if (!port->is_input) { port_dragging = true; } - } else { - // FIXME - //return Glib::wrap(port)->on_click(&event->button); } break; @@ -1645,7 +1645,9 @@ Canvas::arrange(bool use_length_hints) FOREACH_ITEM(impl()->_items, i) { std::cerr << "FIXME: arrange moved" << std::endl; - Glib::wrap((*i))->signal_moved.emit(); + double x, y; + g_object_get(*i, "x", &x, "y", &y, NULL); + g_signal_emit(*i, signal_moved, 0, x, y, NULL); } #endif } |