ladanyi@1412: #include ladanyi@1412: #include ladanyi@1412: ladanyi@1412: MapWin::MapWin(const std::string& title, MapStorage & mapst, GraphDisplayerCanvas & grdispc):gdc(grdispc),ms(mapst) ladanyi@1412: { hegyi@1440: hegyi@1440: //most nem kommentezem fel, mert ugyis valtozik hegyi@1440: ladanyi@1412: set_title(title); ladanyi@1412: set_default_size(400, 200); ladanyi@1412: ladanyi@1412: rb_array=new Gtk::RadioButton * [PROPERTY_NUM]; ladanyi@1412: vbox_r1=new Gtk::VBox[PROPERTY_NUM]; ladanyi@1412: vbox_r2=new Gtk::VBox[PROPERTY_NUM]; ladanyi@1412: radios=new Gtk::HBox[PROPERTY_NUM]; ladanyi@1412: for(int i=0;i * >::iterator emsi=ms.beginOfEdgeMaps(); ladanyi@1412: std::set props; ladanyi@1412: ladanyi@1412: int actprop; ladanyi@1412: for(int j=0;jsecond==&(ms.default_edgemaps[i])) ladanyi@1412: { ladanyi@1412: actprop=j; ladanyi@1412: } ladanyi@1412: for(int k=0;ksecond==&(ms.default_edgemaps[k])) ladanyi@1412: { ladanyi@1412: props.insert(j); ladanyi@1412: } ladanyi@1412: } ladanyi@1412: emsi++; ladanyi@1412: } ladanyi@1412: ladanyi@1412: rb_array[i][0].set_group(group); ladanyi@1412: rb_array[i][0].set_label("Default"); ladanyi@1412: rb_array[i][0].signal_clicked().connect( sigc::bind( sigc::bind( sigc::mem_fun(*this, &MapWin::radio_click), 0), i) ); ladanyi@1412: vbox_r1[i].pack_start(rb_array[i][0]); ladanyi@1412: ladanyi@1412: ladanyi@1412: emsi=ms.beginOfEdgeMaps(); ladanyi@1412: int actpos=1; ladanyi@1412: for(int j=0;jfirst); ladanyi@1412: rb_array[i][actpos].signal_clicked().connect ladanyi@1412: ( ladanyi@1412: sigc::bind( ladanyi@1412: sigc::bind( ladanyi@1412: sigc::mem_fun(*this, &MapWin::radio_click), ladanyi@1412: actpos ladanyi@1412: ), ladanyi@1412: i ladanyi@1412: ) ladanyi@1412: ); ladanyi@1412: ladanyi@1412: if(actpos<(ms.numOfEdgeMaps()-PROPERTY_NUM+1)/2) ladanyi@1412: { ladanyi@1412: vbox_r1[i].pack_start(rb_array[i][actpos]); ladanyi@1412: } ladanyi@1412: else ladanyi@1412: { ladanyi@1412: vbox_r2[i].pack_start(rb_array[i][actpos]); ladanyi@1412: } ladanyi@1412: actpos++; ladanyi@1412: } ladanyi@1412: emsi++; ladanyi@1412: } ladanyi@1412: radios[i].pack_start(vbox_r1[i]); ladanyi@1412: radios[i].pack_start(vbox_r2[i]); ladanyi@1412: notebook.append_page(radios[i], property_strings[i]); ladanyi@1412: } ladanyi@1412: ladanyi@1412: add(vbox_b); ladanyi@1412: vbox_b.pack_start(notebook); ladanyi@1412: ladanyi@1412: show_all_children(); ladanyi@1412: ladanyi@1412: } ladanyi@1412: ladanyi@1412: void MapWin::radio_click(int prop, int actpos) ladanyi@1412: { hegyi@1440: hegyi@1440: //most nem kommentezem fel, mert ugyis valtozik hegyi@1440: ladanyi@1412: if(rb_array[prop][actpos].get_active()) ladanyi@1412: { ladanyi@1412: ladanyi@1412: std::string mapname=rb_array[prop][actpos].get_label(); ladanyi@1412: ladanyi@1412: if(mapname=="Default") ladanyi@1412: { ladanyi@1412: mapname=property_strings[prop]; ladanyi@1412: } ladanyi@1412: ladanyi@1412: switch(prop) ladanyi@1412: { ladanyi@1412: case WIDTH: ladanyi@1412: gdc.changeLineWidth(mapname); ladanyi@1412: break; ladanyi@1412: case COLOR: ladanyi@1412: gdc.changeColor(mapname); ladanyi@1412: break; ladanyi@1412: case TEXT: ladanyi@1412: gdc.changeText(mapname); ladanyi@1412: break; ladanyi@1412: default: ladanyi@1412: std::cout<<"Error\n"; ladanyi@1412: } ladanyi@1412: } ladanyi@1412: };