Changeset 1878:409a31271efd in lemon-0.x
- Timestamp:
- 01/05/06 13:30:09 (17 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2453
- Location:
- gui
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
gui/algobox.cc
r1876 r1878 4 4 enum {E_DEMO1, EDGE_INPUT_NUM}; // input IDs for edges; 5 5 6 AlgoBox::AlgoBox(std::vector<std::string> tabnames , std::vector<std::string> nodemapnames, std::vector<std::string> edgemapnames)6 AlgoBox::AlgoBox(std::vector<std::string> tabnames) 7 7 { 8 init(tabnames , nodemapnames, edgemapnames);8 init(tabnames); 9 9 } 10 10 11 void AlgoBox::init(std::vector<std::string> tabnames , std::vector<std::string> nodemapnames, std::vector<std::string> edgemapnames)11 void AlgoBox::init(std::vector<std::string> tabnames) 12 12 { 13 13 set_spacing(5); … … 19 19 20 20 pack_start(tabcbt); 21 22 21 build_box(); 23 24 update_maplist(nodemapnames, edgemapnames);25 22 26 23 show_all_children(); … … 53 50 else if(actptr>0) //so there is item in the list 54 51 { 55 cbt.set_active(0);52 //cbt.set_active(0); 56 53 } 57 54 } … … 63 60 } 64 61 65 void AlgoBox::update_maplist( std::vector< std::string > nml, std::vector< std::string > eml)62 void AlgoBox::update_maplist( void * ms) 66 63 { 64 mapstorage=(MapStorage *)ms; 65 std::vector<std::string> nml; 66 std::vector<std::string> eml; 67 if(mapstorage!=NULL) 68 { 69 mapstorage->signal_node_map_ch().connect(sigc::mem_fun(*this, &AlgoBox::nodemaplist_changed)); 70 mapstorage->signal_edge_map_ch().connect(sigc::mem_fun(*this, &AlgoBox::edgemaplist_changed)); 71 nml=mapstorage->getNodeMapList(); 72 eml=mapstorage->getNodeMapList(); 73 } 67 74 for(int i=0;i<(int)nodemapcbts.size();i++) 68 75 { … … 72 79 { 73 80 update_cbt(eml, *(edgemapcbts[i])); 81 } 82 } 83 84 void AlgoBox::nodemaplist_changed(std::string newmap) 85 { 86 for(int i=0;i<(int)nodemapcbts.size();i++) 87 { 88 (nodemapcbts[i])->append_text(newmap); 89 } 90 } 91 92 void AlgoBox::edgemaplist_changed(std::string newmap) 93 { 94 for(int i=0;i<(int)edgemapcbts.size();i++) 95 { 96 (edgemapcbts[i])->append_text(newmap); 74 97 } 75 98 } … … 137 160 void AlgoBox::emit_tab_change() 138 161 { 139 signal_maplist_need.emit(tabcbt.get_active_text()); 162 std::string active_tab=tabcbt.get_active_text(); 163 if(active_tab!="") 164 { 165 signal_maplist_need.emit(active_tab); 166 } 167 else 168 { 169 std::vector<std::string> empty_vector; 170 update_maplist(NULL); 171 } 140 172 } -
gui/algobox.h
r1876 r1878 7 7 8 8 #include <all_include.h> 9 #include <mapstorage.h> 9 10 #include <libgnomecanvasmm.h> 10 11 #include <libgnomecanvasmm/polygon.h> … … 20 21 std::vector<Gtk::ComboBoxText *> nodemapcbts; 21 22 std::vector<Gtk::ComboBoxText *> edgemapcbts; 22 23 24 MapStorage * mapstorage; 25 23 26 public: 24 27 AlgoBox(){}; 25 AlgoBox(std::vector<std::string> , std::vector<std::string>, std::vector<std::string>);28 AlgoBox(std::vector<std::string>); 26 29 27 virtual void init(std::vector<std::string> , std::vector<std::string>, std::vector<std::string>);30 virtual void init(std::vector<std::string>); 28 31 29 32 sigc::signal<void, std::string> signal_maplist_needed(); … … 31 34 32 35 void update_tablist( std::vector< std::string > tl ); 33 void update_maplist( std::vector< std::string >, std::vector< std::string >); 36 void update_maplist( void * ); 37 38 void nodemaplist_changed(std::string); 39 void edgemaplist_changed(std::string); 34 40 35 41 void update_cbt( std::vector< std::string > tl, Gtk::ComboBoxText &); -
gui/algowin.cc
r1876 r1878 21 21 } 22 22 23 AlgoWin::AlgoWin(int algoid, std::vector<std::string> tabnames , std::vector<std::string> nodemapnames,std::vector<std::string> edgemapnames)23 AlgoWin::AlgoWin(int algoid, std::vector<std::string> tabnames) 24 24 { 25 25 signal_key_press_event().connect(sigc::mem_fun(*this, &AlgoWin::closeIfEscapeIsPressed)); … … 33 33 { 34 34 case 0: 35 ab=new AlgoBox(tabnames , nodemapnames, edgemapnames);35 ab=new AlgoBox(tabnames); 36 36 set_title("Algo Win Demo"); 37 37 break; 38 38 case 1: 39 ab=new KruskalBox(tabnames , nodemapnames, edgemapnames);39 ab=new KruskalBox(tabnames); 40 40 set_title("Kruskal Algorithm"); 41 41 break; … … 72 72 } 73 73 74 void AlgoWin::update_maplist( std::vector<std::string> nodemapnames, std::vector<std::string> edgemapnames)74 void AlgoWin::update_maplist(void * mapstorage) 75 75 { 76 ab->update_maplist( nodemapnames, edgemapnames);76 ab->update_maplist(mapstorage); 77 77 } 78 78 -
gui/algowin.h
r1876 r1878 32 32 void emit_tab_change(std::string); 33 33 34 AlgoWin(int, std::vector<std::string> , std::vector<std::string>, std::vector<std::string>);34 AlgoWin(int, std::vector<std::string>); 35 35 36 36 void update_tablist(std::vector<std::string> tabnames); 37 void update_maplist( std::vector<std::string>, std::vector<std::string>);37 void update_maplist( void *); 38 38 39 39 void on_hide(); -
gui/kruskalbox.cc
r1876 r1878 1 1 #include <kruskalbox.h> 2 2 3 KruskalBox::KruskalBox(std::vector<std::string> t , std::vector<std::string> nm, std::vector<std::string> em):AlgoBox()3 KruskalBox::KruskalBox(std::vector<std::string> t):AlgoBox() 4 4 { 5 init(t , nm, em);5 init(t); 6 6 } 7 7 8 8 void KruskalBox::run() 9 9 { 10 10 11 std::cout << "Kruskal inditasa, de meg nincsen keszen." << std::endl; 11 12 } -
gui/kruskalbox.h
r1876 r1878 15 15 { 16 16 public: 17 KruskalBox(std::vector<std::string> t , std::vector<std::string> nm, std::vector<std::string> em);17 KruskalBox(std::vector<std::string> t); 18 18 19 19 void run(); -
gui/main_win.cc
r1877 r1878 410 410 void MainWin::createAlgoWin(int algoid) 411 411 { 412 AlgoWin * aw=new AlgoWin(algoid, tabnames , tabs[0]->mapstorage.getNodeMapList(),tabs[0]->mapstorage.getEdgeMapList());412 AlgoWin * aw=new AlgoWin(algoid, tabnames); 413 413 aw->signal_closing().connect(sigc::mem_fun(*this, &MainWin::deRegisterAlgoWin)); 414 414 aw->signal_maplist_needed().connect(sigc::mem_fun(*this, &MainWin::updateAlgoWinMaps)); … … 417 417 } 418 418 419 void MainWin::updateAlgoWinTabs() 420 { 421 std::set< AlgoWin* >::iterator awsi=aws.begin(); 422 for(;awsi!=aws.end();awsi++) 423 { 424 (*awsi)->update_tablist(tabnames); 425 } 426 } 427 419 428 void MainWin::updateAlgoWinMaps(AlgoWin * awp, std::string tabname) 420 429 { … … 423 432 { 424 433 } 425 awp->update_maplist(tabs[i]->mapstorage.getNodeMapList(),tabs[i]->mapstorage.getEdgeMapList()); 434 //awp->update_maplist(tabs[i]->mapstorage.getNodeMapList(),tabs[i]->mapstorage.getEdgeMapList()); 435 awp->update_maplist(&(tabs[i]->mapstorage)); 426 436 } 427 437 … … 429 439 { 430 440 aws.erase(awp); 431 }432 433 void MainWin::updateAlgoWinTabs()434 {435 std::set< AlgoWin* >::iterator awsi=aws.begin();436 for(;awsi!=aws.end();awsi++)437 {438 (*awsi)->update_tablist(tabnames);439 }440 441 } 441 442 -
gui/mapstorage.cc
r1867 r1878 59 59 // set the maps default value 60 60 nodemap_default[name] = default_value; 61 62 //announce changement in maps 63 signal_node_map.emit(name); 61 64 return 0; 62 65 } … … 127 130 // set the maps default value 128 131 edgemap_default[name] = default_value; 132 133 //announce changement in maps 134 signal_edge_map.emit(name); 129 135 return 0; 130 136 } -
gui/mapstorage.h
r1860 r1878 61 61 typedef sigc::signal<void, bool, int> Signal_Prop; 62 62 Signal_Prop signal_prop; 63 sigc::signal<void, std::string> signal_node_map; 64 sigc::signal<void, std::string> signal_edge_map; 63 65 64 66 public: … … 82 84 83 85 Signal_Prop signal_prop_ch(); 86 87 sigc::signal<void, std::string> signal_node_map_ch(){return signal_node_map;}; 88 sigc::signal<void, std::string> signal_edge_map_ch(){return signal_edge_map;}; 84 89 85 90 ///Adds given map to storage. A name and the map itself has to be provided. -
gui/nbtab.cc
r1869 r1878 8 8 //connecting signals - controller character 9 9 mapstorage.signal_prop_ch().connect(sigc::mem_fun(*gd_canvas, &GraphDisplayerCanvas::propertyChange)); 10 mapstorage.signal_node_map_ch().connect(sigc::mem_fun(*this, &NoteBookTab::registerNewNodeMap)); 11 mapstorage.signal_edge_map_ch().connect(sigc::mem_fun(*this, &NoteBookTab::registerNewEdgeMap)); 10 12 show_all_children(); 11 13 show(); -
gui/new_map_win.cc
r1849 r1878 160 160 161 161 //add it to the list of the displayable maps 162 mytab.registerNewEdgeMap(mapname); 162 //furthermore it is done by signals 163 //mytab.registerNewEdgeMap(mapname); 163 164 164 165 //display it … … 243 244 244 245 //add it to the list of the displayable maps 245 mytab.registerNewNodeMap(mapname); 246 //furthermore it is done by signals 247 //mytab.registerNewNodeMap(mapname); 246 248 247 249 //display it
Note: See TracChangeset
for help on using the changeset viewer.