MeasurementTile.h 982 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#pragma once

#include "geometry/GeoArea.h"

#include <QGeoCoordinate>

class MeasurementTile : public GeoArea {
  Q_OBJECT
public:
  MeasurementTile(QObject *parent = nullptr);
  MeasurementTile(const MeasurementTile &other, QObject *parent = nullptr);
  ~MeasurementTile();

  MeasurementTile &operator=(const MeasurementTile &other);

  Q_PROPERTY(double progress READ progress NOTIFY progressChanged)

  virtual QString mapVisualQML() const override;
  virtual QString editorQML() const override;
Valentin Platzgummer's avatar
Valentin Platzgummer committed
20
  virtual MeasurementTile *clone(QObject *parent) const override;
21 22 23 24 25 26

  void push_back(const QGeoCoordinate &c);

  double progress() const;
  void setProgress(double progress);

Valentin Platzgummer's avatar
Valentin Platzgummer committed
27 28 29 30
  int64_t id() const;
  void setId(const int64_t &id);

  QList<QGeoCoordinate> tile() const;
31

Valentin Platzgummer's avatar
Valentin Platzgummer committed
32 33 34 35
  // Static Variables
  static const char *settingsGroup;
  static const char *nameString;

36 37 38 39 40 41 42
signals:
  void progressChanged();
  void idChanged();

private:
  void init();
  double _progress;
Valentin Platzgummer's avatar
Valentin Platzgummer committed
43
  int64_t _id;
44
};