SafeArea.h 1.08 KB
Newer Older
1 2
#pragma once

3
#include "GeoArea.h"
4 5
#include <QObject>

6
class SafeArea : public GeoArea {
7 8
  Q_OBJECT
public:
9 10 11
  SafeArea(QObject *parent = nullptr);
  SafeArea(const SafeArea &other, QObject *parent);
  SafeArea &operator=(const SafeArea &other);
12 13 14 15 16

  Q_PROPERTY(
      QGeoCoordinate depot READ depotQml WRITE setDepot NOTIFY depotChanged)

  // Overrides from WimaPolygon
17 18 19 20 21
  QString mapVisualQML(void) const override;
  QString editorQML(void) const override;
  SafeArea *clone(QObject *parent = nullptr) const;
  void saveToJson(QJsonObject &json) override;
  bool loadFromJson(const QJsonObject &json, QString &errorString) override;
22 23 24 25 26 27

  // Property acessors
  const QGeoCoordinate &depot(void) const;
  QGeoCoordinate depotQml(void) const;

  // static Members
28
  static const char *safeAreaName;
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
  static const char *depotLatitudeName;
  static const char *depotLongitudeName;
  static const char *depotAltitudeName;
signals:
  void depotChanged(void);

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

private:
  // Member Methodes
  void init();

  // Members
  QGeoCoordinate _depot;
};