]> git.tdb.fi Git - r2c2.git/blobdiff - source/engineer/engineer.h
Major code refactoring:
[r2c2.git] / source / engineer / engineer.h
index ac5ce2c94d45d3b1fbef42162e075d71a5ccea9e..dc48e70dadac3fe6729fc665318fa8da433a6a91 100644 (file)
@@ -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<Engineer> reg;
 };