]> git.tdb.fi Git - r2c2.git/blob - source/engineer/trainpanel.h
87e17c9a14570b193c293f6902103407cbe09d68
[r2c2.git] / source / engineer / trainpanel.h
1 #ifndef TRAINPANEL_H_
2 #define TRAINPANEL_H_
3
4 #include <msp/gltk/hslider.h>
5 #include <msp/gltk/label.h>
6 #include <msp/gltk/panel.h>
7 #include "libmarklin/train.h"
8
9 class Engineer;
10
11 class TrainPanel: public Msp::GLtk::Panel
12 {
13 private:
14         Engineer &engineer;
15         Marklin::Train &train;
16         Msp::GLtk::Label *lbl_addr;
17         Msp::GLtk::Label *lbl_name;
18         Msp::GLtk::HSlider *sld_speed;
19         Marklin::Locomotive *loco;
20         Msp::GLtk::Label *lbl_speed;
21         Msp::GLtk::Label *lbl_status;
22
23 public:
24         TrainPanel(Engineer &, const Msp::GLtk::Resources &, Marklin::Train &);
25 private:
26         void speed_slider_changed(double);
27         void loco_speed_changed(unsigned);
28         void train_status_changed(const std::string &);
29         void place_clicked();
30 };
31
32 #endif