#pragma once

#include <QObject>
#include <QGeoCoordinate>


#include "WimaAreaData.h"
#include "WimaMeasurementArea.h"



class WimaMeasurementAreaData : public WimaAreaData
{
    Q_OBJECT

public:
    WimaMeasurementAreaData(QObject *parent = nullptr);
    WimaMeasurementAreaData(const WimaMeasurementAreaData &other, QObject *parent = nullptr);
    WimaMeasurementAreaData(const WimaMeasurementArea &other, QObject *parent = nullptr);
    WimaMeasurementAreaData& operator=(const WimaMeasurementAreaData &other);
    WimaMeasurementAreaData& operator=(const WimaMeasurementArea &other);

    QString type() const;
    WimaMeasurementAreaData *Clone() const {return new WimaMeasurementAreaData(*this);}

    static const char* typeString;

signals:

public slots:

protected:
    void assign(const WimaMeasurementAreaData &other);
    void assign(const WimaMeasurementArea &other);

private:
    // see WimaMeasurementArea.h for explanation
};
