]> git.tdb.fi Git - r2c2.git/blob - source/engineer/controlpanel.h
c99ca17f61f86c084f70b7d9803a65e8a05774fd
[r2c2.git] / source / engineer / controlpanel.h
1 #ifndef CONTROLPANEL_H_
2 #define CONTROLPANEL_H_
3
4 #include <map>
5 #include <msp/gltk/panel.h>
6 #include <msp/gltk/toggle.h>
7 #include "libr2c2/train.h"
8
9 class Engineer;
10
11 class ControlPanel: public Msp::GLtk::Panel
12 {
13 private:
14         Engineer &engineer;
15         R2C2::Train &train;
16         bool updating;
17         std::map<unsigned, Msp::GLtk::Toggle *> tgl_funcs;
18         sigc::connection pick_conn;
19
20 public:
21         ControlPanel(Engineer &, R2C2::Train &);
22
23 private:
24         void ui_function_toggled(bool, unsigned);
25         void train_function_changed(unsigned, bool);
26         void place_clicked();
27         void place_pick_done(R2C2::Track *, unsigned);
28         void take_clicked();
29         void view_clicked();
30 };
31
32 #endif