Skip to content
WimaAreaData.h 1.11 KiB
Newer Older
Valentin Platzgummer's avatar
Valentin Platzgummer committed
#pragma once

#include <QObject>

#include "QGeoCoordinate"

Valentin Platzgummer's avatar
Valentin Platzgummer committed
class WimaAreaData : public QObject
{
    Q_OBJECT

public:
    Q_PROPERTY(const QVariantList path READ path NOTIFY pathChanged)
Valentin Platzgummer's avatar
Valentin Platzgummer committed

    WimaAreaData(QObject *parent = nullptr);
    WimaAreaData(const WimaAreaData &other, QObject *parent = nullptr);
    WimaAreaData(const WimaArea &other, QObject *parent = nullptr);
    WimaAreaData& operator=(const WimaAreaData& otherData);
    WimaAreaData& operator=(const WimaArea& otherArea);
Valentin Platzgummer's avatar
Valentin Platzgummer committed

    double          maxAltitude()  const;
    QVariantList    path()         const;
    QString         type()         const;
Valentin Platzgummer's avatar
Valentin Platzgummer committed

    static const char *typeString;

signals:
    void maxAltitudeChanged (double maxAltitude);
    void pathChanged        (const QVariantList& coordinateList);
Valentin Platzgummer's avatar
Valentin Platzgummer committed

public slots:
    void setMaxAltitude(double maxAltitude);
    void setPath(const QList<QGeoCoordinate> &coordinateList);
    void setPath(const QVariantList &coordinateList);
Valentin Platzgummer's avatar
Valentin Platzgummer committed

private:
Valentin Platzgummer's avatar
Valentin Platzgummer committed
    // see WimaArea.h for explanation
Valentin Platzgummer's avatar
Valentin Platzgummer committed
};