#pragma once

#include <QObject>

#include "WimaAreaData.h"
#include "WimaJoinedArea.h"

#include "QGeoCoordinate"

class WimaJoinedAreaData : public WimaAreaData {
  Q_OBJECT

public:
  WimaJoinedAreaData(QObject *parent = nullptr);
  WimaJoinedAreaData(const WimaJoinedAreaData &other,
                     QObject *parent = nullptr);
  WimaJoinedAreaData(const WimaJoinedArea &other, QObject *parent = nullptr);
  WimaJoinedAreaData &operator=(const WimaJoinedAreaData &other);
  WimaJoinedAreaData &operator=(const WimaJoinedArea &other);

  virtual QString mapVisualQML() const override;

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

  static const char *typeString;

protected:
  void assign(const WimaJoinedAreaData &other);
  void assign(const WimaJoinedArea &other);

private:
};
