WimaController.h 1.64 KB
Newer Older
Valentin Platzgummer's avatar
Valentin Platzgummer committed
1
#ifndef WIMACONTROLLER_H
2 3 4
#define WIMACONTROLLER_H

#include <QObject>
Valentin Platzgummer's avatar
Valentin Platzgummer committed
5 6 7
#include "QGCMapPolygon.h"
#include "QmlObjectListModel.h"
#include "WimaFlyArea.h"
8 9
#include "PlanMasterController.h"
#include "MissionController.h"
10 11 12 13 14 15 16

class WimaController : public QObject
{
    Q_OBJECT
public:
    explicit WimaController(QObject *parent = nullptr);

17 18 19 20
    Q_PROPERTY(WimaFlyArea* flyArea                         READ flyArea                                                    CONSTANT)
    Q_PROPERTY(PlanMasterController* masterController       READ masterController       WRITE  setMasterController          NOTIFY   masterControllerChanged)
    Q_PROPERTY(MissionController* missionController         READ missionController      WRITE  setMissionController         NOTIFY   missionControllerChanged)

Valentin Platzgummer's avatar
Valentin Platzgummer committed
21

22

Valentin Platzgummer's avatar
Valentin Platzgummer committed
23 24

    //Property Accessors
25 26 27
    WimaFlyArea *flyArea                            (void) { return _flyArea; }
    PlanMasterController* masterController          (void) { return _masterController; }
    MissionController* missionController            (void) { return _missionController; }
Valentin Platzgummer's avatar
Valentin Platzgummer committed
28

29
    Q_INVOKABLE void start(void);
30 31 32 33 34
    Q_INVOKABLE void recalcMission();


    void setMasterController(PlanMasterController* masterC);
    void setMissionController(MissionController* missionC);
35

36
signals:
37 38
    void masterControllerChanged(PlanMasterController* masterController);
    void missionControllerChanged(MissionController* missionController);
39

Valentin Platzgummer's avatar
Valentin Platzgummer committed
40

41
public slots:
Valentin Platzgummer's avatar
Valentin Platzgummer committed
42 43 44

private:
    //QmlObjectListModel* _visualItems;
45 46 47
    WimaFlyArea *               _flyArea;
    PlanMasterController*       _masterController;
    MissionController*          _missionController;
48 49
};

Valentin Platzgummer's avatar
Valentin Platzgummer committed
50
#endif // WIMACONTROLLER_H