]> git.tdb.fi Git - r2c2.git/blobdiff - source/engineer/trainproperties.h
Maintain a Block pointer in Track
[r2c2.git] / source / engineer / trainproperties.h
index 20ab3349fa4f85815ea7648bf2b86a3a3030495f..c75015b08f4b27f8c5b009af0af17aa572352713 100644 (file)
@@ -1,14 +1,21 @@
+/* $Id$
+
+This file is part of the MSP Märklin suite
+Copyright © 2006-2009 Mikkosoft Productions, Mikko Rasa
+Distributed under the GPL
+*/
+
 #ifndef TRAINPROPERTIES_H_
 #define TRAINPROPERTIES_H_
 
 #include <msp/gltk/dropdown.h>
 #include <msp/gltk/entry.h>
-#include <msp/gltk/panel.h>
 #include <libmarklin/train.h>
+#include "dialog.h"
 
 class Engineer;
 
-class TrainProperties: public Msp::GLtk::Panel
+class TrainProperties: public Dialog
 {
 private:
        Engineer &engineer;
@@ -16,14 +23,17 @@ private:
        Msp::GLtk::Entry *ent_addr;
        Msp::GLtk::Dropdown *drp_type;
        Msp::GLtk::Entry *ent_name;
+       Msp::GLtk::Dropdown *drp_priority;
+       Msp::GLtk::List *lst_vehicles;
+       Msp::GLtk::Dropdown *drp_new_vehicle;
+       std::vector<const Marklin::VehicleType *> add_vehicles;
 
 public:
-       sigc::signal<void> signal_ok;
-
-       TrainProperties(Engineer &, Msp::GLtk::Resources &, Marklin::Train *);
+       TrainProperties(Engineer &, const Msp::GLtk::Resources &, Marklin::Train *);
 private:
-       void ok_clicked();
-       void cancel_clicked();
+       virtual void on_ok_clicked();
+       void new_vehicle_selected(unsigned, const std::string &);
+       const Marklin::VehicleType &get_vehicle_type(unsigned, bool);
 };
 
 #endif