]> git.tdb.fi Git - r2c2.git/blobdiff - source/engineer/dynamicdialog.h
Don't crash if a train has no router
[r2c2.git] / source / engineer / dynamicdialog.h
index fc18cbd184cb54b4c978605bfae597c769dd6656..3c174428083714b0cf12e25b3c916b33b451235f 100644 (file)
@@ -3,18 +3,31 @@
 
 #include <msp/gltk/dialog.h>
 
-class Engineer;
+class UserInterface;
 
 class DynamicDialog: public Msp::GLtk::Dialog
 {
+public:
+       class StateLoader: public Msp::DataFile::ObjectLoader<DynamicDialog>
+       {
+       public:
+               StateLoader(DynamicDialog &);
+
+       private:
+               void position(float, float);
+       };
+
 protected:
-       Engineer &engineer;
+       UserInterface &ui;
 
-       DynamicDialog(Engineer &);
+       DynamicDialog(UserInterface &);
 public:
        virtual ~DynamicDialog();
 
-       virtual void update() = 0;
+       virtual void update() { };
+       virtual bool save_state(Msp::DataFile::Statement &) const { return false; }
+protected:
+       void save_position(std::list<Msp::DataFile::Statement> &) const;
 };
 
 #endif