[Lemon-commits] [lemon_svn] hegyi: r1967 - hugo/trunk/gui
Lemon SVN
svn at lemon.cs.elte.hu
Mon Nov 6 20:49:08 CET 2006
Author: hegyi
Date: Tue Jun 14 18:56:37 2005
New Revision: 1967
Modified:
hugo/trunk/gui/graph_displayer_canvas.cc
hugo/trunk/gui/graph_displayer_canvas.h
Log:
Sorry, the previous commit was uncorrect. Erasing is now possible on edges, but on nodes not.
Modified: hugo/trunk/gui/graph_displayer_canvas.cc
==============================================================================
--- hugo/trunk/gui/graph_displayer_canvas.cc (original)
+++ hugo/trunk/gui/graph_displayer_canvas.cc Tue Jun 14 18:56:37 2005
@@ -622,24 +622,33 @@
{
if(active_node!=INVALID)
{
- EdgeIt e;
- g.firstOut(e,active_node);
- for(;e!=INVALID;g.nextOut(e))
- {
- delete_item(edgesmap[e]);
- //edgesmap[e]->property_points().set_value(coos);
- //edgetextmap[e]->property_y().set_value((y1+y2)/2);
- }
+// EdgeIt e;
+// g.firstOut(e,active_node);
+// for(;e!=INVALID;g.nextOut(e))
+// {
+// if(e!=INVALID)delete_item(e);
+// }
- g.firstIn(e,active_node);
- for(;e!=INVALID;g.nextIn(e))
+// g.firstIn(e,active_node);
+// for(;e!=INVALID;g.nextIn(e))
+// {
+// if(e!=INVALID)delete_item(e);
+// }
+ for (EdgeIt i(g); i!=INVALID; ++i)
{
- delete_item(edgesmap[e]);
- //edgesmap[e]->get_bounds(x1, y1, x2, y2);
- //edgetextmap[e]->property_y().set_value((y1+y2)/2);
+ //std::cout << g.source(i).id << "-" << g.target(i).id << " " << active_node.id << std::endl;
+ if((g.source(i)==active_node)||(g.target(i)==active_node))
+ {
+ delete_item(i);
+ }
}
+ delete_item(active_node);
+ }
+ else
+ {
+ delete_item(active_edge);
}
- delete_item(active_item);
+
}
else
@@ -667,9 +676,15 @@
return true;
}
-void GraphDisplayerCanvas::delete_item(Gnome::Canvas::Item * item_to_delete)
+void GraphDisplayerCanvas::delete_item(NodeIt node_to_delete)
+{
+ delete(nodesmap[node_to_delete]);
+ g.erase(node_to_delete);
+}
+
+void GraphDisplayerCanvas::delete_item(EdgeIt edge_to_delete)
{
- //item_to_delete->hide();
- delete(item_to_delete);
+ delete(edgesmap[edge_to_delete]);
+ g.erase(edge_to_delete);
}
Modified: hugo/trunk/gui/graph_displayer_canvas.h
==============================================================================
--- hugo/trunk/gui/graph_displayer_canvas.h (original)
+++ hugo/trunk/gui/graph_displayer_canvas.h Tue Jun 14 18:56:37 2005
@@ -69,8 +69,10 @@
///event handler for the case when eraser-tool is active
bool eraser_event_handler(GdkEvent*);
- ///Deletes the given item.
- void delete_item(Gnome::Canvas::Item *);
+ ///Deletes the given element.
+ void delete_item(NodeIt);
+ ///Deletes the given element.
+ void delete_item(EdgeIt);
///The graph, on which we work
Graph g;
More information about the Lemon-commits
mailing list