X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fengineer%2Fuserinterface.h;h=6c9673809e81f4c1b9f77a7d8ad5efa630da56c7;hb=f7ab597d035a053311c1a8c5baa51b090262f045;hp=9dd4d425f5ce08928100df4008190688a187ef00;hpb=c0e076401ee76fd9a5a96ff919a8e7b4d058c51b;p=r2c2.git diff --git a/source/engineer/userinterface.h b/source/engineer/userinterface.h index 9dd4d42..6c96738 100644 --- a/source/engineer/userinterface.h +++ b/source/engineer/userinterface.h @@ -12,6 +12,22 @@ class DynamicDialog; class UserInterface { +public: + class Loader: public Msp::DataFile::ObjectLoader + { + public: + Loader(UserInterface &); + + private: + template + void dialog(T &); + + template + 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 dyn_dialogs; + std::set 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