From 29fb812c9d78f89a361e67cee048fe121553843c Mon Sep 17 00:00:00 2001 From: Valentin Platzgummer Date: Wed, 11 Sep 2019 14:52:02 +0200 Subject: [PATCH] fact gui problem solved --- src/FactSystem/SettingsFact.cc | 2 +- src/PlanView/CircularSurveyItemEditor.qml | 18 +++++++------- src/Wima/CircularSurvey.SettingsGroup.json | 1 + src/Wima/CircularSurveyComplexItem.cc | 7 ++---- src/Wima/CircularSurveyComplexItem.h | 1 + src/Wima/WimaMeasurementArea.cc | 22 +++++++++-------- src/Wima/WimaPlaner.cc | 6 ----- src/WimaView/WimaMeasurementAreaEditor.qml | 28 +++++----------------- src/WimaView/WimaView.qml | 14 ++++++++++- 9 files changed, 45 insertions(+), 54 deletions(-) diff --git a/src/FactSystem/SettingsFact.cc b/src/FactSystem/SettingsFact.cc index 1d8f4f58f..a4c861784 100644 --- a/src/FactSystem/SettingsFact.cc +++ b/src/FactSystem/SettingsFact.cc @@ -39,7 +39,7 @@ SettingsFact::SettingsFact(QString settingsGroup, FactMetaData* metaData, QObjec if (_visible) { QVariant typedValue; QString errorString; - metaData->convertAndValidateRaw(settings.value(_name, rawDefaultValue), true /* conertOnly */, typedValue, errorString); + metaData->convertAndValidateRaw(settings.value(_name, rawDefaultValue), true /* convertOnly */, typedValue, errorString); _rawValue = typedValue; } else { // Setting is not visible, force to default value always diff --git a/src/PlanView/CircularSurveyItemEditor.qml b/src/PlanView/CircularSurveyItemEditor.qml index 6497b770d..56308d560 100644 --- a/src/PlanView/CircularSurveyItemEditor.qml +++ b/src/PlanView/CircularSurveyItemEditor.qml @@ -104,22 +104,22 @@ Rectangle { FactTextField { fact: missionItem.deltaAlpha Layout.fillWidth: true - onUpdated: angleSlider.value = missionItem.deltaAlpha.value + //onUpdated: angleSlider.value = missionItem.deltaAlpha.value } - QGCSlider { + /*QGCSlider { id: angleSlider - minimumValue: 0.3 - maximumValue: 5 - stepSize: 0.1 - tickmarksEnabled: false + minimumValue: 0.4 + maximumValue: 20 + stepSize: 1 + tickmarksEnabled: true Layout.fillWidth: true Layout.columnSpan: 2 Layout.preferredHeight: ScreenTools.defaultFontPixelHeight * 1.5 - onValueChanged: missionItem.deltaAlpha.value = value Component.onCompleted: value = missionItem.deltaAlpha.value - updateValueWhileDragging: true - } + onValueChanged: missionItem.deltaAlpha.value = value + updateValueWhileDragging: false + }*/ } ColumnLayout { diff --git a/src/Wima/CircularSurvey.SettingsGroup.json b/src/Wima/CircularSurvey.SettingsGroup.json index 77d0e5039..ef7f5489f 100644 --- a/src/Wima/CircularSurvey.SettingsGroup.json +++ b/src/Wima/CircularSurvey.SettingsGroup.json @@ -14,6 +14,7 @@ "type": "double", "units": "Deg", "min": 0.3, + "max": 90, "decimalPlaces": 1, "defaultValue": 5 } diff --git a/src/Wima/CircularSurveyComplexItem.cc b/src/Wima/CircularSurveyComplexItem.cc index f1856e8fa..ad90e7776 100644 --- a/src/Wima/CircularSurveyComplexItem.cc +++ b/src/Wima/CircularSurveyComplexItem.cc @@ -27,11 +27,6 @@ CircularSurveyComplexItem::CircularSurveyComplexItem(Vehicle *vehicle, bool flyV connect(&_deltaAlpha, &Fact::valueChanged, this, &CircularSurveyComplexItem::_setDirty); connect(this, &CircularSurveyComplexItem::refPointChanged, this, &CircularSurveyComplexItem::_setDirty); - _deltaR.setRawValue(_deltaR.rawDefaultValue()); - _deltaAlpha.setRawValue(_deltaAlpha.rawDefaultValue()); - qDebug() << _deltaAlpha.rawDefaultValue().toDouble(); - qDebug() << _deltaAlpha.rawValue().toDouble(); - connect(&_updateTimer, &QTimer::timeout, this, &CircularSurveyComplexItem::_updateItem); _updateTimer.start(100); } @@ -337,6 +332,8 @@ void CircularSurveyComplexItem::_rebuildTransectsPhase1() using namespace PolygonCalculus; using namespace PlanimetryCalculus; + + if ( _surveyAreaPolygon.count() < 3) return; diff --git a/src/Wima/CircularSurveyComplexItem.h b/src/Wima/CircularSurveyComplexItem.h index 47ff384e8..3fc137c57 100644 --- a/src/Wima/CircularSurveyComplexItem.h +++ b/src/Wima/CircularSurveyComplexItem.h @@ -7,6 +7,7 @@ #include "GeoUtilities.h" #include "QVector" #include "Circle.h" +#include "SettingsFact.h" class CircularSurveyComplexItem :public TransectStyleComplexItem { diff --git a/src/Wima/WimaMeasurementArea.cc b/src/Wima/WimaMeasurementArea.cc index 934bfab91..798ec605c 100644 --- a/src/Wima/WimaMeasurementArea.cc +++ b/src/Wima/WimaMeasurementArea.cc @@ -10,13 +10,23 @@ const char* WimaMeasurementArea::WimaMeasurementAreaName = "Measurement WimaMeasurementArea::WimaMeasurementArea(QObject *parent) - : WimaArea (parent) + : WimaArea (parent) + , _metaDataMap (FactMetaData::createMapFromJsonFile(QStringLiteral(":/json/WimaMeasurementArea.SettingsGroup.json"), this /* QObject parent */)) + , _bottomLayerAltitude (SettingsFact(settingsGroup, _metaDataMap[bottomLayerAltitudeName], this /* QObject parent */)) + , _numberOfLayers (SettingsFact(settingsGroup, _metaDataMap[numberOfLayersName], this /* QObject parent */)) + , _layerDistance (SettingsFact(settingsGroup, _metaDataMap[layerDistanceName], this /* QObject parent */)) + , _borderPolygonOffset (SettingsFact(settingsGroup, _metaDataMap[borderPolygonOffsetName], this /* QObject parent */)) { init(); } WimaMeasurementArea::WimaMeasurementArea(const WimaMeasurementArea &other, QObject *parent) - : WimaArea(other, parent) + : WimaArea (other, parent) + , _metaDataMap (FactMetaData::createMapFromJsonFile(QStringLiteral(":/json/WimaMeasurementArea.SettingsGroup.json"), this /* QObject parent */)) + , _bottomLayerAltitude (SettingsFact(settingsGroup, _metaDataMap[bottomLayerAltitudeName], this /* QObject parent */)) + , _numberOfLayers (SettingsFact(settingsGroup, _metaDataMap[numberOfLayersName], this /* QObject parent */)) + , _layerDistance (SettingsFact(settingsGroup, _metaDataMap[layerDistanceName], this /* QObject parent */)) + , _borderPolygonOffset (SettingsFact(settingsGroup, _metaDataMap[borderPolygonOffsetName], this /* QObject parent */)) { init(); } @@ -150,14 +160,6 @@ void WimaMeasurementArea::recalcBorderPolygon() void WimaMeasurementArea::init() { - - _metaDataMap = FactMetaData::createMapFromJsonFile(QStringLiteral(":/json/WimaMeasurementArea.SettingsGroup.json"), this /* QObject parent */); - _bottomLayerAltitude = SettingsFact(settingsGroup, _metaDataMap[bottomLayerAltitudeName], this /* QObject parent */); - _numberOfLayers = SettingsFact(settingsGroup, _metaDataMap[numberOfLayersName], this /* QObject parent */); - _layerDistance = SettingsFact(settingsGroup, _metaDataMap[layerDistanceName], this /* QObject parent */); - _borderPolygonOffset = SettingsFact(settingsGroup, _metaDataMap[borderPolygonOffsetName], this /* QObject parent */); - _borderPolygon = new QGCMapPolygon(this); - this->setObjectName(WimaMeasurementAreaName); connect(this, &WimaMeasurementArea::pathChanged, this, &WimaMeasurementArea::recalcBorderPolygon); connect(&_borderPolygonOffset, &SettingsFact::rawValueChanged, this, &WimaMeasurementArea::recalcBorderPolygon); diff --git a/src/Wima/WimaPlaner.cc b/src/Wima/WimaPlaner.cc index 5589c7a69..3abe9f84c 100644 --- a/src/Wima/WimaPlaner.cc +++ b/src/Wima/WimaPlaner.cc @@ -220,16 +220,12 @@ bool WimaPlaner::updateMission() CircularSurveyComplexItem* OldSurveyPt = nullptr; QGeoCoordinate oldSurveyRef; - double oldSurveyDeltaR = 0; - double oldSurveyDeltaAlpha = 0; bool oldSurveyExists = false; for (int i = 0; i < _missionController->visualItems()->count(); i++) { OldSurveyPt = qobject_cast(missionItems->get(i)); if ( OldSurveyPt != nullptr) { oldSurveyRef = OldSurveyPt->refPoint(); - oldSurveyDeltaR = OldSurveyPt->deltaR()->rawValue().toDouble(); - oldSurveyDeltaAlpha = OldSurveyPt->deltaAlpha()->rawValue().toDouble(); oldSurveyExists = true; break; } @@ -276,8 +272,6 @@ bool WimaPlaner::updateMission() } else { if ( oldSurveyExists ) { survey->setRefPoint(oldSurveyRef); - survey->deltaR()->setRawValue(oldSurveyDeltaR); - survey->deltaAlpha()->setRawValue(oldSurveyDeltaAlpha); } else { survey->setRefPoint(_measurementArea.center()); } diff --git a/src/WimaView/WimaMeasurementAreaEditor.qml b/src/WimaView/WimaMeasurementAreaEditor.qml index f40166f78..82c704d8f 100644 --- a/src/WimaView/WimaMeasurementAreaEditor.qml +++ b/src/WimaView/WimaMeasurementAreaEditor.qml @@ -33,26 +33,10 @@ Rectangle { property var polygon: areaItem property bool initNecesarry: true - /*onPolylineInteractiveChanged: { - polyline.interactive = polylineInteractive; - }*/ - onPolygonInteractiveChanged: { polygon.interactive = polygonInteractive; } - /*function editPolyline(){ - if (polylineInteractive){ - //polyline.interactive = false; - polylineInteractive = false; - //polygonInteractive = true; - }else{ - //polyline.interactive = true; - polylineInteractive = true; - //polygonInteractive = false; - } - }*/ - @@ -73,7 +57,7 @@ Rectangle { Column { anchors.left: parent.left - anchors.right: parent.rightsetI + anchors.right: parent.right spacing: _margin visible: settingsHeader.checked @@ -87,29 +71,29 @@ Rectangle { QGCLabel { text: qsTr("Altitude") } FactTextField { - fact: areaItem.bottomLayerAltitude - Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter + fact: areaItem.bottomLayerAltitude + Layout.fillWidth: true } QGCLabel { text: qsTr("Layers") } FactTextField { fact: areaItem.numberOfLayers - Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter + Layout.fillWidth: true } QGCLabel { text: qsTr("Layer Dist.") } FactTextField { fact: areaItem.layerDistance - Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter + Layout.fillWidth: true } QGCLabel { text: qsTr("Offset") } FactTextField { fact: areaItem.borderPolygonOffset - Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter + Layout.fillWidth: true } diff --git a/src/WimaView/WimaView.qml b/src/WimaView/WimaView.qml index c98e961ca..5c9e2023b 100644 --- a/src/WimaView/WimaView.qml +++ b/src/WimaView/WimaView.qml @@ -1018,7 +1018,7 @@ QGCView { currentIndex: _missionController.currentPlanViewIndex highlightMoveDuration: 250 visible: _editingLayer == _layerMission && !planControlColapsed - //-- List Elements_missionController->setCurrentPlanViewIndex(sequenceNumber, true); + //-- List Elements delegate: MissionItemEditor { map: editorMap masterController: _planMasterController @@ -1063,6 +1063,18 @@ QGCView { } } + Component { + id: syncLoadFromVehicleOverwrite + QGCViewMessage { + id: syncLoadFromVehicleCheck + message: qsTr("You have unsaved/unsent changes. Loading from the Vehicle will lose these changes. Are you sure you want to load from the Vehicle?") + function accept() { + hideDialog() + masterController.loadFromVehicle() + } + } + } + Component { id: syncLoadFromFileOverwrite QGCViewMessage { -- 2.22.0