NewMapWin has become Dialog instead of Window. Therefore it is created dynamically, when there is need for it, instead of keeping one instance in memory. This solution is slower, but more correct than before.
1 #include "all_include.h"
2 #include "mapstorage.h"
4 #include <libgnomecanvasmm.h>
5 #include <libgnomecanvasmm/polygon.h>
9 std::vector <std::string> edge_property_strings;
10 std::vector <double> edge_property_defaults;
11 std::vector <std::string> node_property_strings;
12 std::vector <double> node_property_defaults;
13 int longest_property_string_length;
15 int main(int argc, char *argv[])
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";
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;
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";
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;
40 longest_property_string_length=0;
41 for(int i=0;i<EDGE_PROPERTY_NUM;i++)
43 int j=edge_property_strings[i].size();
44 if(j>longest_property_string_length)
46 longest_property_string_length=j;
49 for(int i=0;i<NODE_PROPERTY_NUM;i++)
51 int j=node_property_strings[i].size();
52 if(j>longest_property_string_length)
54 longest_property_string_length=j;
61 Gnome::Canvas::init();
62 Gtk::Main app(argc, argv);
66 if ((argc == 2) && (Glib::file_test(argv[1], Glib::FILE_TEST_IS_REGULAR)))
68 mainwin.readFile(argv[1]);