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