SimpleItemEditor.qml 4.28 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
import QtQuick                  2.2
import QtQuick.Controls         1.2
import QtQuick.Controls.Styles  1.2
import QtQuick.Dialogs          1.2

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

// Editor for Simple mission items
Rectangle {
    id:                 valuesRect
    width:              availableWidth
    height:             valuesItem.height
    color:              qgcPal.windowShadeDark
    visible:            missionItem.isCurrentItem
    radius:             _radius

    // The following properties must be available up the hierachy chain
    //property real   availableWidth    ///< Width for control
    //property var    missionItem       ///< Mission Item for editor

    Item {
        id:                 valuesItem
        anchors.margins:    _margin
        anchors.left:       parent.left
        anchors.right:      parent.right
        anchors.top:        parent.top
        height:             valuesColumn.height + (_margin * 2)

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

            QGCLabel {
                width:      parent.width
                wrapMode:   Text.WordWrap
                text:       missionItem.sequenceNumber == 0 ?
                                "Planned home position." :
                                (missionItem.rawEdit ?
                                     "Provides advanced access to all commands/parameters. Be very careful!" :
                                     missionItem.commandDescription)
            }

            Repeater {
                model: missionItem.comboboxFacts

                Item {
                    width:  valuesColumn.width
                    height: comboBoxFact.height

                    QGCLabel {
                        id:                 comboBoxLabel
                        anchors.baseline:   comboBoxFact.baseline
                        text:               object.name
                        visible:            object.name != ""
                    }

                    FactComboBox {
                        id:             comboBoxFact
                        anchors.right:  parent.right
                        width:          comboBoxLabel.visible ? _editFieldWidth : parent.width
                        indexModel:     false
                        model:          object.enumStrings
                        fact:           object
                    }
                }
            }

            Repeater {
                model: missionItem.textFieldFacts

                Item {
                    width:  valuesColumn.width
                    height: textField.height

                    QGCLabel {
                        id:                 textFieldLabel
                        anchors.baseline:   textField.baseline
                        text:               object.name
                    }

                    FactTextField {
                        id:             textField
                        anchors.right:  parent.right
                        width:          _editFieldWidth
                        showUnits:      true
                        fact:           object
                        visible:        !_root.readOnly
                    }

                    FactLabel {
                        anchors.baseline:   textFieldLabel.baseline
                        anchors.right:      parent.right
                        fact:               object
                        visible:            _root.readOnly
                    }
                }
            }

            Repeater {
                model: missionItem.checkboxFacts

                FactCheckBox {
                    text:   object.name
                    fact:   object
                }
            }

            QGCButton {
                text:       "Move Home to map center"
                visible:    missionItem.homePosition
                onClicked:  editorRoot.moveHomeToMapCenter()
                anchors.horizontalCenter: parent.horizontalCenter
            }
        } // Column
    } // Item
} // Rectangle