WimaServiceArea.h 1.18 KB
Newer Older
1
#pragma once
2

3
#include "WimaArea.h"
4
#include "WimaTrackerPolyline.h"
5
#include <QObject>
6

7 8
class WimaServiceArea : public WimaArea {
  Q_OBJECT
9
public:
10 11 12
  WimaServiceArea(QObject *parent = nullptr);
  WimaServiceArea(const WimaServiceArea &other, QObject *parent);
  WimaServiceArea &operator=(const WimaServiceArea &other);
13

14 15
  Q_PROPERTY(
      QGeoCoordinate depot READ depotQml WRITE setDepot NOTIFY depotChanged)
16

17 18 19
  // Overrides from WimaPolygon
  QString mapVisualQML(void) const { return "WimaServiceAreaMapVisual.qml"; }
  QString editorQML(void) const { return "WimaServiceAreaEditor.qml"; }
20

21
  // Property acessors
22 23
  const QGeoCoordinate &depot(void) const;
  QGeoCoordinate depotQml(void) const;
24

25 26 27
  // Member Methodes
  void saveToJson(QJsonObject &json);
  bool loadFromJson(const QJsonObject &json, QString &errorString);
28

29 30
  // static Members
  static const char *wimaServiceAreaName;
31 32 33
  static const char *depotLatitudeName;
  static const char *depotLongitudeName;
  static const char *depotAltitudeName;
34
signals:
35
  void depotChanged(void);
36 37

public slots:
38
  bool setDepot(const QGeoCoordinate &coordinate);
39

40
private:
41 42
  // Member Methodes
  void init();
43

44 45
  // Members
  QGeoCoordinate _depot;
46
};