WimaGOperationAreaEditor.qml 5.09 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

Valentin Platzgummer's avatar
Valentin Platzgummer committed
36
    /*onPolylineInteractiveChanged: {
37
        polyline.interactive = polylineInteractive;
Valentin Platzgummer's avatar
Valentin Platzgummer committed
38
    }*/
39 40 41 42 43

    onPolygonInteractiveChanged: {
        polygon.interactive = polygonInteractive;
    }

Valentin Platzgummer's avatar
Valentin Platzgummer committed
44
    /*function editPolyline(){
45 46 47 48 49 50 51 52 53
        if (polylineInteractive){
            //polyline.interactive = false;
            polylineInteractive = false;
            //polygonInteractive = true;
        }else{
            //polyline.interactive = true;
            polylineInteractive = true;
            //polygonInteractive = false;
        }
Valentin Platzgummer's avatar
Valentin Platzgummer committed
54
    }*/
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69




    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 {
70
            id:         settingsHeader
71 72 73 74 75 76 77
            text:       qsTr("Settings")
        }

        Column {
            anchors.left:   parent.left
            anchors.right:  parent.rightsetI
            spacing:        _margin
78
            visible:        settingsHeader.checked
79 80 81 82 83 84 85 86

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

87 88
                QGCLabel { text: qsTr("Altitude") }

89
                FactTextField {
90 91
                    fact:                   areaItem.bottomLayerAltitude
                    Layout.alignment:       Qt.AlignLeft | Qt.AlignVCenter
92 93
                }

94 95
                QGCLabel { text: qsTr("Layers") }

96 97
                FactTextField {
                    fact:               areaItem.numberOfLayers
98
                    Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter
99 100
                }

101 102
                QGCLabel { text: qsTr("Layer Dist.") }

103 104
                FactTextField {
                    fact:               areaItem.layerDistance
105
                    Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter
106
                }
107

108 109
                QGCLabel { text: qsTr("Offset") }

110 111
                FactTextField {
                    fact:               areaItem.borderPolygonOffset
112
                    Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter
113 114
                }

115 116 117 118 119 120 121

            }

            Item {
                height: ScreenTools.defaultFontPixelHeight / 2
                width:  1
            }
122
        } // Column - Settings
Valentin Platzgummer's avatar
Valentin Platzgummer committed
123
        /*SectionHeader {
124 125 126 127 128 129 130 131 132
            id:         polylineHeader
            text:       qsTr("Gateway Poly Line")
        }

        QGCButton {
            id:                     polylineEditor
            anchors.topMargin:      _margin / 2
            anchors.leftMargin:     ScreenTools.defaultFontPixelWidth * 2
            anchors.rightMargin:    ScreenTools.defaultFontPixelWidth
133
            text:                   polylineInteractive ? "Done" : "Edit"
134 135 136 137

            onClicked: editPolyline()
        }

138 139 140 141 142 143 144 145
        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
146
        }*/
147

148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
        SectionHeader {
            id:     statsHeader
            text:   qsTr("Statistics")
        }

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

            /*QGCLabel { text: qsTr("Layers") }
            QGCLabel { text: areaItem.layers.valueString }*/

            }
    } // Column
} // Rectangle