/* $Id$
This file is part of the MSP Märklin suite
-Copyright © 2009 Mikkosoft Productions, Mikko Rasa
+Copyright © 2009-2010 Mikkosoft Productions, Mikko Rasa
Distributed under the GPL
*/
#include <msp/gltk/button.h>
#include <msp/strings/formatter.h>
+#include "libmarklin/route.h"
#include "designer.h"
#include "toolbar.h"
GLtk::Panel(d.get_ui_resources()),
designer(d)
{
- set_size(370, 40);
+ set_size(410, 40);
GLtk::Button *btn;
GLtk::Label *lbl;
add(*(btn=new GLtk::Button(res, "Load")));
btn->set_geometry(GLtk::Geometry(5, 10, 40, 24));
+ btn->set_tooltip("Load layout (not implemented)");
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, "Trnt")));
+ add(*(btn=new GLtk::Button(res, "NewT")));
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, "Sens")));
+ 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(225, 22, 40, 13));
+ lbl->set_geometry(GLtk::Geometry(265, 22, 40, 13));
add(*(drp_routes=new GLtk::Dropdown(res)));
- drp_routes->set_geometry(GLtk::Geometry(225, 5, 100, 17));
+ drp_routes->set_geometry(GLtk::Geometry(265, 5, 100, 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, "AddT")));
- btn->set_geometry(GLtk::Geometry(325, 10, 40, 24));
+ btn->set_geometry(GLtk::Geometry(365, 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::hide(sigc::mem_fun(this, &Toolbar::update_routes)));