WimaServiceArea.h 1.81 KB
Newer Older
1
#pragma once
2

3 4
#include <QObject>
#include "WimaArea.h"
5
#include "WimaTrackerPolyline.h"
6

7
class WimaServiceArea : public WimaArea
8
{
9
    Q_OBJECT
10
public:
11 12 13
    WimaServiceArea(QObject* parent = nullptr);
    WimaServiceArea(WimaArea* other = nullptr, QObject* parent = nullptr);

14 15 16 17
    Q_PROPERTY(QGeoCoordinate*          takeOffPosition READ takeOffPosition    WRITE setTakeOffPosition    NOTIFY takeOffPositionChanged)
    Q_PROPERTY(QGeoCoordinate*          landPosition    READ landPosition       WRITE setLandPosition       NOTIFY landPositionChanged)
    Q_PROPERTY(WimaTrackerPolyline*     polyline        READ polyline                                       CONSTANT)

18 19 20 21 22 23 24 25

    // Overrides from WimaPolygon
    QString         mapVisualQML    (void) const { return "WimaServiceAreaMapVisual.qml";}
    QString         editorQML       (void) const { return "WimaServiceAreaEditor.qml";}

    // Property acessors
    QGeoCoordinate*          takeOffPosition             (void)  { return &_takeOffPosition;}
    QGeoCoordinate*          landPosition                (void)  { return &_landPosition;}
26 27 28
    WimaTrackerPolyline*     polyline                    (void)  { return &_polyline;}
    WimaVCorridor*           vehicleCorridor             (void)  { return _vehicleCorridor;}

29 30 31 32

    // Property setters
    void setTakeOffPosition             (QGeoCoordinate* coordinate);
    void setLandPosition                (QGeoCoordinate* coordinate);
33
    void setVehicleCorridor             (WimaVCorridor* corridor);
34 35 36 37

signals:
    void takeOffPositionChanged         (void);
    void landPositionChanged            (void);
38
    void vehicleCorridorChanged         (WimaVCorridor* corridor);
39
private:
40
    WimaTrackerPolyline _polyline;
41 42
    QGeoCoordinate      _takeOffPosition;
    QGeoCoordinate      _landPosition;
43
    WimaVCorridor*      _vehicleCorridor;
44 45
};