Skip to content
WimaMeasurementAreaEditor.qml 5.65 KiB
Newer Older
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
// 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
    property bool   polygonInteractive:         areaItem.interactive
    property var    polygon:                    areaItem
    property bool   initNecesarry:              true

    onPolygonInteractiveChanged: {
        polygon.interactive = polygonInteractive;
    }

    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 {
            id:         settingsHeader
Valentin Platzgummer's avatar
Valentin Platzgummer committed
            text:       qsTr("General")
        }

        Column {
            anchors.left:   parent.left
            anchors.right:  parent.right
            spacing:        _margin
            visible:        settingsHeader.checked

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

                QGCLabel { text: qsTr("Offset") }
                FactTextField {
                    fact:               areaItem.borderPolygonOffset
                    Layout.fillWidth:   true
            }

            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

Valentin Platzgummer's avatar
Valentin Platzgummer committed
            id:         tilesHeader
            text:       qsTr("Tiles")
Valentin Platzgummer's avatar
Valentin Platzgummer committed
            anchors.left:   parent.left
            anchors.right:  parent.right
            spacing:        _margin
            visible:        tilesHeader.checked

            GridLayout {
                anchors.left:   parent.left
                anchors.right:  parent.right
                columnSpacing:  _margin
                rowSpacing:     _margin
                columns:        2
Valentin Platzgummer's avatar
Valentin Platzgummer committed
                QGCLabel { text: qsTr("Height") }
                FactTextField {
Valentin Platzgummer's avatar
Valentin Platzgummer committed
                    fact:               areaItem.tileHeight
                    Layout.fillWidth:   true
Valentin Platzgummer's avatar
Valentin Platzgummer committed
                QGCLabel { text: qsTr("Width") }
                FactTextField {
Valentin Platzgummer's avatar
Valentin Platzgummer committed
                    fact:               areaItem.tileWidth
                    Layout.fillWidth:   true
Valentin Platzgummer's avatar
Valentin Platzgummer committed
                QGCLabel { text: qsTr("Min. Area") }
Valentin Platzgummer's avatar
Valentin Platzgummer committed
                    fact:               areaItem.minTileArea
                    Layout.fillWidth:   true
Valentin Platzgummer's avatar
Valentin Platzgummer committed
                FactCheckBox {
                    text:               qsTr("Show Tiles")
                    fact:               areaItem.showTiles
                }
            } // Tile GridLayout
        } // Tile Column


        SectionHeader {
            id:         transectsHeader
            text:       qsTr("Transects")
        }

        Column {
            anchors.left:   parent.left
            anchors.right:  parent.right
            spacing:        _margin
            visible:        transectsHeader.checked

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

                QGCLabel { text: qsTr("Distance") }
Valentin Platzgummer's avatar
Valentin Platzgummer committed
                    fact:               areaItem.transectDistance
Valentin Platzgummer's avatar
Valentin Platzgummer committed
                QGCLabel { text: qsTr("Min. Length") }
Valentin Platzgummer's avatar
Valentin Platzgummer committed
                    fact:               areaItem.minTransectLength
Valentin Platzgummer's avatar
Valentin Platzgummer committed
            } // Transects GridLayout
        } // Transects Column
        SectionHeader {
            id:     statsHeader
            text:   qsTr("Statistics")
        }

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

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

            QGCLabel { text: qsTr("Nodes") }
            QGCLabel { text: areaItem.count }
            QGCLabel { text: qsTr("Tiles") }
            QGCLabel { text: areaItem.tiles.count }

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

            }
    } // Column
} // Rectangle