Subversion Repositories public iLand

Rev

Rev 105 | Rev 136 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1
 
105 Werner 2
#ifndef MODELCONTROLLER_H
3
#define MODELCONTROLLER_H
128 Werner 4
#include <QObject>
105 Werner 5
 
128 Werner 6
class Model;
7
class ModelController: public QObject
105 Werner 8
{
128 Werner 9
    Q_OBJECT
105 Werner 10
public:
11
    ModelController();
128 Werner 12
    ~ModelController();
13
    Model *model() const { return mModel; }
14
    // bool checkers...
15
    const bool canCreate(); ///< return true if the model can be created (settings loaded and model does not exist)
16
    const bool canDestroy(); ///< model may be destroyed
17
    const bool canRun(); ///< model may be run
18
    const bool isRunning(); ///< model is runni
19
public slots:
20
    void setFileName(QString initFileName); ///< set project file name
21
    void create(); ///< create the model
22
    void destroy(); ///< delete the model
23
    void run(); ///< run the model
24
    void runYear(); ///< runs a single time step
25
private:
26
    Model *mModel;
27
    QString mInitFile;
28
    int mRunYears;
105 Werner 29
};
30
 
31
#endif // MODELCONTROLLER_H