]> git.tdb.fi Git - r2c2.git/blobdiff - source/engineer/trainproperties.h
Further adjustments to changes in GLtk
[r2c2.git] / source / engineer / trainproperties.h
index 0171cf59f64e3bf420f0f6a5cea45a5378b26c40..8cd0b2f9c3d7e3d080e596cb13e3dda0c2fcae4d 100644 (file)
@@ -1,37 +1,35 @@
-/* $Id$
-
-This file is part of the MSP Märklin suite
-Copyright © 2006-2008 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 <libr2c2/train.h>
+#include "dialog.h"
 
 class Engineer;
 
-class TrainProperties: public Msp::GLtk::Panel
+class TrainProperties: public Dialog
 {
-public:
-       sigc::signal<void> signal_ok;
-
 private:
        Engineer &engineer;
-       Marklin::Train *train;
+       R2C2::Train *train;
        Msp::GLtk::Entry *ent_addr;
+       Msp::GLtk::Dropdown *drp_protocol;
        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 R2C2::VehicleType *> add_vehicles;
+       std::set<unsigned> rem_vehicles;
 
 public:
-       TrainProperties(Engineer &, Msp::GLtk::Resources &, Marklin::Train *);
+       TrainProperties(Engineer &, R2C2::Train *);
 private:
-       void ok_clicked();
-       void cancel_clicked();
+       virtual void on_ok_clicked();
+       void new_vehicle_selected(unsigned, const std::string &);
+       void remove_vehicle_clicked();
+       const R2C2::VehicleType &get_vehicle_type(unsigned, bool);
 };
 
 #endif