kruskalbox.cc
branchgui
changeset 110 99935b512b1c
parent 109 9f8dc346ac6e
child 111 ab3107255754
equal deleted inserted replaced
2:9036363b21e8 3:93943a56ad77
     8 }
     8 }
     9     
     9     
    10 void KruskalBox::run()
    10 void KruskalBox::run()
    11 {
    11 {
    12   Graph g=mapstorage->graph;
    12   Graph g=mapstorage->graph;
    13   Graph::EdgeMap<double> * inputmap=((mapstorage->edgemap_storage)[(edgemapcbts[INPUT])->get_active_text()]);
    13   Graph::EdgeMap<double> * inputmap=
       
    14     ((mapstorage->edgemap_storage)[(edgemapcbts[INPUT])->get_active_text()]);
    14   Graph::EdgeMap<bool> outputmap(g);
    15   Graph::EdgeMap<bool> outputmap(g);
    15   double res=kruskal(g, *inputmap, outputmap);
    16   double res=kruskal(g, *inputmap, outputmap);
    16 
    17 
    17   for (EdgeIt i(g); i!=INVALID; ++i)
    18   for (EdgeIt i(g); i!=INVALID; ++i)
    18   {
    19   {
    19     if(outputmap[i])
    20     if(outputmap[i])
    20       {
    21       {
    21 	(*((mapstorage->edgemap_storage)[(edgemapcbts[OUTPUT])->get_active_text()]))[i]=1;
    22 	(*((mapstorage->edgemap_storage)[(edgemapcbts[OUTPUT])->
       
    23 					 get_active_text()]))[i]=1;
    22       }
    24       }
    23     else
    25     else
    24       {
    26       {
    25 	(*((mapstorage->edgemap_storage)[(edgemapcbts[OUTPUT])->get_active_text()]))[i]=0;
    27 	(*((mapstorage->edgemap_storage)[(edgemapcbts[OUTPUT])->
       
    28 					 get_active_text()]))[i]=0;
    26       }
    29       }
    27   }
    30   }
    28 
    31 
    29   std::ostringstream o;
    32   std::ostringstream o;
    30   o << "Result: " << res;
    33   o << "Result: " << res;
    31   resultlabel.set_text(o.str());
    34   resultlabel.set_text(o.str());
    32 
    35   
    33   mapstorage->changeActiveMap(true, E_COLOR, (edgemapcbts[OUTPUT])->get_active_text());
    36   mapstorage->changeActiveMap(true, E_COLOR,
    34   mapstorage->changeActiveMap(true, E_TEXT, (edgemapcbts[INPUT])->get_active_text());
    37 			      (edgemapcbts[OUTPUT])->get_active_text());
       
    38   mapstorage->changeActiveMap(true, E_TEXT,
       
    39 			      (edgemapcbts[INPUT])->get_active_text());
    35 }
    40 }
    36     
    41     
    37 void KruskalBox::build_box()
    42 void KruskalBox::build_box()
    38 {
    43 {
    39   edgemapcbts.resize(MAP_NUM);
    44   edgemapcbts.resize(MAP_NUM);