X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fengineer%2Fdeparturesdialog.h;h=bbc8246bdfe46b79d612913af12336bd832f3c07;hb=dfe3dd563981883f3b7c826102fed33c7ff0d12d;hp=098fab82bf614b319531b4e0767393a1bcce6d65;hpb=95339ab1d15219938c7b2945f4f558dc162c9127;p=r2c2.git diff --git a/source/engineer/departuresdialog.h b/source/engineer/departuresdialog.h index 098fab8..bbc8246 100644 --- a/source/engineer/departuresdialog.h +++ b/source/engineer/departuresdialog.h @@ -1,13 +1,25 @@ #ifndef DEPARTURESDIALOG_H_ #define DEPARTURESDIALOG_H_ -#include #include #include #include "libr2c2/departures.h" +#include "dynamicdialog.h" -class DeparturesDialog: public Msp::GLtk::Dialog +class Engineer; + +class DeparturesDialog: public DynamicDialog { +public: + class StateLoader: public Msp::DataFile::DerivedObjectLoader + { + public: + StateLoader(DeparturesDialog &); + + private: + void group(const std::string &); + }; + private: struct Row { @@ -29,11 +41,16 @@ private: std::vector rows; public: - DeparturesDialog(const R2C2::Layout &, const std::string & = std::string()); + DeparturesDialog(Engineer &, const std::string & = std::string()); + + void set_group(const std::string &); private: void group_selected(unsigned); void update_rows(); + +public: + virtual bool save_state(Msp::DataFile::Statement &) const; }; #endif