WimaMeasurementAreaEditor.qml 4.94 KB
Newer Older
1 2 3 4 5 6
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
7

8 9 10 11 12 13 14
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
15

16 17 18 19 20 21 22 23 24 25 26 27 28 29
// Editor for Operating Area items
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    areaItem       ///< Mission Item for editor

    property real   _margin:                    ScreenTools.defaultFontPixelWidth / 2
    property real   _fieldWidth:                ScreenTools.defaultFontPixelWidth * 10.5
Valentin Platzgummer's avatar
Valentin Platzgummer committed
30 31
    //property var    polyline:                   areaItem.polyline
    //property bool   polylineInteractive:        polyline.interactive
32 33
    property bool   polygonInteractive:         areaItem.interactive
    property var    polygon:                    areaItem
34 35
    property bool   initNecesarry:              true

36 37 38 39
    onPolygonInteractiveChanged: {
        polygon.interactive = polygonInteractive;
    }

40 41 42 43 44 45 46 47 48 49 50 51 52 53



    QGCPalette { id: qgcPal; colorGroupEnabled: true }

    Column {
        id:                 editorColumn
        anchors.margins:    _margin
        anchors.top:        parent.top
        anchors.left:       parent.left
        anchors.right:      parent.right
        spacing:            _margin

        SectionHeader {
54
            id:         settingsHeader
55 56 57 58 59
            text:       qsTr("Settings")
        }

        Column {
            anchors.left:   parent.left
60
            anchors.right:  parent.right
61
            spacing:        _margin
62
            visible:        settingsHeader.checked
63 64 65 66 67 68 69 70

            GridLayout {
                anchors.left:   parent.left
                anchors.right:  parent.right
                columnSpacing:  _margin
                rowSpacing:     _margin
                columns:        2

71 72
                QGCLabel { text: qsTr("Altitude") }

73
                FactTextField {
74 75
                    fact:               areaItem.bottomLayerAltitude
                    Layout.fillWidth:   true
76 77
                }

78 79
                QGCLabel { text: qsTr("Layers") }

80 81
                FactTextField {
                    fact:               areaItem.numberOfLayers
82
                    Layout.fillWidth:   true
83 84
                }

85 86
                QGCLabel { text: qsTr("Layer Dist.") }

87 88
                FactTextField {
                    fact:               areaItem.layerDistance
89
                    Layout.fillWidth:   true
90
                }
91

92 93
                QGCLabel { text: qsTr("Offset") }

94 95
                FactTextField {
                    fact:               areaItem.borderPolygonOffset
96
                    Layout.fillWidth:   true
97
                }
98
            }
99

100 101 102 103
            FactCheckBox {
                text:               qsTr("Border Polygon")
                fact:               areaItem.showBorderPolygon
                //enabled:            !missionItem.followTerrain
104 105 106 107 108 109
            }

            Item {
                height: ScreenTools.defaultFontPixelHeight / 2
                width:  1
            }
110
        } // Column - Settings
Valentin Platzgummer's avatar
Valentin Platzgummer committed
111
        /*SectionHeader {
112 113 114 115 116 117 118 119 120
            id:         polylineHeader
            text:       qsTr("Gateway Poly Line")
        }

        QGCButton {
            id:                     polylineEditor
            anchors.topMargin:      _margin / 2
            anchors.leftMargin:     ScreenTools.defaultFontPixelWidth * 2
            anchors.rightMargin:    ScreenTools.defaultFontPixelWidth
121
            text:                   polylineInteractive ? "Done" : "Edit"
122 123 124 125

            onClicked: editPolyline()
        }

126 127 128 129 130 131 132 133
        QGCButton {
            id:                     swapEndpoints
            anchors.topMargin:      _margin / 2
            anchors.leftMargin:     ScreenTools.defaultFontPixelWidth * 2
            anchors.rightMargin:    ScreenTools.defaultFontPixelWidth
            text:                   "Swap End-Points"

            onClicked: polyline.swapEndPoints()
Valentin Platzgummer's avatar
Valentin Platzgummer committed
134
        }*/
135

136 137 138 139 140 141 142 143 144 145
        SectionHeader {
            id:     statsHeader
            text:   qsTr("Statistics")
        }

        Grid {
            columns:        2
            columnSpacing:  ScreenTools.defaultFontPixelWidth
            visible:        statsHeader.checked

146 147 148 149 150
            QGCLabel { text: qsTr("Area") }
            QGCLabel { text: QGroundControl.squareMetersToAppSettingsAreaUnits(areaItem.area).toFixed(2) + " " + QGroundControl.appSettingsAreaUnitsString }

            QGCLabel { text: qsTr("Nodes") }
            QGCLabel { text: areaItem.count }
151 152 153 154

            }
    } // Column
} // Rectangle