First of all: revision 1981 is mine, what is important me because I was born in 1981. But what is new in my revision? If you drag nodes with left button, edge-breakpoints do not change location. If you drag nodes by right button, they do, they take up their base situation at the halfpoint of the edge.
6 #include <all_include.h>
7 #include <libgnomecanvasmm.h>
8 #include <libgnomecanvasmm/polygon.h>
10 class BrokenEdge : public Gnome::Canvas::Line
12 Gnome::Canvas::Polygon * arrow;
13 Gnome::Art::Point * my_points;
15 ///Indicates whether the button of mouse is pressed or not
18 ///At this location was the mousebutton pressed.
19 ///It helps to calculate the distance of dragging.
20 double clicked_x, clicked_y;
22 ///event handler for forming edges
23 bool edge_former_event_handler(GdkEvent*);
25 BrokenEdge(Gnome::Canvas::Group &, Gnome::Canvas::Points);
27 void set_points(Gnome::Canvas::Points, bool move=false);
31 #endif //BROKEN_EDGE_H