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