X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fremote%2Ftrainpanel.h;h=1cf7151a00b39cd45474899dc803d01a57e76039;hb=9f0d428e974defa64cdf8e7b7072967327250958;hp=2dcd095b593b403ae37576743be4c136e9a90be2;hpb=010d8321e982d1684fcbff5bf6fc2bdec7cb7bae;p=r2c2.git diff --git a/source/remote/trainpanel.h b/source/remote/trainpanel.h index 2dcd095..1cf7151 100644 --- a/source/remote/trainpanel.h +++ b/source/remote/trainpanel.h @@ -1,36 +1,48 @@ -/* $Id$ - -This file is part of the MSP Märklin suite -Copyright © 2009 Mikkosoft Productions, Mikko Rasa -Distributed under the GPL -*/ - #ifndef TRAINPANEL_H_ #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: - Marklin::NetTrain &train; + struct RouteRecord: public Gtk::TreeModelColumnRecord + { + Gtk::TreeModelColumn name; + + RouteRecord(); + }; + + Remote &remote; + R2C2::Client &client; + R2C2::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 &, R2C2::Client &, R2C2::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