QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
PreFlightCheckGroup.qml
Go to the documentation of this file.
1import QtQuick
2import QtQml.Models
3
4import QGroundControl
5import QGroundControl.Controls
6
7/// A PreFlightCheckGroup manages a set of PreFlightCheckButtons as a single entity.
8Column {
9 property string name
10 property bool passed: false
11 property bool failed: false
12
13 spacing: ScreenTools.defaultFontPixelHeight / 2
14
15 property alias _checked: header.checked
16
17 onPassedChanged: parent.groupPassedChanged(ObjectModel.index, passed)
18
19 Component.onCompleted: {
20 enabled = _checked
21 var moveList = []
22 var i = 0
23 for (i = 2; i < children.length; i++) {
24 moveList.push(children[i])
25 }
26 for (i = 0; i < moveList.length; i++) {
27 moveList[i].parent = innerColumn
28 }
29 }
30
31 function reset() {
32 for (var i=0; i<innerColumn.children.length; i++) {
33 innerColumn.children[i].reset()
34 }
35 }
36
37 SectionHeader {
38 id: header
39 anchors.left: parent.left
40 anchors.right: parent.right
41 text: name + (passed ? qsTr(" (passed)") : "")
42 color: failed ? qgcPal.statusFailedText : (passed ? qgcPal.statusPassedText : qgcPal.statusPendingText)
43 }
44
45 Column {
46 id: innerColumn
47 spacing: ScreenTools.defaultFontPixelHeight / 2
48 visible: header.checked
49
50 function buttonPassedChanged() {
51 for (var i=0; i<children.length; i++) {
52 if (!children[i].passed) {
53 passed = false
54 failed = children[i].failed
55 return
56 }
57 }
58 failed = false
59 passed = true
60 }
61 }
62}