branch | gui |
changeset 94 | adfdc2f70548 |
parent 90 | e9f8f44f12a3 |
child 95 | 628c0b383d2f |
18:421a2fa32530 | 19:3f7ec32ad8f5 |
---|---|
8 hide(); |
8 hide(); |
9 } |
9 } |
10 return true; |
10 return true; |
11 } |
11 } |
12 |
12 |
13 MapWin::MapWin(const std::string& title, MapStorage & mapst, GraphDisplayerCanvas & grdispc):gdc(grdispc),ms(mapst) |
13 MapWin::MapWin(const std::string& title, std::vector<std::string> eml, std::vector<std::string> nml, MainWin & mw):mainwin(mw) |
14 { |
14 { |
15 set_title(title); |
15 set_title(title); |
16 set_default_size(200, 50); |
16 set_default_size(200, 50); |
17 |
17 |
18 signal_key_press_event().connect(sigc::mem_fun(*this, &MapWin::closeIfEscapeIsPressed)); |
18 signal_key_press_event().connect(sigc::mem_fun(*this, &MapWin::closeIfEscapeIsPressed)); |
21 |
21 |
22 table=new Gtk::Table(EDGE_PROPERTY_NUM, 1, false); |
22 table=new Gtk::Table(EDGE_PROPERTY_NUM, 1, false); |
23 |
23 |
24 for(int i=0;i<EDGE_PROPERTY_NUM;i++) |
24 for(int i=0;i<EDGE_PROPERTY_NUM;i++) |
25 { |
25 { |
26 e_combo_array[i]=new MapSelector(gdc, ms, i, true); |
26 e_combo_array[i]=new MapSelector(eml, i, true); |
27 |
27 |
28 (*table).attach((*(e_combo_array[i])),0,1,i,i+1,Gtk::SHRINK,Gtk::SHRINK,10,3); |
28 (*table).attach((*(e_combo_array[i])),0,1,i,i+1,Gtk::SHRINK,Gtk::SHRINK,10,3); |
29 |
|
30 e_combo_array[i]->signal_cbt_ch().connect(sigc::bind(sigc::mem_fun(*this, &MapWin::edgeMapChanged), i)); |
|
31 e_combo_array[i]->signal_newmapwin_needed().connect(sigc::bind(sigc::mem_fun(*this, &MapWin::newMapWinNeeded), i)); |
|
29 } |
32 } |
30 |
33 |
31 vbox.pack_start(*(new Gtk::Label("Edge properties"))); |
34 vbox.pack_start(*(new Gtk::Label("Edge properties"))); |
32 |
35 |
33 vbox.pack_start(*table); |
36 vbox.pack_start(*table); |
38 |
41 |
39 table=new Gtk::Table(NODE_PROPERTY_NUM, 1, false); |
42 table=new Gtk::Table(NODE_PROPERTY_NUM, 1, false); |
40 |
43 |
41 for(int i=0;i<NODE_PROPERTY_NUM;i++) |
44 for(int i=0;i<NODE_PROPERTY_NUM;i++) |
42 { |
45 { |
43 n_combo_array[i]=new MapSelector(gdc, ms, i, false); |
46 n_combo_array[i]=new MapSelector(nml, i, false); |
44 |
47 |
45 (*table).attach((*(n_combo_array[i])),0,1,i,i+1,Gtk::SHRINK,Gtk::SHRINK,10,3); |
48 (*table).attach((*(n_combo_array[i])),0,1,i,i+1,Gtk::SHRINK,Gtk::SHRINK,10,3); |
49 |
|
50 n_combo_array[i]->signal_cbt_ch().connect(sigc::bind(sigc::mem_fun(*this, &MapWin::nodeMapChanged), i)); |
|
51 n_combo_array[i]->signal_newmapwin_needed().connect(sigc::bind(sigc::mem_fun(*this, &MapWin::newMapWinNeeded), i)); |
|
46 } |
52 } |
47 |
53 |
48 add(vbox); |
54 add(vbox); |
49 |
55 |
50 vbox.pack_start(*(new Gtk::Label("Node properties"))); |
56 vbox.pack_start(*(new Gtk::Label("Node properties"))); |
53 |
59 |
54 show_all_children(); |
60 show_all_children(); |
55 |
61 |
56 } |
62 } |
57 |
63 |
58 void MapWin::update() |
64 void MapWin::nodeMapChanged(std::string mapname, int prop) |
65 { |
|
66 mainwin.propertyChange(false, prop, mapname); |
|
67 } |
|
68 |
|
69 void MapWin::edgeMapChanged(std::string mapname, int prop) |
|
70 { |
|
71 mainwin.propertyChange(true, prop, mapname); |
|
72 } |
|
73 |
|
74 void MapWin::newMapWinNeeded(bool itisedge, int prop) |
|
75 { |
|
76 mainwin.popupNewMapWin(itisedge, prop); |
|
77 } |
|
78 |
|
79 void MapWin::update(std::vector<std::string> eml, std::vector<std::string> nml) |
|
59 { |
80 { |
60 for(int i=0;i<EDGE_PROPERTY_NUM;i++) |
81 for(int i=0;i<EDGE_PROPERTY_NUM;i++) |
61 { |
82 { |
62 e_combo_array[i]->update_list(); |
83 e_combo_array[i]->update_list(eml); |
63 } |
84 } |
64 |
85 |
65 for(int i=0;i<NODE_PROPERTY_NUM;i++) |
86 for(int i=0;i<NODE_PROPERTY_NUM;i++) |
66 { |
87 { |
67 n_combo_array[i]->update_list(); |
88 n_combo_array[i]->update_list(nml); |
68 } |
89 } |
69 } |
|
70 |
|
71 |
|
72 void MapWin::updateNode(Node node) |
|
73 { |
|
74 for(int i=0;i<NODE_PROPERTY_NUM;i++) |
|
75 { |
|
76 n_combo_array[i]->update(node); |
|
77 } |
|
78 } |
|
79 |
|
80 void MapWin::updateEdge(Edge edge) |
|
81 { |
|
82 for(int i=0;i<EDGE_PROPERTY_NUM;i++) |
|
83 { |
|
84 e_combo_array[i]->update(edge); |
|
85 } |
|
86 } |
90 } |
87 |
91 |
88 void MapWin::registerNewEdgeMap(std::string newmapname) |
92 void MapWin::registerNewEdgeMap(std::string newmapname) |
89 { |
93 { |
90 for(int i=0;i<EDGE_PROPERTY_NUM;i++) |
94 for(int i=0;i<EDGE_PROPERTY_NUM;i++) |