X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fengineer%2Ftraindialog.h;h=64ddb96a05851b308bbc5a5784a329dbae1d981b;hb=f8873062b146028c07f55ad625d2767e45133c27;hp=545c3b0dae3afc0d1380e8f570dce783c4ad12b1;hpb=a88f197f8e2ab347531ba5a4aad3113518259ec6;p=r2c2.git diff --git a/source/engineer/traindialog.h b/source/engineer/traindialog.h index 545c3b0..64ddb96 100644 --- a/source/engineer/traindialog.h +++ b/source/engineer/traindialog.h @@ -2,16 +2,26 @@ #define TRAINDIALOG_H_ #include -#include #include #include #include #include "libr2c2/train.h" +#include "dynamicdialog.h" class Engineer; -class TrainDialog: public Msp::GLtk::Dialog, public sigc::trackable +class TrainDialog: public DynamicDialog, public sigc::trackable { +public: + class StateLoader: public Msp::DataFile::DerivedObjectLoader + { + public: + StateLoader(TrainDialog &); + + private: + void expanded(bool); + }; + private: Engineer &engineer; R2C2::Train &train; @@ -37,7 +47,11 @@ private: void update_forward(bool); void ui_forward_toggled(bool); void expand_clicked(); + void set_expanded(bool); void toggle_panel(bool, Msp::GLtk::Panel *); + +public: + virtual bool save_state(Msp::DataFile::Statement &) const; }; #endif