map_win.cc
branchgui
changeset 6 603b85626bc0
parent 4 e099638ff236
child 8 abac0179a26a
     1.1 --- a/map_win.cc	Wed Jun 01 23:30:13 2005 +0000
     1.2 +++ b/map_win.cc	Wed Jun 01 23:33:26 2005 +0000
     1.3 @@ -1,122 +1,122 @@
     1.4 -#include <map_win.h>
     1.5 -#include <set>
     1.6 -
     1.7 -MapWin::MapWin(const std::string& title, MapStorage & mapst, GraphDisplayerCanvas & grdispc):gdc(grdispc),ms(mapst)
     1.8 -{
     1.9 -
    1.10 -  //most nem kommentezem fel, mert ugyis valtozik
    1.11 -
    1.12 -  set_title(title);
    1.13 -  set_default_size(400, 200);
    1.14 -
    1.15 -  rb_array=new Gtk::RadioButton * [PROPERTY_NUM];
    1.16 -  vbox_r1=new Gtk::VBox[PROPERTY_NUM];
    1.17 -  vbox_r2=new Gtk::VBox[PROPERTY_NUM];
    1.18 -  radios=new Gtk::HBox[PROPERTY_NUM];
    1.19 -  for(int i=0;i<PROPERTY_NUM;i++)
    1.20 -  {
    1.21 -    rb_array[i]=new Gtk::RadioButton[ms.numOfEdgeMaps()+1];
    1.22 -
    1.23 -    Gtk::RadioButton::Group group;
    1.24 -
    1.25 -    std::map< std::string,Graph::EdgeMap<double> * >::iterator emsi=ms.beginOfEdgeMaps();
    1.26 -    std::set<int> props;
    1.27 -
    1.28 -    int actprop;
    1.29 -    for(int j=0;j<ms.numOfEdgeMaps();j++)
    1.30 -    {
    1.31 -
    1.32 -      if(emsi->second==&(ms.default_edgemaps[i]))
    1.33 -      {
    1.34 -	actprop=j;
    1.35 -      }
    1.36 -      for(int k=0;k<PROPERTY_NUM;k++)
    1.37 -      {
    1.38 -	if(emsi->second==&(ms.default_edgemaps[k]))
    1.39 -	{
    1.40 -	  props.insert(j);
    1.41 -	}
    1.42 -      }
    1.43 -      emsi++;
    1.44 -    }
    1.45 -
    1.46 -    rb_array[i][0].set_group(group);
    1.47 -    rb_array[i][0].set_label("Default");
    1.48 -    rb_array[i][0].signal_clicked().connect( sigc::bind( sigc::bind( sigc::mem_fun(*this, &MapWin::radio_click), 0), i) );
    1.49 -    vbox_r1[i].pack_start(rb_array[i][0]);
    1.50 -
    1.51 -
    1.52 -    emsi=ms.beginOfEdgeMaps();
    1.53 -    int actpos=1;
    1.54 -    for(int j=0;j<ms.numOfEdgeMaps();j++)
    1.55 -    {
    1.56 -      if( ( props.find(j) )==( props.end() ) )
    1.57 -      {
    1.58 -	rb_array[i][actpos].set_group(group);
    1.59 -	rb_array[i][actpos].set_label(emsi->first);
    1.60 -	rb_array[i][actpos].signal_clicked().connect
    1.61 -	  (
    1.62 -	   sigc::bind( 
    1.63 -	    sigc::bind(
    1.64 -	     sigc::mem_fun(*this, &MapWin::radio_click),
    1.65 -	     actpos
    1.66 -	    ),
    1.67 -	    i
    1.68 -	   ) 
    1.69 -	  );
    1.70 -
    1.71 -    	if(actpos<(ms.numOfEdgeMaps()-PROPERTY_NUM+1)/2)
    1.72 -        {
    1.73 -          vbox_r1[i].pack_start(rb_array[i][actpos]);
    1.74 -	}
    1.75 -	else
    1.76 -        {
    1.77 -	  vbox_r2[i].pack_start(rb_array[i][actpos]);
    1.78 -	}
    1.79 -	actpos++;
    1.80 -      }
    1.81 -      emsi++;
    1.82 -    }
    1.83 -    radios[i].pack_start(vbox_r1[i]);
    1.84 -    radios[i].pack_start(vbox_r2[i]);
    1.85 -    notebook.append_page(radios[i], property_strings[i]);
    1.86 -  }
    1.87 -
    1.88 -  add(vbox_b);
    1.89 -  vbox_b.pack_start(notebook);
    1.90 -
    1.91 -  show_all_children();
    1.92 -
    1.93 -}
    1.94 -
    1.95 -void MapWin::radio_click(int prop, int actpos)
    1.96 -{
    1.97 -
    1.98 -  //most nem kommentezem fel, mert ugyis valtozik
    1.99 -
   1.100 -  if(rb_array[prop][actpos].get_active())
   1.101 -  {
   1.102 -
   1.103 -    std::string mapname=rb_array[prop][actpos].get_label();
   1.104 -
   1.105 -    if(mapname=="Default")
   1.106 -    {
   1.107 -      mapname=property_strings[prop];
   1.108 -    }
   1.109 -
   1.110 -    switch(prop)
   1.111 -    {
   1.112 -      case WIDTH:
   1.113 -        gdc.changeLineWidth(mapname);
   1.114 -        break;
   1.115 -      case COLOR:
   1.116 -        gdc.changeColor(mapname);
   1.117 -        break;
   1.118 -      case TEXT:
   1.119 -        gdc.changeText(mapname);
   1.120 -        break;
   1.121 -      default:
   1.122 -        std::cout<<"Error\n";
   1.123 -    }
   1.124 -  }
   1.125 -};
   1.126 +#include <map_win.h>
   1.127 +#include <set>
   1.128 +
   1.129 +MapWin::MapWin(const std::string& title, MapStorage & mapst, GraphDisplayerCanvas & grdispc):gdc(grdispc),ms(mapst)
   1.130 +{
   1.131 +
   1.132 +  //most nem kommentezem fel, mert ugyis valtozik
   1.133 +
   1.134 +  set_title(title);
   1.135 +  set_default_size(400, 200);
   1.136 +
   1.137 +  rb_array=new Gtk::RadioButton * [PROPERTY_NUM];
   1.138 +  vbox_r1=new Gtk::VBox[PROPERTY_NUM];
   1.139 +  vbox_r2=new Gtk::VBox[PROPERTY_NUM];
   1.140 +  radios=new Gtk::HBox[PROPERTY_NUM];
   1.141 +  for(int i=0;i<PROPERTY_NUM;i++)
   1.142 +  {
   1.143 +    rb_array[i]=new Gtk::RadioButton[ms.numOfEdgeMaps()+1];
   1.144 +
   1.145 +    Gtk::RadioButton::Group group;
   1.146 +
   1.147 +    std::map< std::string,Graph::EdgeMap<double> * >::iterator emsi=ms.beginOfEdgeMaps();
   1.148 +    std::set<int> props;
   1.149 +
   1.150 +    int actprop;
   1.151 +    for(int j=0;j<ms.numOfEdgeMaps();j++)
   1.152 +    {
   1.153 +
   1.154 +      if(emsi->second==&(ms.default_edgemaps[i]))
   1.155 +      {
   1.156 +	actprop=j;
   1.157 +      }
   1.158 +      for(int k=0;k<PROPERTY_NUM;k++)
   1.159 +      {
   1.160 +	if(emsi->second==&(ms.default_edgemaps[k]))
   1.161 +	{
   1.162 +	  props.insert(j);
   1.163 +	}
   1.164 +      }
   1.165 +      emsi++;
   1.166 +    }
   1.167 +
   1.168 +    rb_array[i][0].set_group(group);
   1.169 +    rb_array[i][0].set_label("Default");
   1.170 +    rb_array[i][0].signal_clicked().connect( sigc::bind( sigc::bind( sigc::mem_fun(*this, &MapWin::radio_click), 0), i) );
   1.171 +    vbox_r1[i].pack_start(rb_array[i][0]);
   1.172 +
   1.173 +
   1.174 +    emsi=ms.beginOfEdgeMaps();
   1.175 +    int actpos=1;
   1.176 +    for(int j=0;j<ms.numOfEdgeMaps();j++)
   1.177 +    {
   1.178 +      if( ( props.find(j) )==( props.end() ) )
   1.179 +      {
   1.180 +	rb_array[i][actpos].set_group(group);
   1.181 +	rb_array[i][actpos].set_label(emsi->first);
   1.182 +	rb_array[i][actpos].signal_clicked().connect
   1.183 +	  (
   1.184 +	   sigc::bind( 
   1.185 +	    sigc::bind(
   1.186 +	     sigc::mem_fun(*this, &MapWin::radio_click),
   1.187 +	     actpos
   1.188 +	    ),
   1.189 +	    i
   1.190 +	   ) 
   1.191 +	  );
   1.192 +
   1.193 +    	if(actpos<(ms.numOfEdgeMaps()-PROPERTY_NUM+1)/2)
   1.194 +        {
   1.195 +          vbox_r1[i].pack_start(rb_array[i][actpos]);
   1.196 +	}
   1.197 +	else
   1.198 +        {
   1.199 +	  vbox_r2[i].pack_start(rb_array[i][actpos]);
   1.200 +	}
   1.201 +	actpos++;
   1.202 +      }
   1.203 +      emsi++;
   1.204 +    }
   1.205 +    radios[i].pack_start(vbox_r1[i]);
   1.206 +    radios[i].pack_start(vbox_r2[i]);
   1.207 +    notebook.append_page(radios[i], property_strings[i]);
   1.208 +  }
   1.209 +
   1.210 +  add(vbox_b);
   1.211 +  vbox_b.pack_start(notebook);
   1.212 +
   1.213 +  show_all_children();
   1.214 +
   1.215 +}
   1.216 +
   1.217 +void MapWin::radio_click(int prop, int actpos)
   1.218 +{
   1.219 +
   1.220 +  //most nem kommentezem fel, mert ugyis valtozik
   1.221 +
   1.222 +  if(rb_array[prop][actpos].get_active())
   1.223 +  {
   1.224 +
   1.225 +    std::string mapname=rb_array[prop][actpos].get_label();
   1.226 +
   1.227 +    if(mapname=="Default")
   1.228 +    {
   1.229 +      mapname=property_strings[prop];
   1.230 +    }
   1.231 +
   1.232 +    switch(prop)
   1.233 +    {
   1.234 +      case WIDTH:
   1.235 +        gdc.changeLineWidth(mapname);
   1.236 +        break;
   1.237 +      case COLOR:
   1.238 +        gdc.changeColor(mapname);
   1.239 +        break;
   1.240 +      case TEXT:
   1.241 +        gdc.changeText(mapname);
   1.242 +        break;
   1.243 +      default:
   1.244 +        std::cout<<"Error\n";
   1.245 +    }
   1.246 +  }
   1.247 +};