WimaServiceAreaData.h 994 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
#pragma once

#include "QGeoCoordinate"
#include <QObject>

#include "WimaAreaData.h"
#include "WimaServiceArea.h"

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);

  virtual QString mapVisualQML() const override;

  const QGeoCoordinate &depot() const;

  QString type() const;
  WimaServiceAreaData *Clone() const { return new WimaServiceAreaData(); }
  static const char *typeString;

signals:
  void depotChanged(const QGeoCoordinate &other);

public slots:
  void setDepot(const QGeoCoordinate &newCoordinate);

private:
  // see WimaServieArea.h for explanation
  QGeoCoordinate _depot;
};