X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fremote%2Ftrainpanel.h;h=e1464e36331f4bd8923d141644a146ce3eeb7ea8;hb=9b05c573a38639827697fe393d55b7c76f5bde45;hp=2dcd095b593b403ae37576743be4c136e9a90be2;hpb=010d8321e982d1684fcbff5bf6fc2bdec7cb7bae;p=r2c2.git diff --git a/source/remote/trainpanel.h b/source/remote/trainpanel.h index 2dcd095..e1464e3 100644 --- a/source/remote/trainpanel.h +++ b/source/remote/trainpanel.h @@ -1,7 +1,7 @@ /* $Id$ This file is part of the MSP Märklin suite -Copyright © 2009 Mikkosoft Productions, Mikko Rasa +Copyright © 2009-2010 Mikkosoft Productions, Mikko Rasa Distributed under the GPL */ @@ -9,28 +9,47 @@ Distributed under the GPL #define TRAINPANEL_H_ #include -#include +#include +#include #include #include +#include "network/client.h" #include "network/train.h" -class TrainPanel: public Gtk::Frame +class Remote; + +class TrainPanel: public Gtk::Expander { private: + struct RouteRecord: public Gtk::TreeModelColumnRecord + { + Gtk::TreeModelColumn name; + + RouteRecord(); + }; + + Remote &remote; + Marklin::Client &client; Marklin::NetTrain &train; Gtk::Scale *scl_speed; Gtk::Label *lbl_status; + Gtk::CheckButton *chk_reverse; + RouteRecord route_columns; + Gtk::ComboBox *cmb_route; std::map chk_funcs; public: - TrainPanel(Marklin::NetTrain &); + TrainPanel(Remote &, Marklin::Client &, Marklin::NetTrain &); private: void name_changed(const std::string &); void status_changed(const std::string &); - void speed_changed(unsigned); + void control_changed(const std::string &, float); void function_changed(unsigned, bool); + void route_changed(const std::string &); void ui_speed_changed(); + void ui_reverse_changed(); void ui_function_changed(unsigned); + void ui_route_changed(); }; #endif