X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fengineer%2Ftrainpanel.h;h=d8b1ab0bae0b4f63ccdb62a4b6083deb714c2870;hb=010d8321e982d1684fcbff5bf6fc2bdec7cb7bae;hp=79b9d490456b6ede1d71290bd5de517c6d166eec;hpb=6c61179fe09af2f5366d50f10aadbf5f83438087;p=r2c2.git diff --git a/source/engineer/trainpanel.h b/source/engineer/trainpanel.h index 79b9d49..d8b1ab0 100644 --- a/source/engineer/trainpanel.h +++ b/source/engineer/trainpanel.h @@ -1,25 +1,44 @@ +/* $Id$ + +This file is part of the MSP Märklin suite +Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa +Distributed under the GPL +*/ + #ifndef TRAINPANEL_H_ #define TRAINPANEL_H_ #include #include #include +#include #include "libmarklin/train.h" class Engineer; class TrainPanel: public Msp::GLtk::Panel { -public: - TrainPanel(Engineer &, const Msp::GLtk::Resources &, Marklin::Train &); private: Engineer &engineer; Marklin::Train &train; + Msp::GLtk::Label *lbl_addr; Msp::GLtk::Label *lbl_name; Msp::GLtk::HSlider *sld_speed; - Marklin::Locomotive *loco; + Msp::GLtk::Label *lbl_speed; + Msp::GLtk::Label *lbl_status; + Msp::GLtk::Toggle *tgl_forward; + std::map tgl_funcs; +public: + TrainPanel(Engineer &, const Msp::GLtk::Resources &, Marklin::Train &); +private: void speed_slider_changed(double); + void train_speed_changed(unsigned); + void loco_function_changed(unsigned, bool); + void train_status_changed(const std::string &); + void place_clicked(); + void forward_toggled(bool); + void func_toggled(bool, unsigned); }; #endif