X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fengineer%2Fengineer.h;h=dc48e70dadac3fe6729fc665318fa8da433a6a91;hb=52cbe8d99669f843f8f75c51128e2748584dd03a;hp=ac5ce2c94d45d3b1fbef42162e075d71a5ccea9e;hpb=06c100aacb559fbbe7380e15981c4772092c269b;p=r2c2.git diff --git a/source/engineer/engineer.h b/source/engineer/engineer.h index ac5ce2c..dc48e70 100644 --- a/source/engineer/engineer.h +++ b/source/engineer/engineer.h @@ -12,6 +12,7 @@ class MainPanel; class TrainPanel; +class TrainProperties; class Engineer: public Msp::Application { @@ -20,7 +21,7 @@ public: ~Engineer(); Marklin::Control &get_control() { return control; } - void add_train(unsigned); + Marklin::Train *add_train(unsigned); int main(); void quit() { exit(0); } private: @@ -43,20 +44,23 @@ private: Marklin::TrafficManager *trfc_mgr; Marklin::Train *placing_train; Marklin::Block *placing_block; - const Marklin::Block::Endpoint *placing_entry; + unsigned placing_entry; bool simulate; + TrainProperties *train_prop; + bool train_prop_stale; void tick(); - void key_press(unsigned, unsigned); + void key_press(unsigned, unsigned, wchar_t); void button_press(int, int, unsigned); void button_release(int, int, unsigned); void pointer_motion(int, int); void view_all(); void set_block_color(const Marklin::Block &, const Marklin::Color &); - void sensor_event(unsigned, bool); + void sensor_event(bool, Marklin::Sensor *); void block_reserved(const Marklin::Block &, const Marklin::Train *); void project_3d(); Marklin::Track3D *pick_track(int, int); + void dismiss_train_prop(); static Msp::Application::RegApp reg; };