VehicleSummary.qml 4.71 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
import QGroundControl.FactSystem 1.0
29
import QGroundControl.Palette 1.0
Don Gagne's avatar
Don Gagne committed
30
import QGroundControl.Controls 1.0
31
import QGroundControl.ScreenTools 1.0
32 33

Rectangle {
Don Gagne's avatar
Don Gagne committed
34 35 36
    width: 600
    height: 400

37
    property var qgcPal: QGCPalette { id: palette; colorGroupEnabled: true }
38
    property ScreenTools screenTools: ScreenTools { }
39

40 41 42
    id: topLevel
    objectName: "topLevel"

43
    color: qgcPal.window
44

Don Gagne's avatar
Don Gagne committed
45
    Column {
46
        anchors.fill: parent
47

Don Gagne's avatar
Don Gagne committed
48 49
        QGCLabel {
            text: "VEHICLE SUMMARY"
50
            font.pointSize: screenTools.fontPointFactor * (20);
Don Gagne's avatar
Don Gagne committed
51
        }
52

53 54 55 56 57 58 59
        Item {
            // Just used as a spacer
            height: 15
            width: 10
        }

        QGCLabel {
60 61 62
            width:			parent.width
			wrapMode:		Text.WordWrap
			color:			autopilot.setupComplete ? qgcPal.text : "red"
63
            font.pointSize: autopilot.setupComplete ? screenTools.defaultFontPointSize : screenTools.fontPointFactor * (20)
64 65 66 67 68
			text: autopilot.setupComplete ?
						"Below you will find a summary of the settings for your vehicle. To the left are the setup buttons for deatiled settings for each component." :
						"WARNING: One or more of your vehicle's components require setup prior to flight. It will be shown with a red circular indicator below. " +
							"Find the matching setup button to the left and click it to get to the setup screen you need to complete. " +
							"Once all indicators go green you will be ready to fly."
69 70
        }

Don Gagne's avatar
Don Gagne committed
71 72 73 74 75
        Item {
            // Just used as a spacer
            height: 20
            width: 10
        }
76

Don Gagne's avatar
Don Gagne committed
77 78 79
        Flow {
            width: parent.width
            spacing: 10
80

Don Gagne's avatar
Don Gagne committed
81
            Repeater {
82
                model: autopilot.vehicleComponents
83

Don Gagne's avatar
Don Gagne committed
84 85 86
                // Outer summary item rectangle
                Rectangle {
                    readonly property real titleHeight: 30
87

Don Gagne's avatar
Don Gagne committed
88 89 90
                    width:  250
                    height: 200
                    color:  qgcPal.windowShade
91

Don Gagne's avatar
Don Gagne committed
92 93
                    // Title bar
                    Rectangle {
94

Don Gagne's avatar
Don Gagne committed
95 96 97
                        width: parent.width
                        height: titleHeight
                        color: qgcPal.windowShadeDark
98

Don Gagne's avatar
Don Gagne committed
99
                        // Title text
100
                        QGCLabel {
Don Gagne's avatar
Don Gagne committed
101
                            anchors.fill:   parent
102

Don Gagne's avatar
Don Gagne committed
103 104
                            color:          qgcPal.buttonText
                            text:           modelData.name.toUpperCase()
105

Don Gagne's avatar
Don Gagne committed
106 107
                            verticalAlignment:      TextEdit.AlignVCenter
                            horizontalAlignment:    TextEdit.AlignHCenter
108
                        }
Don Gagne's avatar
Don Gagne committed
109
                    }
110

Don Gagne's avatar
Don Gagne committed
111 112 113 114 115 116 117 118 119 120 121 122
                    // Setup indicator
                    Rectangle {
                        readonly property real indicatorRadius: 6
                        readonly property real indicatorRightInset: 5

                        x:      parent.width - (indicatorRadius * 2) - indicatorRightInset
                        y:      (parent.titleHeight - (indicatorRadius * 2)) / 2
                        width:  indicatorRadius * 2
                        height: indicatorRadius * 2
                        radius: indicatorRadius
                        color:  modelData.setupComplete ? "#00d932" : "red"
                    }
123

Don Gagne's avatar
Don Gagne committed
124 125 126 127 128 129
                    // Summary Qml
                    Rectangle {
                        y:      parent.titleHeight
                        width:  parent.width
                        height: parent.height - parent.titleHeight
                        color:  qgcPal.windowShade
130

Don Gagne's avatar
Don Gagne committed
131 132 133
                        Loader {
                            anchors.fill: parent
                            source: modelData.summaryQmlSource
134 135 136 137 138 139 140
                        }
                    }
                }
            }
        }
    }
}