#include "GeoArea.h" #include const char *GeoArea::wimaAreaName = "GeoArea"; const char *GeoArea::areaTypeName = "AreaType"; const char *GeoArea::settingsGroup = "GeoArea"; // Constructors GeoArea::GeoArea(QObject *parent) : QGCMapPolygon(parent) { init(); } GeoArea::GeoArea(const GeoArea &other, QObject *parent) : QGCMapPolygon(other, parent) { init(); } GeoArea &GeoArea::operator=(const GeoArea &other) { QGCMapPolygon::operator=(other); return *this; } void GeoArea::saveToJson(QJsonObject &json) { this->QGCMapPolygon::saveToJson(json); } bool GeoArea::loadFromJson(const QJsonObject &json, QString &errorString) { if (!this->QGCMapPolygon::loadFromJson(json, false /*no poly required*/, errorString)) { qWarning() << errorString; return false; } return true; } bool GeoArea::isSimplePolygon() { qWarning() << "WimaArea::isSimplePolygon: impl. missing."; return false; } void GeoArea::init() { this->setObjectName(wimaAreaName); } bool copyAreaList(const QmlObjectListModel &from, QmlObjectListModel &to, QObject *parent) { // Check if elements are valid. for (int i = 0; i < from.count(); ++i) { auto obj = from[i]; auto area = qobject_cast(obj); if (area == nullptr) { return false; } } // Clone elements. for (int i = 0; i < from.count(); ++i) { auto obj = from[i]; auto area = qobject_cast(obj); to.append(area->clone(parent)); } return true; }