]> git.tdb.fi Git - r2c2.git/blobdiff - source/engineer/userinterface.h
Properly round negative z coordinates for Terrain
[r2c2.git] / source / engineer / userinterface.h
index 9dd4d425f5ce08928100df4008190688a187ef00..6c9673809e81f4c1b9f77a7d8ad5efa630da56c7 100644 (file)
@@ -12,6 +12,22 @@ class DynamicDialog;
 
 class UserInterface
 {
+public:
+       class Loader: public Msp::DataFile::ObjectLoader<UserInterface>
+       {
+       public:
+               Loader(UserInterface &);
+
+       private:
+               template<typename T>
+               void dialog(T &);
+
+               template<typename T>
+               void basic_dialog();
+
+               void traindialog(unsigned);
+       };
+
 private:
        Engineer &engineer;
        Msp::GLtk::Resources resources;
@@ -19,7 +35,7 @@ private:
        Msp::GLtk::Arrangement *root_arrangement;
 
        MainWindow main_wnd;
-       std::list<DynamicDialog *> dyn_dialogs;
+       std::set<DynamicDialog *> dyn_dialogs;
        bool import_active;
 
        Msp::Time::TimeStamp status_timeout;
@@ -43,6 +59,8 @@ private:
 public:
        void tick();
        void render() const;
+
+       void save_state(const std::string &) const;
 };
 
 #endif