X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fengineer%2Ftrainpanel.h;h=d15462ec61d8855d367dd899d289d58a89363eef;hb=2029c5e4220e0809a39744a28ca9e2ff22e8ad28;hp=c8825af0120a5d8a98865c41fff7292ea1ba7259;hpb=651698847d5293cfb15b6fb23a394701388c0151;p=r2c2.git diff --git a/source/engineer/trainpanel.h b/source/engineer/trainpanel.h index c8825af..d15462e 100644 --- a/source/engineer/trainpanel.h +++ b/source/engineer/trainpanel.h @@ -9,6 +9,7 @@ Distributed under the GPL #define TRAINPANEL_H_ #include +#include #include #include #include @@ -23,6 +24,9 @@ class TrainPanel: public Msp::GLtk::Panel, public sigc::trackable private: Engineer &engineer; Marklin::Train &train; + Msp::GLtk::Panel *pnl_basic; + Msp::GLtk::Panel *pnl_extra; + Msp::GLtk::Button *btn_expand; Msp::GLtk::Label *lbl_addr; Msp::GLtk::Label *lbl_name; Msp::GLtk::HSlider *sld_speed; @@ -31,21 +35,31 @@ private: Msp::GLtk::Label *lbl_status; Msp::GLtk::Toggle *tgl_forward; std::map tgl_funcs; + sigc::connection pick_conn; + bool expanded; public: TrainPanel(Engineer &, const Msp::GLtk::Resources &, Marklin::Train &); + void expand(bool = true); + private: - void speed_slider_changed(double); - void train_speed_changed(unsigned); - void train_reverse_changed(bool); + void train_control_changed(const std::string &, float); void train_function_changed(unsigned, bool); void train_route_changed(const Marklin::Route *); void train_status_changed(const std::string &); void place_clicked(); + void take_clicked(); void edit_clicked(); void route_clicked(); + void goto_clicked(); + void timetable_clicked(); + void view_clicked(); + void expand_clicked(); + void speed_slider_changed(double); void forward_toggled(bool); void func_toggled(bool, unsigned); + void place(Marklin::Track *, unsigned); + void go_to(Marklin::Track *, unsigned); }; #endif