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.FactSystem 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 property real _cameraMinTriggerInterval: missionItem.cameraCalc.minTriggerInterval.rawValue function polygonCaptureStarted() { missionItem.clearPolygon() } function polygonCaptureFinished(coordinates) { for (var i=0; i 1 ? len : 0 QGCRadioButton { checked: index === runRepeater.run text: runRepeater.names[index] onCheckedChanged: { if (checked){ missionItem.run.value = index } checked = Qt.binding(function(){ return index === runRepeater.run}) } } } } } SectionHeader { id: transectsHeader text: qsTr("Transects") } GridLayout { anchors.left: parent.left anchors.right: parent.right columnSpacing: _margin rowSpacing: _margin columns: 2 visible: transectsHeader.checked QGCLabel { text: qsTr("Distance") } FactTextField { fact: missionItem.transectDistance Layout.fillWidth: true } /*QGCSlider { id: rSlider minimumValue: 0.3 maximumValue: 20 stepSize: 0.1 tickmarksEnabled: false Layout.fillWidth: true Layout.columnSpan: 2 Layout.preferredHeight: ScreenTools.defaultFontPixelHeight * 1.5 onValueChanged: missionItem.deltaR.value = value Component.onCompleted: value = missionItem.deltaR.defaultValue updateValueWhileDragging: true }*/ QGCLabel { text: qsTr("Alpha") } FactTextField { fact: missionItem.alpha Layout.fillWidth: true } QGCLabel { text: qsTr("Min. Length") } FactTextField { fact: missionItem.minLength Layout.fillWidth: true } } GridLayout { anchors.left: parent.left anchors.right: parent.right columnSpacing: _margin rowSpacing: _margin columns: 2 visible: transectsHeader.checked QGCButton { text: qsTr("Reverse") onClicked: missionItem.reverse(); Layout.fillWidth: true } QGCButton { text: qsTr("Reset Ref.") onClicked: missionItem.resetReference(); Layout.fillWidth: true } } Column{ anchors.left: parent.left anchors.right: parent.right spacing: _margin BusyIndicator{ id: indicator anchors.horizontalCenter: parent.horizontalCenter property bool calculating: missionItem.calculating running: calculating onCalculatingChanged: { if(calculating){ visible = true } else { timer.restart() } } Component.onCompleted: { if (calculating){ visible = true } } Timer{ id: timer interval: 1000 repeat: false onTriggered: { if (indicator.calculating == false){ indicator.visible = false } } } } } } // Column } // Rectangle