COIN-OR::LEMON - Graph Library

source: glemon-0.x/graph-displayer.cc @ 28:fa28f1071bd6

gui
Last change on this file since 28:fa28f1071bd6 was 28:fa28f1071bd6, checked in by Hegyi Péter, 19 years ago

NodeMap? values are now visualizable. Todo: default map-values

File size: 2.4 KB
Line 
1#include <all_include.h>
2#include <mapstorage.h>
3#include <main_win.h>
4#include <libgnomecanvasmm.h>
5#include <libgnomecanvasmm/polygon.h>
6
7#define MAIN_PART
8
9std::vector <std::string> edge_property_strings;
10std::vector <double> edge_property_defaults;
11std::vector <std::string> node_property_strings;
12std::vector <double> node_property_defaults;
13
14
15int main(int argc, char *argv[])
16{
17
18  //initializing
19
20  edge_property_strings.resize(EDGE_PROPERTY_NUM);
21  edge_property_strings[E_WIDTH]="Edge Width";
22  edge_property_strings[E_COLOR]="Edge Color";
23  edge_property_strings[E_TEXT]="Edge Text";
24
25  edge_property_defaults.resize(EDGE_PROPERTY_NUM);
26  edge_property_defaults[E_WIDTH]=10.0;
27  edge_property_defaults[E_COLOR]=100;
28  edge_property_defaults[E_TEXT]=0;
29
30  node_property_strings.resize(NODE_PROPERTY_NUM);
31  node_property_strings[N_RADIUS]="Node Radius";
32  node_property_strings[N_COLOR]="Node Color";
33  node_property_strings[N_TEXT]="Node Text";
34
35  node_property_defaults.resize(NODE_PROPERTY_NUM);
36  node_property_defaults[N_RADIUS]=20.0;
37  node_property_defaults[N_COLOR]=100;
38  node_property_defaults[N_TEXT]=0;
39
40  if(argc<2)
41  {
42      std::cerr << "USAGE: gd <input filename.lgf>" << std::endl;
43      return 0;
44  }
45
46  Coordinates coosvector;
47
48  Graph g;
49
50  CoordinatesMap cm(g);
51  Graph::EdgeMap<double> cap(g), map1(g), map2(g), map3(g), map4(g);
52  Graph::NodeMap<double> nodedata (g);
53
54  //we create one object to read x coordinates
55  //and one to read y coordinate of nodes and write them to cm NodeMap.
56  XMap <CoordinatesMap> xreader (cm);
57  YMap <CoordinatesMap> yreader (cm);
58
59  //reading in graph and its maps
60
61  std::ifstream is(argv[1]);
62
63  GraphReader<Graph> reader(is, g);
64  reader.readNodeMap("coordinates_x", xreader);
65  reader.readNodeMap("coordinates_y", yreader);
66  reader.readNodeMap("data", nodedata);
67  reader.readEdgeMap("cap", cap);
68  reader.readEdgeMap("map1", map1);
69  reader.readEdgeMap("map2", map2);
70  reader.readEdgeMap("map3", map3);
71  reader.readEdgeMap("map4", map4);
72  reader.run();
73
74  //initializing MapStorage with the read data
75
76  MapStorage ms(g);
77  ms.addNodeMap("data",&nodedata);
78  ms.addEdgeMap("cap",&cap);
79  ms.addEdgeMap("map1",&map1);
80  ms.addEdgeMap("map2",&map2);
81  ms.addEdgeMap("map3",&map3);
82  ms.addEdgeMap("map4",&map4);
83
84  //initializing GUI
85
86  Gnome::Canvas::init();
87  Gtk::Main app(argc, argv);
88
89  MainWin mainwin("Displayed Graph", g, cm, ms);
90  app.run(mainwin);
91
92  return 0;
93}
Note: See TracBrowser for help on using the repository browser.