diff --git a/src/MissionManager/QGCMapPolygon.cc b/src/MissionManager/QGCMapPolygon.cc index 848ec6d4eaa9d9e6ab23fdbd07eb6dffff6cd2d4..3ac733b712f66563fc311458e6e4ee7d2f8c26f7 100644 --- a/src/MissionManager/QGCMapPolygon.cc +++ b/src/MissionManager/QGCMapPolygon.cc @@ -50,6 +50,8 @@ void QGCMapPolygon::_init(void) connect(&_polygonModel, &QmlObjectListModel::dirtyChanged, this, &QGCMapPolygon::_polygonModelDirtyChanged); connect(&_polygonModel, &QmlObjectListModel::countChanged, this, &QGCMapPolygon::_polygonModelCountChanged); connect(this, &QGCMapPolygon::pathChanged, this, &QGCMapPolygon::_updateCenter); + connect(this, &QGCMapPolygon::pathChanged, this, &QGCMapPolygon::areaChanged); + connect(this, &QGCMapPolygon::countChanged, this, &QGCMapPolygon::areaChanged); } const QGCMapPolygon& QGCMapPolygon::operator=(const QGCMapPolygon& other) diff --git a/src/MissionManager/QGCMapPolygon.h b/src/MissionManager/QGCMapPolygon.h index 1eea84eadc182a5b7094c4b131a199492b8945fa..b6651588b19e32fa6a94d66145a247a5f70f873d 100644 --- a/src/MissionManager/QGCMapPolygon.h +++ b/src/MissionManager/QGCMapPolygon.h @@ -36,6 +36,7 @@ public: Q_PROPERTY(QGeoCoordinate center READ center WRITE setCenter NOTIFY centerChanged) Q_PROPERTY(bool centerDrag READ centerDrag WRITE setCenterDrag NOTIFY centerDragChanged) Q_PROPERTY(bool interactive READ interactive WRITE setInteractive NOTIFY interactiveChanged) + Q_PROPERTY(double area READ area NOTIFY areaChanged) Q_INVOKABLE void clear(void); Q_INVOKABLE void appendVertex(const QGeoCoordinate& coordinate); @@ -114,6 +115,7 @@ signals: void centerChanged (QGeoCoordinate center); void centerDragChanged (bool centerDrag); void interactiveChanged (bool interactive); + void areaChanged (void); public slots: void setPath (const QList& path); diff --git a/src/Wima/WimaPlaner.cc b/src/Wima/WimaPlaner.cc index 2db04c0b1f85d4891bed2cbc8a7191e21614af63..3edce2c7e1520d1eed85427a992bfac089c1ab88 100644 --- a/src/Wima/WimaPlaner.cc +++ b/src/Wima/WimaPlaner.cc @@ -93,6 +93,7 @@ void WimaPlaner::removeArea(int index) return; } area->clear(); + area->borderPolygon()->clear(); emit visualItemsChanged(); diff --git a/src/WimaView/WimaCorridorEditor.qml b/src/WimaView/WimaCorridorEditor.qml index a273964385130d728e0303b3772fcfaf16f9b841..07b422735daff0354b28c66becfd8e27796ce07a 100644 --- a/src/WimaView/WimaCorridorEditor.qml +++ b/src/WimaView/WimaCorridorEditor.qml @@ -168,6 +168,12 @@ Rectangle { /*QGCLabel { text: qsTr("Layers") } QGCLabel { text: areaItem.layers.valueString }*/ + QGCLabel { text: qsTr("Area") } + QGCLabel { text: QGroundControl.squareMetersToAppSettingsAreaUnits(areaItem.area).toFixed(2) + " " + QGroundControl.appSettingsAreaUnitsString } + + QGCLabel { text: qsTr("Nodes") } + QGCLabel { text: areaItem.count } + } } // Column } // Rectangle diff --git a/src/WimaView/WimaMeasurementAreaEditor.qml b/src/WimaView/WimaMeasurementAreaEditor.qml index a942b900bc32107dbea6c4ccdef03faa3134e259..4aa61633e4625291bfb44c8123b931ed0ee225ca 100644 --- a/src/WimaView/WimaMeasurementAreaEditor.qml +++ b/src/WimaView/WimaMeasurementAreaEditor.qml @@ -143,8 +143,11 @@ Rectangle { columnSpacing: ScreenTools.defaultFontPixelWidth visible: statsHeader.checked - /*QGCLabel { text: qsTr("Layers") } - QGCLabel { text: areaItem.layers.valueString }*/ + QGCLabel { text: qsTr("Area") } + QGCLabel { text: QGroundControl.squareMetersToAppSettingsAreaUnits(areaItem.area).toFixed(2) + " " + QGroundControl.appSettingsAreaUnitsString } + + QGCLabel { text: qsTr("Nodes") } + QGCLabel { text: areaItem.count } } } // Column diff --git a/src/WimaView/WimaServiceAreaEditor.qml b/src/WimaView/WimaServiceAreaEditor.qml index 96a3679c9c5c68d831d5de39dd3fb6366636c384..84b94229fdfa6a547379a0e92f1ce03d580c732d 100644 --- a/src/WimaView/WimaServiceAreaEditor.qml +++ b/src/WimaView/WimaServiceAreaEditor.qml @@ -164,6 +164,12 @@ Rectangle { /*QGCLabel { text: qsTr("Layers") } QGCLabel { text: areaItem.layers.valueString }*/ + QGCLabel { text: qsTr("Area") } + QGCLabel { text: QGroundControl.squareMetersToAppSettingsAreaUnits(areaItem.area).toFixed(2) + " " + QGroundControl.appSettingsAreaUnitsString } + + QGCLabel { text: qsTr("Nodes") } + QGCLabel { text: areaItem.count } + } } // Column } // Rectangle