]> git.tdb.fi Git - r2c2.git/blobdiff - source/designer/trackbar.cpp
Don't crash if a train has no router
[r2c2.git] / source / designer / trackbar.cpp
index 9d7ebc587146afa43b5090010626a25af70d3330..11dd1a6556dfba7e7619219b82aa3eda0c3e2fe8 100644 (file)
@@ -1,27 +1,36 @@
-/* $Id$
-
-This file is part of R²C²
-Copyright © 2010 Mikkosoft Productions, Mikko Rasa
-Distributed under the GPL
-*/
-
 #include "designer.h"
 #include "trackbar.h"
 
 using namespace Msp;
 
 Trackbar::Trackbar(Designer &designer):
-       Toolbar("Track", 80)
+       Toolbar("Track")
 {
        GLtk::Button *btn;
 
-       pnl_content->add(*(btn = new GLtk::Button("+Trk")));
-       btn->set_geometry(GLtk::Geometry(0, 10, 40, 24));
-       btn->set_tooltip("Add a track piece");
-       btn->signal_clicked.connect(sigc::mem_fun(&designer, &Designer::new_track));
+       pnl_content->add(*(btn = new GLtk::Button("New")));
+       btn->set_style("green");
+       btn->set_tooltip("Add a track piece (N)");
+       btn->signal_clicked.connect(sigc::mem_fun(&designer, &Designer::new_object));
+
+       pnl_content->add(*(btn = new GLtk::Button("Del")));
+       btn->set_style("red");
+       btn->set_tooltip("Delete selected tracks (X)");
+       btn->signal_clicked.connect(sigc::mem_fun(&designer, &Designer::erase_objects));
 
        pnl_content->add(*(btn = new GLtk::Button("Prop")));
-       btn->set_geometry(GLtk::Geometry(40, 10, 40, 24));
-       btn->set_tooltip("Change properties of selected tracks");
-       btn->signal_clicked.connect(sigc::mem_fun(&designer, &Designer::track_properties));
+       btn->set_tooltip("Change properties of selected tracks (P)");
+       btn->signal_clicked.connect(sigc::mem_fun(&designer, &Designer::object_properties));
+
+       pnl_content->add(*(btn = new GLtk::Button("Xtnd")));
+       btn->set_tooltip("Extend straight track out of free endpoint (Shift+N)");
+       btn->signal_clicked.connect(sigc::mem_fun(&designer, &Designer::extend_track));
+
+       pnl_content->add(*(btn = new GLtk::Button("Conn")));
+       btn->set_tooltip("Connect free endpoints of selected tracks (C)");
+       btn->signal_clicked.connect(sigc::mem_fun(&designer, &Designer::connect_tracks));
+
+       pnl_content->add(*(btn = new GLtk::Button("Flat")));
+       btn->set_tooltip("Make selected tracks flat (F)");
+       btn->signal_clicked.connect(sigc::mem_fun(&designer, &Designer::flatten_tracks));
 }