diff -r 09b09efab0a1 -r 0b2217328320 mapselector.cc --- a/mapselector.cc Mon Oct 24 08:12:26 2005 +0000 +++ b/mapselector.cc Mon Oct 24 10:15:40 2005 +0000 @@ -1,6 +1,6 @@ #include "mapselector.h" -MapSelector::MapSelector(GraphDisplayerCanvas & grdispc, MapStorage & mapst, NewMapWin & newmapw, int identifier, bool edge):gdc(grdispc),ms(mapst),nmw(newmapw),id(identifier),itisedge(edge),default_state(true),node_to_update(INVALID),edge_to_update(INVALID) +MapSelector::MapSelector(GraphDisplayerCanvas & grdispc, MapStorage & mapst, NewMapWin & newmapw, int identifier, bool edge):gdc(grdispc),ms(mapst),nmw(newmapw),id(identifier),itisedge(edge),default_state(true),set_new_map(false),node_to_update(INVALID),edge_to_update(INVALID) { update_list(); @@ -36,7 +36,7 @@ newbut->signal_pressed().connect ( - sigc::mem_fun(nmw, &NewMapWin::show) + sigc::mem_fun(*this, &MapSelector::new_but_pressed) ); add(*label); @@ -47,6 +47,12 @@ add(*newbut); } +void MapSelector::new_but_pressed() +{ + set_new_map=true; + nmw.showByPreChoose(itisedge); +} + void MapSelector::update_list() { cbt.clear(); @@ -211,4 +217,9 @@ void MapSelector::append_text(Glib::ustring text) { cbt.append_text(text); + if(set_new_map) + { + set_active_text(text); + set_new_map=false; + } }