diff options
author | David Robillard <d@drobilla.net> | 2012-03-09 22:31:06 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-03-09 22:31:06 +0000 |
commit | a4811c2f8ca7d8e32d1230b58e8140b60fcee2a3 (patch) | |
tree | b7b4966f5f4200bcc4e5d2fd02bf50629f63bf3c /ganv | |
parent | ef767283f7afc77c61961007e97474694160f7c3 (diff) | |
download | ganv-a4811c2f8ca7d8e32d1230b58e8140b60fcee2a3.tar.gz ganv-a4811c2f8ca7d8e32d1230b58e8140b60fcee2a3.tar.bz2 ganv-a4811c2f8ca7d8e32d1230b58e8140b60fcee2a3.zip |
Fix "disconnect all".
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4036 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'ganv')
-rw-r--r-- | ganv/Edge.hpp | 8 | ||||
-rw-r--r-- | ganv/canvas.h | 9 | ||||
-rw-r--r-- | ganv/edge.h | 14 |
3 files changed, 27 insertions, 4 deletions
diff --git a/ganv/Edge.hpp b/ganv/Edge.hpp index ee2423c..6912eb2 100644 --- a/ganv/Edge.hpp +++ b/ganv/Edge.hpp @@ -46,7 +46,6 @@ public: bool show_arrowhead = false, bool curved = true) : Item(GANV_ITEM( - g_object_ref( ganv_edge_new( canvas.gobj(), tail->gobj(), @@ -54,11 +53,12 @@ public: "color", color, "curved", (gboolean)curved, "arrowhead", (gboolean)show_arrowhead, - NULL)))) - {} + NULL))) + { + } Edge(GanvEdge* gobj) - : Item(GANV_ITEM(g_object_ref(gobj))) + : Item(GANV_ITEM(gobj)) {} virtual ~Edge() { diff --git a/ganv/canvas.h b/ganv/canvas.h index ddd420b..bbf6b97 100644 --- a/ganv/canvas.h +++ b/ganv/canvas.h @@ -77,6 +77,15 @@ void ganv_canvas_add_node(GanvCanvas* canvas, GanvNode* node); +void +ganv_canvas_disconnect_edge(GanvCanvas* canvas, + GanvEdge* edge); + +void +ganv_canvas_remove_edge_between(GanvCanvas* canvas, + GanvNode* tail, + GanvNode* head); + /** Get the default font size in points. */ double ganv_canvas_get_default_font_size(const GanvCanvas* canvas); diff --git a/ganv/edge.h b/ganv/edge.h index 9a409b2..2d51c89 100644 --- a/ganv/edge.h +++ b/ganv/edge.h @@ -71,6 +71,20 @@ ganv_edge_highlight(GanvEdge* edge); void ganv_edge_unhighlight(GanvEdge* edge); +/** + * ganv_edge_disconnect: + * Disconnect the edge. This will disconnect the edge just as if it had been + * disconnected by the user via the canvas. The canvas disconnect signal will + * be emitted, allowing the application to control disconnect logic. + */ +void +ganv_edge_disconnect(GanvEdge* edge); + +/** + * ganv_edge_remove: + * Remove the edge from the canvas. This will only remove the edge visually, + * it will not emit the canvas disconnect signal to notify the application. + */ void ganv_edge_remove(GanvEdge* edge); |