WimaServiceArea.h 1.28 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
  Q_PROPERTY(QGeoCoordinate depot READ depot WRITE setDepot NOTIFY depotChanged)
15

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

20 21
  // Property acessors
  const QGeoCoordinate &depot(void) const { return _depot; }
22

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

27 28 29
  // Friends
  friend void print(const WimaServiceArea &area, QString &outputStr);
  friend void print(const WimaServiceArea &area);
30

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

public slots:
40
  bool setDepot(const QGeoCoordinate &coordinate);
41

42
private:
43 44
  // Member Methodes
  void init();
45

46 47
  // Members
  QGeoCoordinate _depot;
48
};