- if(index==drp_routes->get_n_items()-1)
- {
- Route *route = new Route(format("Route %d", designer.get_layout()->get_routes().size()+1));
- designer.get_layout()->add_route(*route);
- designer.edit_route(*route);
-
- const set<Route *> &routes = designer.get_layout()->get_routes();
- int selected = -1;
- unsigned n = 0;
- for(set<Route *>::const_iterator i=routes.begin(); (selected<0 && i!=routes.end()); ++i, ++n)
- if(*i==route)
- selected = n;
- drp_routes->set_selected_index(selected);
- }
- else
- {
- const set<Route *> &routes = designer.get_layout()->get_routes();
- set<Route *>::const_iterator i = routes.begin();
- advance(i, index);
- designer.edit_route(**i);
- }