7import QGroundControl.Controls
8import QGroundControl.FactControls
9import QGroundControl.FlightMap
11TransectStyleComplexItemEditor {
12 transectAreaDefinitionComplete: missionItem.surveyAreaPolygon.isValid
13 transectAreaDefinitionHelp: qsTr("Use the Polygon Tools to create the polygon which outlines your survey area.")
14 transectValuesHeaderName: qsTr("Transects")
15 transectValuesComponent: _transectValuesComponent
16 presetsTransectValuesComponent: _transectValuesComponent
18 property real _margin: ScreenTools.defaultFontPixelWidth / 2
19 property var _missionItem: missionItem
22 id: _transectValuesComponent
25 Layout.fillWidth: true
26 columnSpacing: _margin
30 QGCLabel { text: qsTr("Angle") }
32 fact: missionItem.gridAngle
33 Layout.fillWidth: true
34 onUpdated: angleSlider.value = missionItem.gridAngle.value
42 Layout.fillWidth: true
44 Layout.preferredHeight: ScreenTools.defaultFontPixelHeight * 1.5
45 onValueChanged: missionItem.gridAngle.value = value
46 Component.onCompleted: value = missionItem.gridAngle.value
51 text: qsTr("Turnaround dist")
55 Layout.fillWidth: true
56 fact: missionItem.turnAroundDistance
62 Layout.fillWidth: true
67 text: qsTr("Hover and capture image"),
68 fact: missionItem.hoverAndCapture,
69 enabled: missionItem.cameraCalc.distanceMode === QGroundControl.AltitudeFrameRelative || missionItem.cameraCalc.distanceMode === QGroundControl.AltitudeFrameAbsolute,
70 visible: missionItem.hoverAndCaptureAllowed
73 text: qsTr("Refly at 90 deg offset"),
74 fact: missionItem.refly90Degrees,
75 enabled: missionItem.cameraCalc.distanceMode !== QGroundControl.AltitudeFrameCalcAboveTerrain,
79 text: qsTr("Images in turnarounds"),
80 fact: missionItem.cameraTriggerInTurnAround,
81 enabled: missionItem.hoverAndCaptureAllowed ? !missionItem.hoverAndCapture.rawValue : true,
85 text: qsTr("Fly alternate transects"),
86 fact: missionItem.flyAlternateTransects,
88 visible: _vehicle ? (_vehicle.fixedWing || _vehicle.vtol) : false
96 id: kmlOrSHPLoadDialog
97 title: qsTr("Select Polygon File")
99 onAcceptedForLoad: (file) => {
100 missionItem.surveyAreaPolygon.loadKMLOrSHPFile(file)
101 missionItem.resetState = false
102 //editorMap.mapFitFunctions.fitMapViewportTomissionItems()