Shape keeping movement is implemented, at last. Many thanks to Alpar.
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 {E_WIDTH, E_COLOR, E_TEXT, EDGE_PROPERTY_NUM}; // edge properties;
20 enum {N_RADIUS, N_COLOR, N_TEXT, NODE_PROPERTY_NUM}; // node properties;
21 enum {MOVE, CREATE_NODE, CREATE_EDGE, ERASER, EDGE_MAP_EDIT, NODE_MAP_EDIT, TOOL_NUM}; // tools;
24 #define WIN_HEIGHT 600
25 #define MIN_EDGE_WIDTH 2
26 #define MAX_EDGE_WIDTH 40
27 #define MIN_NODE_RADIUS 2
28 #define MAX_NODE_RADIUS 80
31 extern std::vector <std::string> edge_property_strings;
32 extern std::vector <double> edge_property_defaults;
33 extern std::vector <std::string> node_property_strings;
34 extern std::vector <double> node_property_defaults;
37 using namespace lemon;
39 typedef xy<double> Coordinates;
40 typedef ListGraph Graph;
41 typedef Graph::NodeMap<Coordinates> CoordinatesMap;
42 typedef Graph::Node Node;
43 typedef Graph::Edge Edge;
44 typedef Graph::EdgeIt EdgeIt;
45 typedef Graph::InEdgeIt InEdgeIt;
46 typedef Graph::OutEdgeIt OutEdgeIt;
47 typedef Graph::NodeIt NodeIt;
49 const std::string prog_name = "LEMON Graph Editor";
51 #endif // ALL_INCLUDE_H