Changeset 1884:9c061834b33b in lemon-0.x for gui/kruskalbox.cc
- Timestamp:
- 01/06/06 17:07:08 (18 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2459
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gui/kruskalbox.cc
r1881 r1884 10 10 void KruskalBox::run() 11 11 { 12 Graph g=mapstorage->graph; 13 Graph::EdgeMap<double> * inputmap= 14 ((mapstorage->edgemap_storage)[(edgemapcbts[INPUT])->get_active_text()]); 15 Graph::EdgeMap<bool> outputmap(g); 16 double res=kruskal(g, *inputmap, outputmap); 12 if( 13 tabcbt.get_active_text()!="" && 14 (edgemapcbts[INPUT])->get_active_text()!="" && 15 (edgemapcbts[OUTPUT])->get_active_text()!="" 16 ) 17 { 17 18 18 for (EdgeIt i(g); i!=INVALID; ++i) 19 { 20 if(outputmap[i]) 21 { 22 (*((mapstorage->edgemap_storage)[(edgemapcbts[OUTPUT])-> 23 get_active_text()]))[i]=1; 24 } 25 else 26 { 27 (*((mapstorage->edgemap_storage)[(edgemapcbts[OUTPUT])-> 28 get_active_text()]))[i]=0; 29 } 30 } 19 Graph g=mapstorage->graph; 20 Graph::EdgeMap<double> * inputmap= 21 ((mapstorage->edgemap_storage)[(edgemapcbts[INPUT])->get_active_text()]); 22 Graph::EdgeMap<bool> outputmap(g); 23 double res=kruskal(g, *inputmap, outputmap); 31 24 32 std::ostringstream o; 33 o << "Result: " << res; 34 resultlabel.set_text(o.str()); 25 for (EdgeIt i(g); i!=INVALID; ++i) 26 { 27 if(outputmap[i]) 28 { 29 (*((mapstorage->edgemap_storage)[(edgemapcbts[OUTPUT])-> 30 get_active_text()]))[i]=1; 31 } 32 else 33 { 34 (*((mapstorage->edgemap_storage)[(edgemapcbts[OUTPUT])-> 35 get_active_text()]))[i]=0; 36 } 37 } 35 38 36 mapstorage->mapChanged(true, (edgemapcbts[OUTPUT])->get_active_text()); 37 // mapstorage->changeActiveMap(true, E_COLOR, 38 // (edgemapcbts[OUTPUT])->get_active_text()); 39 // mapstorage->changeActiveMap(true, E_TEXT, 40 // (edgemapcbts[INPUT])->get_active_text()); 39 std::ostringstream o; 40 o << "Result: " << res; 41 resultlabel.set_text(o.str()); 42 43 mapstorage->mapChanged(true, (edgemapcbts[OUTPUT])->get_active_text()); 44 // mapstorage->changeActiveMap(true, E_COLOR, 45 // (edgemapcbts[OUTPUT])->get_active_text()); 46 // mapstorage->changeActiveMap(true, E_TEXT, 47 // (edgemapcbts[INPUT])->get_active_text()); 41 48 49 } 42 50 } 43 51 44 52 void KruskalBox::build_box() 45 53 { 54 std::vector<std::string> empty_vector; 55 46 56 edgemapcbts.resize(MAP_NUM); 47 Gtk::HBox * hbox;48 57 49 hbox=new Gtk::HBox(); 58 edgemapcbts[0]=new MapSelector(empty_vector,"","Edgecosts: ",true, false); 59 edgemapcbts[0]->signal_newmapwin_needed().connect(sigc::mem_fun(*this, &AlgoBox::emit_new_map_signal)); 50 60 51 label=new Gtk::Label("Edgecosts: ");61 pack_start(*(edgemapcbts[INPUT])); 52 62 53 edgemapcbts[0]=new Gtk::ComboBoxText(); 63 edgemapcbts[1]=new MapSelector(empty_vector,"","Edges of tree here: ",true, false); 64 edgemapcbts[1]->signal_newmapwin_needed().connect(sigc::mem_fun(*this, &AlgoBox::emit_new_map_signal)); 54 65 55 hbox->pack_start(*label); 56 hbox->pack_start(*(edgemapcbts[INPUT])); 57 pack_start(*hbox); 58 59 hbox=new Gtk::HBox(); 60 61 label=new Gtk::Label("Edges of tree here: "); 62 63 edgemapcbts[1]=new Gtk::ComboBoxText(); 64 65 hbox->pack_start(*label); 66 hbox->pack_start(*(edgemapcbts[OUTPUT])); 67 pack_start(*hbox); 66 pack_start(*(edgemapcbts[OUTPUT])); 68 67 69 68 resultlabel.set_text("Result: algorithm is not run yet.");
Note: See TracChangeset
for help on using the changeset viewer.