MeasurementAreaEditor.qml 4.55 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
// Editor for Operating Area items
Rectangle {
    id:         _root
    height:     visible ? (editorColumn.height + (_margin * 2)) : 0
    width:      availableWidth
    color:      qgcPal.windowShadeDark
    radius:     _radius

    property real   _margin:                    ScreenTools.defaultFontPixelWidth / 2
    property real   _fieldWidth:                ScreenTools.defaultFontPixelWidth * 10.5
26 27
    property bool   polygonInteractive:         areaItem.interactive
    property var    polygon:                    areaItem
28 29
    property bool   initNecesarry:              true

30 31 32 33
    onPolygonInteractiveChanged: {
        polygon.interactive = polygonInteractive;
    }

34 35 36 37 38 39 40 41 42 43 44
    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 {
45
            id:         settingsHeader
Valentin Platzgummer's avatar
Valentin Platzgummer committed
46
            text:       qsTr("General")
47 48 49 50
        }

        Column {
            anchors.left:   parent.left
51
            anchors.right:  parent.right
52
            spacing:        _margin
53
            visible:        settingsHeader.checked
54 55 56 57 58 59 60 61

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

62
                QGCLabel { text: qsTr("Offset") }
63

64
                FactTextField {
65
                    fact:               areaItem.borderPolygonOffset
66
                    Layout.fillWidth:   true
67
                }
68 69 70 71 72 73 74 75 76 77 78 79 80 81
            }

            FactCheckBox {
                text:               qsTr("Border Polygon")
                fact:               areaItem.showBorderPolygon
                //enabled:            !missionItem.followTerrain
            }

            Item {
                height: ScreenTools.defaultFontPixelHeight / 2
                width:  1
            }
        } // Column - Settings

Valentin Platzgummer's avatar
Valentin Platzgummer committed
82

83
        SectionHeader {
Valentin Platzgummer's avatar
Valentin Platzgummer committed
84 85
            id:         tilesHeader
            text:       qsTr("Tiles")
86 87 88
        }

        Column {
Valentin Platzgummer's avatar
Valentin Platzgummer committed
89 90 91 92 93
            anchors.left:   parent.left
            anchors.right:  parent.right
            spacing:        _margin
            visible:        tilesHeader.checked

94 95 96 97 98 99
            GridLayout {
                anchors.left:   parent.left
                anchors.right:  parent.right
                columnSpacing:  _margin
                rowSpacing:     _margin
                columns:        2
100

Valentin Platzgummer's avatar
Valentin Platzgummer committed
101
                QGCLabel { text: qsTr("Height") }
102

103
                FactTextField {
Valentin Platzgummer's avatar
Valentin Platzgummer committed
104
                    fact:               areaItem.tileHeight
105
                    Layout.fillWidth:   true
106 107
                }

Valentin Platzgummer's avatar
Valentin Platzgummer committed
108
                QGCLabel { text: qsTr("Width") }
109

110
                FactTextField {
Valentin Platzgummer's avatar
Valentin Platzgummer committed
111
                    fact:               areaItem.tileWidth
112
                    Layout.fillWidth:   true
113
                }
114

Valentin Platzgummer's avatar
Valentin Platzgummer committed
115
                QGCLabel { text: qsTr("Min. Area") }
116

117
                FactTextField {
Valentin Platzgummer's avatar
Valentin Platzgummer committed
118
                    fact:               areaItem.minTileArea
119
                    Layout.fillWidth:   true
120 121
                }

122

Valentin Platzgummer's avatar
Valentin Platzgummer committed
123 124 125 126 127 128 129 130
                FactCheckBox {
                    text:               qsTr("Show Tiles")
                    fact:               areaItem.showTiles
                }
            } // Tile GridLayout
        } // Tile Column


131 132 133 134 135 136 137 138 139 140
        SectionHeader {
            id:     statsHeader
            text:   qsTr("Statistics")
        }

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

141 142 143
            QGCLabel { text: qsTr("Area") }
            QGCLabel { text: QGroundControl.squareMetersToAppSettingsAreaUnits(areaItem.area).toFixed(2) + " " + QGroundControl.appSettingsAreaUnitsString }

144 145 146 147 148 149
            QGCLabel { text: qsTr("Tiles") }
            QGCLabel { text: areaItem.tiles.count }

            QGCLabel { text: qsTr("Max. Tiles") }
            QGCLabel { text: areaItem.maxTiles }

150 151 152
            }
    } // Column
} // Rectangle