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.
    11 #include <lemon/list_graph.h>
 
    12 #include <lemon/graph_reader.h>
 
    13 #include <lemon/graph_writer.h>
 
    14 #include <lemon/graph_utils.h>
 
    15 #include <lemon/maps.h>
 
    16 #include <lemon/error.h>
 
    19 enum {WIDTH, COLOR, TEXT, PROPERTY_NUM}; // edge properties;
 
    20 enum {MOVE, CREATE_NODE, CREATE_EDGE, ERASER, TOOL_NUM}; // tools;
 
    23 #define WIN_HEIGHT 600
 
    27 extern std::string * property_strings;
 
    28 extern double * property_defaults;
 
    31 using namespace lemon;
 
    33 typedef xy<double> Coordinates;
 
    34 typedef ListGraph Graph;
 
    35 typedef Graph::NodeMap<Coordinates> CoordinatesMap;
 
    36 typedef Graph::Node Node;
 
    37 typedef Graph::EdgeIt EdgeIt;
 
    38 typedef Graph::NodeIt NodeIt;
 
    40 #endif // ALL_INCLUDE_H