+/* $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
{
-public:
- sigc::signal<void> signal_ok;
-
- TrainProperties(Engineer &, Msp::GLtk::Resources &, Marklin::Train *);
private:
Engineer &engineer;
Marklin::Train *train;
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;
- void ok_clicked();
+public:
+ TrainProperties(Engineer &, const Msp::GLtk::Resources &, Marklin::Train *);
+private:
+ virtual void on_ok_clicked();
+ void new_vehicle_selected(unsigned, const std::string &);
+ const Marklin::VehicleType &get_vehicle_type(unsigned, bool);
};
#endif