MeasurementItemEditor.qml 3.28 KB
Newer Older
1
import QtQuick 2.3
2 3
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.4
4 5 6 7 8 9 10 11 12 13 14 15
import QtQuick.Dialogs 1.2
import QtQuick.Extras 1.4
import QtQuick.Layouts 1.3

import QGroundControl 1.0
import QGroundControl.ScreenTools 1.0
import QGroundControl.Vehicle 1.0
import QGroundControl.Controls 1.0
import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0
import QGroundControl.Palette 1.0
import QGroundControl.FlightMap 1.0
16
import MeasurementComplexItem 1.0 as MCI
17 18

Rectangle {
19 20 21 22 23
    id: _root
    height: visible ? (mainColumn.height + (_margin * 2)) : 0
    width: availableWidth
    color: qgcPal.windowShadeDark
    radius: _radius
24 25 26 27

    // The following properties must be available up the hierarchy chain
    //property real   availableWidth    ///< Width for control
    //property var    missionItem       ///< Mission Item for editor
28 29 30
    property real _margin: ScreenTools.defaultFontPixelWidth / 2
    property real _fieldWidth: ScreenTools.defaultFontPixelWidth * 10.5
    property var _vehicle: QGroundControl.multiVehicleManager.activeVehicle ? QGroundControl.multiVehicleManager.activeVehicle : QGroundControl.multiVehicleManager.offlineEditingVehicle
31 32
    property var _missionItem: missionItem
    property var _areaData: missionItem.areaData
33

34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
    QGCPalette {
        id: qgcPal
        colorGroupEnabled: true
    }

    Column {
        // main Column
        id: mainColumn
        anchors.margins: _margin
        anchors.top: parent.top
        anchors.left: parent.left
        anchors.right: parent.right

        QGCTabBar {
            id: tabBar
            anchors.left: parent.left
            anchors.right: parent.right

52
            enabled: !editing
53 54 55

            readonly property int areaEditorIndex: 0
            readonly property int parameterEditorIndex: 1
56
            readonly property int nemoEditorIndex: 2
57 58 59 60 61
            property bool editing: _missionItem.editing

            Component.onCompleted: currentIndex = editing ? areaEditorIndex : parameterEditorIndex

            QGCTabButton {
62
                icon.source: "qrc:/res/waypoint.svg"
63 64 65 66 67 68 69
                icon.height: ScreenTools.defaultFontPixelHeight
            }
            QGCTabButton {
                icon.source: "/qmlimages/PatternGrid.png"
                icon.height: ScreenTools.defaultFontPixelHeight
            }
            QGCTabButton {
70
                icon.source: "qrc:/res/fish.svg"
71 72 73
                icon.height: ScreenTools.defaultFontPixelHeight
            }
        }
Valentin Platzgummer's avatar
Valentin Platzgummer committed
74

75 76 77 78 79 80
        MCI.AreaDataEditor {
            id: areaEditor

            visible: tabBar.currentIndex === tabBar.areaEditorIndex
            missionItem: _root._missionItem
            availableWidth: mainColumn.width
81 82 83 84
            onVisibleChanged:{
                if (visible){
                    _missionItem.startEditing()
                }
85
            }
86
        }
87

88 89
        MCI.ParameterEditor {
            id: parameterEditor
90

91 92 93 94
            visible: tabBar.currentIndex === tabBar.parameterEditorIndex
            missionItem: _root._missionItem
            availableWidth: mainColumn.width
        }
95

96 97
        MCI.NemoEditor {
            id: nemoEditor
98

99 100 101
            visible: tabBar.currentIndex === tabBar.nemoEditorIndex
            missionItem: _root._missionItem
            availableWidth: mainColumn.width
102
        }
103
    } // main Column
104
} // Rectangle