import QtQuick 2.3 import QtQuick.Controls 1.2 import QtQuick.Controls.Styles 1.4 import QtQuick.Dialogs 1.2 import QtQuick.Extras 1.4 import QtQuick.Layouts 1.2 import QGroundControl 1.0 import QGroundControl.ScreenTools 1.0 import QGroundControl.Vehicle 1.0 import QGroundControl.Controls 1.0 import QGroundControl.FactControls 1.0 import QGroundControl.Palette 1.0 import QGroundControl.FlightMap 1.0 Rectangle { id: _root height: visible ? (editorColumn.height + (_margin * 2)) : 0 width: availableWidth color: qgcPal.windowShadeDark radius: _radius // The following properties must be available up the hierarchy chain //property real availableWidth ///< Width for control //property var missionItem ///< Mission Item for editor property real _margin: ScreenTools.defaultFontPixelWidth / 2 property real _fieldWidth: ScreenTools.defaultFontPixelWidth * 10.5 property var _vehicle: QGroundControl.multiVehicleManager.activeVehicle ? QGroundControl.multiVehicleManager.activeVehicle : QGroundControl.multiVehicleManager.offlineEditingVehicle function polygonCaptureStarted() { missionItem.clearPolygon() } function polygonCaptureFinished(coordinates) { for (var i=0; i 0 && missionItem.cameraMinTriggerInterval !== 0 && missionItem.cameraMinTriggerInterval > missionItem.timeBetweenShots } CameraCalc { cameraCalc: missionItem.cameraCalc vehicleFlightIsFrontal: true distanceToSurfaceLabel: qsTr("Altitude") frontalDistanceLabel: qsTr("Trigger Distance") sideDistanceLabel: qsTr("Spacing") } SectionHeader { id: corridorHeader text: qsTr("Transects") } GridLayout { anchors.left: parent.left anchors.right: parent.right columnSpacing: _margin rowSpacing: _margin columns: 2 visible: corridorHeader.checked QGCLabel { text: qsTr("Angle") } FactTextField { fact: missionItem.gridAngle Layout.fillWidth: true } QGCLabel { text: qsTr("Turnaround dist") } FactTextField { fact: missionItem.turnAroundDistance Layout.fillWidth: true } QGCButton { Layout.columnSpan: 2 text: qsTr("Rotate Entry Point") onClicked: missionItem.rotateEntryPoint(); } FactCheckBox { text: qsTr("Hover and capture image") fact: missionItem.hoverAndCapture visible: missionItem.hoverAndCaptureAllowed enabled: !missionItem.followTerrain Layout.columnSpan: 2 onClicked: { if (checked) { missionItem.cameraTriggerInTurnaround.rawValue = false } } } FactCheckBox { text: qsTr("Refly at 90 degree offset") fact: missionItem.refly90Degrees enabled: !missionItem.followTerrain Layout.columnSpan: 2 } FactCheckBox { text: qsTr("Take images in turnarounds") fact: missionItem.cameraTriggerInTurnAround enabled: missionItem.hoverAndCaptureAllowed ? !missionItem.hoverAndCapture.rawValue : true Layout.columnSpan: 2 } QGCCheckBox { id: relAlt anchors.left: parent.left text: qsTr("Relative altitude") checked: missionItem.cameraCalc.distanceToSurfaceRelative enabled: missionItem.cameraCalc.isManualCamera && !missionItem.followTerrain Layout.columnSpan: 2 onClicked: missionItem.cameraCalc.distanceToSurfaceRelative = checked Connections { target: missionItem.cameraCalc onDistanceToSurfaceRelativeChanged: relAlt.checked = missionItem.cameraCalc.distanceToSurfaceRelative } } } SectionHeader { id: terrainHeader text: qsTr("Terrain") checked: missionItem.followTerrain } ColumnLayout { anchors.left: parent.left anchors.right: parent.right spacing: _margin visible: terrainHeader.checked QGCCheckBox { id: followsTerrainCheckBox text: qsTr("Vehicle follows terrain") checked: missionItem.followTerrain onClicked: missionItem.followTerrain = checked } GridLayout { anchors.left: parent.left anchors.right: parent.right columnSpacing: _margin rowSpacing: _margin columns: 2 visible: followsTerrainCheckBox.checked QGCLabel { text: qsTr("Tolerance") } FactTextField { fact: missionItem.terrainAdjustTolerance Layout.fillWidth: true } QGCLabel { text: qsTr("Max Climb Rate") } FactTextField { fact: missionItem.terrainAdjustMaxClimbRate Layout.fillWidth: true } QGCLabel { text: qsTr("Max Descent Rate") } FactTextField { fact: missionItem.terrainAdjustMaxDescentRate Layout.fillWidth: true } } } SectionHeader { id: statsHeader text: qsTr("Statistics") } TransectStyleComplexItemStats { } } // Column } // Rectangle