]> git.tdb.fi Git - r2c2.git/blobdiff - source/engineer/dynamicdialog.h
Persist most dialogs across runs
[r2c2.git] / source / engineer / dynamicdialog.h
index 0bf1996b2aae8e757679efbe9a71522e36f0f98c..3c174428083714b0cf12e25b3c916b33b451235f 100644 (file)
@@ -7,6 +7,16 @@ 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:
        UserInterface &ui;
 
@@ -14,7 +24,10 @@ protected:
 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