diff -r 4b14c60ecb2b -r 7121597da9ba gui/broken_edge.cc --- a/gui/broken_edge.cc Fri Jun 17 15:41:48 2005 +0000 +++ b/gui/broken_edge.cc Fri Jun 17 17:08:45 2005 +0000 @@ -1,5 +1,4 @@ #include -#include #include BrokenEdge::BrokenEdge(Gnome::Canvas::Group & g, Gnome::Canvas::Points p, GraphDisplayerCanvas & gc) : Line(g), gdc(gc), isbutton(false) @@ -112,13 +111,18 @@ //we mark the location of the event to be able to calculate parameters of dragging if(gdc.get_actual_tool()!=CREATE_NODE) { + gdc.toggle_edge_activity(this, true); clicked_x=e->button.x; clicked_y=e->button.y; isbutton=true; } break; case GDK_BUTTON_RELEASE: - isbutton=false; + if(gdc.get_actual_tool()!=CREATE_NODE) + { + gdc.toggle_edge_activity(this, false); + isbutton=false; + } break; case GDK_MOTION_NOTIFY: //we only have to do sg. if the mouse button is pressed @@ -139,6 +143,7 @@ points_new.push_back(my_points[2]); set_points(points_new); + gdc.text_reposition(xy(my_points[1].get_x(),my_points[1].get_y())); clicked_x=e->motion.x; clicked_y=e->motion.y; @@ -149,3 +154,9 @@ return true; } + +xy BrokenEdge::get_arrow_pos() +{ + xy ret_val(my_points[1].get_x(),my_points[1].get_y()); + return ret_val; +}