#include #include #include #include #include #define MAIN_PART std::vector edge_property_strings; std::vector edge_property_defaults; std::vector node_property_strings; std::vector node_property_defaults; int main(int argc, char *argv[]) { //initializing edge_property_strings.resize(EDGE_PROPERTY_NUM); edge_property_strings[E_WIDTH]="Edge Width"; edge_property_strings[E_COLOR]="Edge Color"; edge_property_strings[E_TEXT]="Edge Text"; edge_property_defaults.resize(EDGE_PROPERTY_NUM); edge_property_defaults[E_WIDTH]=10.0; edge_property_defaults[E_COLOR]=100; edge_property_defaults[E_TEXT]=0; node_property_strings.resize(NODE_PROPERTY_NUM); node_property_strings[N_RADIUS]="Node Radius"; node_property_strings[N_COLOR]="Node Color"; node_property_strings[N_TEXT]="Node Text"; node_property_defaults.resize(NODE_PROPERTY_NUM); node_property_defaults[N_RADIUS]=20.0; node_property_defaults[N_COLOR]=100; node_property_defaults[N_TEXT]=0; if(argc<2) { std::cerr << "USAGE: gd " << std::endl; return 0; } Coordinates coosvector; Graph g; CoordinatesMap cm(g); Graph::EdgeMap cap(g), map1(g), map2(g), map3(g), map4(g); Graph::NodeMap nodedata (g); //we create one object to read x coordinates //and one to read y coordinate of nodes and write them to cm NodeMap. XMap xreader (cm); YMap yreader (cm); //reading in graph and its maps std::ifstream is(argv[1]); GraphReader reader(is, g); reader.readNodeMap("coordinates_x", xreader); reader.readNodeMap("coordinates_y", yreader); reader.readNodeMap("data", nodedata); reader.readEdgeMap("cap", cap); reader.readEdgeMap("map1", map1); reader.readEdgeMap("map2", map2); reader.readEdgeMap("map3", map3); reader.readEdgeMap("map4", map4); reader.run(); //initializing MapStorage with the read data MapStorage ms(g); ms.addNodeMap("data",&nodedata); ms.addEdgeMap("cap",&cap); ms.addEdgeMap("map1",&map1); ms.addEdgeMap("map2",&map2); ms.addEdgeMap("map3",&map3); ms.addEdgeMap("map4",&map4); //initializing GUI Gnome::Canvas::init(); Gtk::Main app(argc, argv); MainWin mainwin("Displayed Graph", g, cm, ms); app.run(mainwin); return 0; }