WimaServiceAreaData.h 994 Bytes
Newer Older
Valentin Platzgummer's avatar
Valentin Platzgummer committed
1 2
#pragma once

3
#include "QGeoCoordinate"
4
#include <QObject>
Valentin Platzgummer's avatar
Valentin Platzgummer committed
5 6

#include "WimaAreaData.h"
7 8
#include "WimaServiceArea.h"

9 10
class WimaServiceAreaData : public WimaAreaData {
  Q_OBJECT
Valentin Platzgummer's avatar
Valentin Platzgummer committed
11 12

public:
13 14 15 16 17 18
  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
19

20 21
  virtual QString mapVisualQML() const override;

22
  const QGeoCoordinate &depot() const;
23

24 25 26
  QString type() const;
  WimaServiceAreaData *Clone() const { return new WimaServiceAreaData(); }
  static const char *typeString;
Valentin Platzgummer's avatar
Valentin Platzgummer committed
27 28

signals:
29
  void depotChanged(const QGeoCoordinate &other);
Valentin Platzgummer's avatar
Valentin Platzgummer committed
30 31

public slots:
32
  void setDepot(const QGeoCoordinate &newCoordinate);
Valentin Platzgummer's avatar
Valentin Platzgummer committed
33 34

private:
35 36
  // see WimaServieArea.h for explanation
  QGeoCoordinate _depot;
Valentin Platzgummer's avatar
Valentin Platzgummer committed
37
};