FlightFeature.qml 3.33 KB
Newer Older
1 2 3 4 5 6 7
import QtQuick                  2.3
import QtQuick.Controls         1.2
import QtQuick.Controls.Styles  1.4
import QtQuick.Dialogs          1.2
import QtQml                    2.2

import QGroundControl                   1.0
8 9
import QGroundControl.Airmap            1.0
import QGroundControl.Airspace          1.0
10 11
import QGroundControl.Controls          1.0
import QGroundControl.Palette           1.0
12
import QGroundControl.ScreenTools       1.0
13 14 15 16 17 18
import QGroundControl.SettingsManager   1.0

Rectangle {
    id:                         _root
    height:                     questionCol.height + (ScreenTools.defaultFontPixelHeight * 1.25)
    color:                      qgcPal.windowShade
19
    property var feature:       null
20 21 22 23 24
    QGCPalette {
        id: qgcPal
        colorGroupEnabled: enabled
    }
    Column {
25 26 27 28 29 30
        id:                 questionCol
        spacing:            ScreenTools.defaultFontPixelHeight * 0.5
        anchors.margins:    ScreenTools.defaultFontPixelWidth
        anchors.right:      parent.right
        anchors.left:       parent.left
        anchors.verticalCenter: parent.verticalCenter
31
        QGCLabel {
32 33 34 35 36
            text:           feature.description
            anchors.right:  parent.right
            anchors.left:   parent.left
            wrapMode:       Text.WordWrap
            visible:        feature.type !== AirspaceRuleFeature.Boolean
37 38
        }
        QGCTextField {
39 40
            text:           feature.value ? feature.value : ""
            visible:        feature.type !== AirspaceRuleFeature.Boolean
Gus Grubba's avatar
Gus Grubba committed
41 42 43 44 45 46 47 48 49 50
            showUnits:      true
            unitsLabel: {
                if(feature.unit == AirspaceRuleFeature.Kilogram)
                    return "kg";
                if(feature.unit == AirspaceRuleFeature.Meters)
                    return "m";
                if(feature.unit == AirspaceRuleFeature.MetersPerSecond)
                    return "m/s";
                return ""
            }
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
            anchors.right:  parent.right
            anchors.left:   parent.left
            inputMethodHints: feature.type === AirspaceRuleFeature.Float ? Qt.ImhFormattedNumbersOnly :Qt.ImhNone
            onAccepted: {
                feature.value = parseFloat(text)
            }
            onEditingFinished: {
                feature.value = parseFloat(text)
            }
        }
        Item {
            height:         Math.max(checkBox.height, label.height)
            anchors.right:  parent.right
            anchors.left:   parent.left
            visible:        feature.type === AirspaceRuleFeature.Boolean
            QGCCheckBox {
                id:             checkBox
                text:           ""
                onClicked:      feature.value = checked
                anchors.left:   parent.left
                anchors.verticalCenter: parent.verticalCenter
72
                Component.onCompleted: {
73
                    checked = feature.value === 2 ? false : feature.value
74
                }
75 76 77 78 79 80 81 82 83 84
            }
            QGCLabel {
                id:             label
                text:           feature.description
                anchors.right:  parent.right
                anchors.left:   checkBox.right
                anchors.leftMargin: ScreenTools.defaultFontPixelWidth * 0.5
                wrapMode:       Text.WordWrap
                anchors.verticalCenter: parent.verticalCenter
            }
85 86 87
        }
    }
}