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

#include <QObject>
Valentin Platzgummer's avatar
Valentin Platzgummer committed

#include "WimaAreaData.h"
Valentin Platzgummer's avatar
Valentin Platzgummer committed

class WimaServiceAreaData : public WimaAreaData
{
    Q_OBJECT

public:
    WimaServiceAreaData(QObject *parent = nullptr);
    WimaServiceAreaData(const WimaServiceAreaData &other, QObject *parent = nullptr);
    WimaServiceAreaData(const WimaServiceArea &other, QObject *parent = nullptr);
    WimaServiceAreaData& operator=(const WimaServiceAreaData &otherData);
    WimaServiceAreaData& operator=(const WimaServiceArea &otherArea);
Valentin Platzgummer's avatar
Valentin Platzgummer committed

    const QGeoCoordinate &takeOffPosition() const;
    QString type() const;

Valentin Platzgummer's avatar
Valentin Platzgummer committed

signals:
    void takeOffPositionChanged(const QGeoCoordinate& other);
    void landPositionChanged(const QGeoCoordinate& other);
Valentin Platzgummer's avatar
Valentin Platzgummer committed

public slots:
    void setTakeOffPosition(const QGeoCoordinate& newCoordinate);
    void setLandPosition(const QGeoCoordinate& newCoordinate);
Valentin Platzgummer's avatar
Valentin Platzgummer committed

protected:
    void assign(const WimaServiceAreaData &other);
    void assign(const WimaServiceArea &other);
Valentin Platzgummer's avatar
Valentin Platzgummer committed
private:
    // see WimaServieArea.h for explanation
    QGeoCoordinate      _takeOffPosition;
    QGeoCoordinate      _landPosition;
};