4 #include <msp/gltk/button.h>
5 #include <msp/gltk/dialog.h>
6 #include <msp/gltk/hslider.h>
7 #include <msp/gltk/label.h>
8 #include <msp/gltk/toggle.h>
9 #include "libr2c2/train.h"
13 class TrainDialog: public Msp::GLtk::Dialog, public sigc::trackable
18 Msp::GLtk::Label *lbl_title;
19 Msp::GLtk::Button *btn_expand;
20 Msp::GLtk::Label *lbl_speed;
21 Msp::GLtk::Slider *sld_speed;
22 Msp::GLtk::Toggle *tgl_forward;
23 Msp::GLtk::Label *lbl_status;
24 Msp::GLtk::Panel *pnl_expander;
25 std::list<Msp::GLtk::Panel *> panels;
29 TrainDialog(Engineer &, R2C2::Train &);
32 void ai_event(R2C2::TrainAI &, const R2C2::TrainAI::Message &);
33 void update_speed_display(float);
34 void ui_speed_changed(double);
35 void update_forward(bool);
36 void ui_forward_toggled(bool);
37 void expand_clicked();
38 void toggle_panel(bool, Msp::GLtk::Panel *);