- add(*(btn=new GLtk::Button(res, "Save")));
- btn->set_geometry(GLtk::Geometry(45, 10, 40, 24));
- btn->set_tooltip("Save current layout");
- btn->signal_clicked.connect(sigc::mem_fun(&designer, &Designer::save));
-
- add(*(btn=new GLtk::Button(res, "Quit")));
- btn->set_geometry(GLtk::Geometry(85, 10, 40, 24));
- btn->set_style("red");
- btn->set_tooltip("Exit Designer");
- btn->signal_clicked.connect(sigc::mem_fun(&designer, &Designer::quit));
-
- add(*(btn=new GLtk::Button(res, "+Trk")));
- btn->set_geometry(GLtk::Geometry(135, 10, 40, 24));
- btn->set_tooltip("Add a track piece");
- btn->signal_clicked.connect(sigc::mem_fun(&designer, &Designer::new_track));
-
- add(*(btn=new GLtk::Button(res, "Trnt")));
- btn->set_geometry(GLtk::Geometry(175, 10, 40, 24));
- btn->set_tooltip("Set turnout ID of selected track");
- btn->signal_clicked.connect(sigc::mem_fun(&designer, &Designer::set_turnout_id));
-
- add(*(btn=new GLtk::Button(res, "Sens")));
- btn->set_geometry(GLtk::Geometry(215, 10, 40, 24));
- btn->set_tooltip("Set sensor ID of selected tracks");
- btn->signal_clicked.connect(sigc::mem_fun(&designer, &Designer::set_sensor_id));
-
- add(*(lbl=new GLtk::Label(res, "Routes:")));
- lbl->set_geometry(GLtk::Geometry(265, 22, 40, 13));
-
- add(*(drp_routes=new GLtk::Dropdown(res)));
- drp_routes->set_geometry(GLtk::Geometry(265, 5, 250, 17));
- drp_routes->set_tooltip("Select route to edit");
- drp_routes->append("(new route)");
- drp_routes->signal_item_selected.connect(sigc::mem_fun(this, &Toolbar::route_selected));
-
- add(*(btn=new GLtk::Button(res, "Del")));
- btn->set_geometry(GLtk::Geometry(515, 10, 40, 24));
- btn->set_tooltip("Delete the current route");
- btn->signal_clicked.connect(sigc::mem_fun(this, &Toolbar::delete_route_clicked));
-
- add(*(btn=new GLtk::Button(res, "Name")));
- btn->set_geometry(GLtk::Geometry(555, 10, 40, 24));
- btn->set_tooltip("Rename the current route");
- btn->signal_clicked.connect(sigc::mem_fun(&designer, &Designer::rename_route));
-
- add(*(btn=new GLtk::Button(res, "Add")));
- btn->set_geometry(GLtk::Geometry(595, 10, 40, 24));
- btn->set_tooltip("Add selected tracks to current route");
- btn->signal_clicked.connect(sigc::mem_fun(&designer, &Designer::add_selection_to_route));
-
- designer.get_layout().signal_route_added.connect(sigc::mem_fun(this, &Toolbar::route_added));
- designer.get_layout().signal_route_removed.connect(sigc::hide(sigc::mem_fun(this, &Toolbar::update_routes)));
-
- const set<Route *> &routes = designer.get_layout().get_routes();
- for(set<Route *>::const_iterator i=routes.begin(); i!=routes.end(); ++i)
- (*i)->signal_name_changed.connect(sigc::hide(sigc::mem_fun(this, &Toolbar::update_routes)));
-
- update_routes();