VehicleSummary.qml 4.48 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
/*=====================================================================

 QGroundControl Open Source Ground Control Station

 (c) 2009 - 2015 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>

 This file is part of the QGROUNDCONTROL project

 QGROUNDCONTROL is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 QGROUNDCONTROL is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.

 ======================================================================*/

24 25 26
import QtQuick                  2.2
import QtQuick.Controls         1.2
import QtQuick.Controls.Styles  1.2
27

28 29 30 31
import QGroundControl.FactSystem            1.0
import QGroundControl.Controls              1.0
import QGroundControl.ScreenTools           1.0
import QGroundControl.MultiVehicleManager   1.0
32
import QGroundControl.Palette               1.0
33 34

Rectangle {
35
    color: qgcPal.window
36

37 38 39 40 41
    QGCPalette {
        id:                 qgcPal
        colorGroupEnabled:  enabled
    }

Don Gagne's avatar
Don Gagne committed
42
    Column {
43 44
        anchors.fill:   parent
        spacing:        ScreenTools.defaultFontPixelHeight
45

46
        QGCLabel {
47 48
            width:			parent.width
			wrapMode:		Text.WordWrap
49
			color:			setupComplete ? qgcPal.text : qgcPal.warningText
Don Gagne's avatar
Don Gagne committed
50
            font.pixelSize: ScreenTools.mediumFontPixelSize
51 52 53 54
			text:           setupComplete ?
                                "Below you will find a summary of the settings for your vehicle. To the left are the setup menus for each component." :
                                "WARNING: Your vehicle requires setup prior to flight. Please resolve the items marked in red using the menu on the left."

55
            property bool setupComplete: multiVehicleManager.activeVehicle.autopilot.setupComplete
56 57
        }

Don Gagne's avatar
Don Gagne committed
58
        Flow {
59 60
            width:      parent.width
            spacing:    ScreenTools.defaultFontPixelWidth
61

Don Gagne's avatar
Don Gagne committed
62
            Repeater {
63 64
                model: multiVehicleManager.activeVehicle.autopilot.vehicleComponents

65

Don Gagne's avatar
Don Gagne committed
66 67
                // Outer summary item rectangle
                Rectangle {
68 69
                    width:  ScreenTools.defaultFontPixelWidth * 28
                    height: ScreenTools.defaultFontPixelHeight * 13
70
                    color:  qgcPal.window
71

72 73
                    readonly property real titleHeight: ScreenTools.defaultFontPixelHeight * 2

Don Gagne's avatar
Don Gagne committed
74 75
                    // Title bar
                    Rectangle {
76 77
                        id:     titleBar
                        width:  parent.width
Don Gagne's avatar
Don Gagne committed
78
                        height: titleHeight
79
                        color:  qgcPal.windowShade
80

Don Gagne's avatar
Don Gagne committed
81
                        // Title text
82
                        QGCLabel {
83
                            anchors.fill:           parent
Don Gagne's avatar
Don Gagne committed
84 85
                            verticalAlignment:      TextEdit.AlignVCenter
                            horizontalAlignment:    TextEdit.AlignHCenter
86
                            text:                   modelData.name.toUpperCase()
87
                        }
88

89 90 91 92 93 94 95 96 97 98 99
                        // Setup indicator
                        Rectangle {
                            anchors.rightMargin:    ScreenTools.defaultFontPixelWidth / 3
                            anchors.right:          parent.right
                            anchors.verticalCenter: parent.verticalCenter
                            width:                  10//radius * 2
                            height:                 10//height
                            radius:                 (ScreenTools.defaultFontPixelHeight * .75) * 2
                            color:                  modelData.setupComplete ? "#00d932" : "red"
                            visible:                modelData.requiresSetup
                        }
Don Gagne's avatar
Don Gagne committed
100
                    }
101

Don Gagne's avatar
Don Gagne committed
102 103
                    // Summary Qml
                    Rectangle {
104 105
                        anchors.top:    titleBar.bottom
                        width:          parent.width
106

Don Gagne's avatar
Don Gagne committed
107
                        Loader {
108 109
                            anchors.fill:   parent
                            source:         modelData.summaryQmlSource
110 111 112 113 114 115 116
                        }
                    }
                }
            }
        }
    }
}