X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fengineer%2Ftrainproperties.h;h=8cd0b2f9c3d7e3d080e596cb13e3dda0c2fcae4d;hb=b88d3630a0e3fdd763db018bbe5dbfe3180a95f2;hp=20ab3349fa4f85815ea7648bf2b86a3a3030495f;hpb=447d621e93e71b710fed0920b473350122426b97;p=r2c2.git diff --git a/source/engineer/trainproperties.h b/source/engineer/trainproperties.h index 20ab334..8cd0b2f 100644 --- a/source/engineer/trainproperties.h +++ b/source/engineer/trainproperties.h @@ -3,27 +3,33 @@ #include #include -#include -#include +#include +#include "dialog.h" class Engineer; -class TrainProperties: public Msp::GLtk::Panel +class TrainProperties: public Dialog { 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; public: - sigc::signal signal_ok; - - 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