X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fengineer%2Ftrainpanel.h;h=c8825af0120a5d8a98865c41fff7292ea1ba7259;hb=651698847d5293cfb15b6fb23a394701388c0151;hp=63e6e734bf8bb12ef665199bbdf7aba1f39a0abd;hpb=447d621e93e71b710fed0920b473350122426b97;p=r2c2.git diff --git a/source/engineer/trainpanel.h b/source/engineer/trainpanel.h index 63e6e73..c8825af 100644 --- a/source/engineer/trainpanel.h +++ b/source/engineer/trainpanel.h @@ -1,15 +1,24 @@ +/* $Id$ + +This file is part of the MSP Märklin suite +Copyright © 2006-2010 Mikkosoft Productions, Mikko Rasa +Distributed under the GPL +*/ + #ifndef TRAINPANEL_H_ #define TRAINPANEL_H_ +#include #include -#include #include #include +#include +#include "libmarklin/route.h" #include "libmarklin/train.h" class Engineer; -class TrainPanel: public Msp::GLtk::Panel +class TrainPanel: public Msp::GLtk::Panel, public sigc::trackable { private: Engineer &engineer; @@ -18,18 +27,25 @@ private: Msp::GLtk::Label *lbl_name; Msp::GLtk::HSlider *sld_speed; Msp::GLtk::Label *lbl_speed; + Msp::GLtk::Label *lbl_route; Msp::GLtk::Label *lbl_status; - std::map ind_funcs; + 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 loco_speed_changed(unsigned); - void loco_function_changed(unsigned, bool); + void train_speed_changed(unsigned); + void train_reverse_changed(bool); + void train_function_changed(unsigned, bool); + void train_route_changed(const Marklin::Route *); void train_status_changed(const std::string &); void place_clicked(); - void func_clicked(unsigned); + void edit_clicked(); + void route_clicked(); + void forward_toggled(bool); + void func_toggled(bool, unsigned); }; #endif