WimaServiceAreaData.h 1.03 KB
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
  const QGeoCoordinate &depot() const;
21

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

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

public slots:
30
  void setDepot(const QGeoCoordinate &newCoordinate);
Valentin Platzgummer's avatar
Valentin Platzgummer committed
31

32
protected:
33 34 35
  void assign(const WimaServiceAreaData &other);
  void assign(const WimaServiceArea &other);

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