Skip to content
WimaServiceArea.h 1.28 KiB
Newer Older
#pragma once
#include "WimaArea.h"
#include "WimaTrackerPolyline.h"
Valentin Platzgummer's avatar
Valentin Platzgummer committed
#include <QObject>
Valentin Platzgummer's avatar
Valentin Platzgummer committed
class WimaServiceArea : public WimaArea {
  Q_OBJECT
public:
Valentin Platzgummer's avatar
Valentin Platzgummer committed
  WimaServiceArea(QObject *parent = nullptr);
  WimaServiceArea(const WimaServiceArea &other, QObject *parent);
  WimaServiceArea &operator=(const WimaServiceArea &other);
Valentin Platzgummer's avatar
Valentin Platzgummer committed
  Q_PROPERTY(QGeoCoordinate depot READ depot WRITE setDepot NOTIFY depotChanged)
Valentin Platzgummer's avatar
Valentin Platzgummer committed
  // Overrides from WimaPolygon
  QString mapVisualQML(void) const { return "WimaServiceAreaMapVisual.qml"; }
  QString editorQML(void) const { return "WimaServiceAreaEditor.qml"; }
Valentin Platzgummer's avatar
Valentin Platzgummer committed
  // Property acessors
  const QGeoCoordinate &depot(void) const { return _depot; }
Valentin Platzgummer's avatar
Valentin Platzgummer committed
  // Member Methodes
  void saveToJson(QJsonObject &json);
  bool loadFromJson(const QJsonObject &json, QString &errorString);
Valentin Platzgummer's avatar
Valentin Platzgummer committed
  // Friends
  friend void print(const WimaServiceArea &area, QString &outputStr);
  friend void print(const WimaServiceArea &area);
Valentin Platzgummer's avatar
Valentin Platzgummer committed
  // static Members
  static const char *wimaServiceAreaName;
  static const char *depotLatitudeName;
  static const char *depotLongitudeName;
  static const char *depotAltitudeName;
Valentin Platzgummer's avatar
Valentin Platzgummer committed
  void depotChanged(void);
  bool setDepot(const QGeoCoordinate &coordinate);
Valentin Platzgummer's avatar
Valentin Platzgummer committed
  // Member Methodes
  void init();
Valentin Platzgummer's avatar
Valentin Platzgummer committed
  // Members
  QGeoCoordinate _depot;