X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fengineer%2Ftrainproperties.h;h=8cd0b2f9c3d7e3d080e596cb13e3dda0c2fcae4d;hb=54392d65e2053d1eacb4cfcc435f1013993f2973;hp=b63bc3d00848770c6a32db86644e1bbac74d7aed;hpb=52cbe8d99669f843f8f75c51128e2748584dd03a;p=r2c2.git diff --git a/source/engineer/trainproperties.h b/source/engineer/trainproperties.h index b63bc3d..8cd0b2f 100644 --- a/source/engineer/trainproperties.h +++ b/source/engineer/trainproperties.h @@ -1,25 +1,35 @@ #ifndef TRAINPROPERTIES_H_ #define TRAINPROPERTIES_H_ +#include #include -#include -#include +#include +#include "dialog.h" class Engineer; -class TrainProperties: public Msp::GLtk::Panel +class TrainProperties: public Dialog { -public: - sigc::signal signal_ok; - - TrainProperties(Engineer &, Msp::GLtk::Resources &, Marklin::Train *); 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 add_vehicles; + std::set rem_vehicles; - void ok_clicked(); +public: + TrainProperties(Engineer &, R2C2::Train *); +private: + 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