@@ -17,68 +17,39 @@ import QGroundControl.Controls
17
17
Item {
18
18
anchors .fill : parent
19
19
20
- FactPanelController { id: controller; }
20
+ FactPanelController { id: controller }
21
21
22
- property Fact _followEnabled: controller .getParameterFact (- 1 , " FOLL_ENABLE" )
23
- property bool _followParamsAvailable: controller .parameterExists (- 1 , " FOLL_SYSID" )
24
- property Fact _followDistanceMax: controller .getParameterFact (- 1 , " FOLL_DIST_MAX" , false /* reportMissing */ )
25
- property Fact _followSysId: controller .getParameterFact (- 1 , " FOLL_SYSID" , false /* reportMissing */ )
26
- property Fact _followOffsetX: controller .getParameterFact (- 1 , " FOLL_OFS_X" , false /* reportMissing */ )
27
- property Fact _followOffsetY: controller .getParameterFact (- 1 , " FOLL_OFS_Y" , false /* reportMissing */ )
28
- property Fact _followOffsetZ: controller .getParameterFact (- 1 , " FOLL_OFS_Z" , false /* reportMissing */ )
29
- property Fact _followOffsetType: controller .getParameterFact (- 1 , " FOLL_OFS_TYPE" , false /* reportMissing */ )
30
- property Fact _followAltitudeType: controller .getParameterFact (- 1 , " FOLL_ALT_TYPE" , false /* reportMissing */ )
31
- property Fact _followYawBehavior: controller .getParameterFact (- 1 , " FOLL_YAW_BEHAVE" , false /* reportMissing */ )
22
+ function getFact (name ) {
23
+ return controller .getParameterFact (- 1 , name, false )
24
+ }
25
+
26
+ property bool followParamsAvailable: controller .parameterExists (- 1 , " FOLL_SYSID" )
27
+
28
+ property var followItems: [
29
+ { label: qsTr (" Follow Enabled" ), fact: getFact (" FOLL_ENABLE" ), visible: true },
30
+ { label: qsTr (" Follow System ID" ), fact: getFact (" FOLL_SYSID" ), visible: followParamsAvailable },
31
+ { label: qsTr (" Max Distance" ), fact: getFact (" FOLL_DIST_MAX" ), visible: followParamsAvailable },
32
+ { label: qsTr (" Offset X" ), fact: getFact (" FOLL_OFS_X" ), visible: followParamsAvailable },
33
+ { label: qsTr (" Offset Y" ), fact: getFact (" FOLL_OFS_Y" ), visible: followParamsAvailable },
34
+ { label: qsTr (" Offset Z" ), fact: getFact (" FOLL_OFS_Z" ), visible: followParamsAvailable },
35
+ { label: qsTr (" Offset Type" ), fact: getFact (" FOLL_OFS_TYPE" ), visible: followParamsAvailable },
36
+ { label: qsTr (" Altitude Type" ), fact: getFact (" FOLL_ALT_TYPE" ), visible: followParamsAvailable },
37
+ { label: qsTr (" Yaw Behavior" ), fact: getFact (" FOLL_YAW_BEHAVE" ), visible: followParamsAvailable }
38
+ ]
32
39
33
40
Column {
34
41
anchors .fill : parent
35
42
36
- VehicleSummaryRow {
37
- labelText: qsTr (" Follow Enabled" )
38
- valueText: _followEnabled .enumStringValue
39
- }
40
-
41
- Loader {
42
- id: followParamsLoader
43
- active: _followParamsAvailable
44
- sourceComponent: followParamsComponent
45
- }
46
- }
43
+ Repeater {
44
+ model: followItems
45
+ delegate: VehicleSummaryRow {
46
+ labelText: modelData .label
47
+ valueText: formatFact (modelData .fact )
48
+ visible: modelData .visible
47
49
48
- Component {
49
- id: followParamsComponent
50
- Column {
51
- VehicleSummaryRow {
52
- labelText: qsTr (" Follow System ID" )
53
- valueText: _followSysId .valueString
54
- }
55
- VehicleSummaryRow {
56
- labelText: qsTr (" Follow Max Distance" )
57
- valueText: _followDistanceMax .valueString + " " + _followDistanceMax .units
58
- }
59
- VehicleSummaryRow {
60
- labelText: qsTr (" Follow Offset X" )
61
- valueText: _followOffsetX .valueString + " " + _followOffsetX .units
62
- }
63
- VehicleSummaryRow {
64
- labelText: qsTr (" Follow Offset Y" )
65
- valueText: _followOffsetY .valueString + " " + _followOffsetY .units
66
- }
67
- VehicleSummaryRow {
68
- labelText: qsTr (" Follow Offset Z" )
69
- valueText: _followOffsetZ .valueString + " " + _followOffsetZ .units
70
- }
71
- VehicleSummaryRow {
72
- labelText: qsTr (" Follow Offset Type" )
73
- valueText: _followOffsetType .enumStringValue
74
- }
75
- VehicleSummaryRow {
76
- labelText: qsTr (" Follow Altitude Type" )
77
- valueText: _followAltitudeType .enumStringValue
78
- }
79
- VehicleSummaryRow {
80
- labelText: qsTr (" Follow Yaw Behavior" )
81
- valueText: _followYawBehavior .enumStringValue
50
+ function formatFact (fact ) {
51
+ return (fact && (fact .enumStringValue || (fact .valueString + " " + fact .units )))
52
+ }
82
53
}
83
54
}
84
55
}
0 commit comments