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