Commit 3fdf1b88 authored by Don Gagne's avatar Don Gagne

New Vehicle Summary format

Takes less real estate and flows better and small displays
parent 6bd6cbd0
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
...@@ -6,13 +6,16 @@ import QGroundControl.FactControls 1.0 ...@@ -6,13 +6,16 @@ import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Controllers 1.0 import QGroundControl.Controllers 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
APMAirframeComponentController { APMAirframeComponentController {
id: controller id: controller
factPanel: panel factPanel: panel
...@@ -20,20 +23,13 @@ FactPanel { ...@@ -20,20 +23,13 @@ FactPanel {
property Fact sysIdFact: controller.getParameterFact(-1, "FRAME") property Fact sysIdFact: controller.getParameterFact(-1, "FRAME")
Grid {
id: grid
rows: 1
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
Column { QGCLabel { text: "Frame Type:" }
anchors.fill: parent QGCLabel { text: sysIdFact.enumStringValue }
anchors.margins: 8
VehicleSummaryRow {
id: nameRow;
labelText: "Frame Type:"
valueText: sysIdFact.valueString === "0" ? "Plus"
: sysIdFact.valueString === "1" ? "X"
: sysIdFact.valueString === "2" ? "V"
: sysIdFact.valueString == "3" ? "H"
:/* Fact.value == 10 */ "New Y6";
}
} }
} }
...@@ -4,12 +4,15 @@ import QtQuick.Controls 1.2 ...@@ -4,12 +4,15 @@ import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Controllers 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -19,28 +22,22 @@ FactPanel { ...@@ -19,28 +22,22 @@ FactPanel {
property Fact _mountRCInPan: controller.getParameterFact(-1, "MNT_RC_IN_PAN") property Fact _mountRCInPan: controller.getParameterFact(-1, "MNT_RC_IN_PAN")
property Fact _mountType: controller.getParameterFact(-1, "MNT_TYPE") property Fact _mountType: controller.getParameterFact(-1, "MNT_TYPE")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 4
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "Gimbal type:" }
labelText: "Gimbal type:" QGCLabel { text: _mountType.enumStringValue }
valueText: _mountType.enumStringValue
}
VehicleSummaryRow { QGCLabel { text: "Tilt input channel:" }
labelText: "Tilt input channel:" QGCLabel { text: _mountRCInTilt.enumStringValue }
valueText: _mountRCInTilt.enumStringValue
}
VehicleSummaryRow { QGCLabel { text: "Pan input channel:" }
labelText: "Pan input channel:" QGCLabel { text: _mountRCInPan.enumStringValue }
valueText: _mountRCInPan.enumStringValue
}
VehicleSummaryRow { QGCLabel { text: "Roll input channel:" }
labelText: "Roll input channel:" QGCLabel { text: _mountRCInRoll.enumStringValue }
valueText: _mountRCInRoll.enumStringValue
}
} }
} }
...@@ -4,12 +4,15 @@ import QtQuick.Controls 1.2 ...@@ -4,12 +4,15 @@ import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Controllers 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -21,38 +24,28 @@ FactPanel { ...@@ -21,38 +24,28 @@ FactPanel {
property Fact flightMode5: controller.getParameterFact(-1, "FLTMODE5") property Fact flightMode5: controller.getParameterFact(-1, "FLTMODE5")
property Fact flightMode6: controller.getParameterFact(-1, "FLTMODE6") property Fact flightMode6: controller.getParameterFact(-1, "FLTMODE6")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 6
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "Flight Mode 1:" }
labelText: "Flight Mode 1:" QGCLabel { text: flightMode1.enumStringValue }
valueText: flightMode1.enumStringValue
}
VehicleSummaryRow { QGCLabel { text: "Flight Mode 2:" }
labelText: "Flight Mode 2:" QGCLabel { text: flightMode2.enumStringValue }
valueText: flightMode2.enumStringValue
}
VehicleSummaryRow { QGCLabel { text: "Flight Mode 3:" }
labelText: "Flight Mode 3:" QGCLabel { text: flightMode3.enumStringValue }
valueText: flightMode3.enumStringValue
}
VehicleSummaryRow { QGCLabel { text: "Flight Mode 4:" }
labelText: "Flight Mode 4:" QGCLabel { text: flightMode4.enumStringValue }
valueText: flightMode4.enumStringValue
}
VehicleSummaryRow { QGCLabel { text: "Flight Mode 5:" }
labelText: "Flight Mode 5:" QGCLabel { text: flightMode5.enumStringValue }
valueText: flightMode5.enumStringValue
}
VehicleSummaryRow { QGCLabel { text: "Flight Mode 6:" }
labelText: "Flight Mode 6:" QGCLabel { text: flightMode6.enumStringValue }
valueText: flightMode6.enumStringValue
}
} }
} }
...@@ -27,12 +27,15 @@ import QtQuick.Controls 1.2 ...@@ -27,12 +27,15 @@ import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Controllers 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -40,18 +43,16 @@ FactPanel { ...@@ -40,18 +43,16 @@ FactPanel {
property Fact battCapacity: controller.getParameterFact(-1, "BATT_CAPACITY") property Fact battCapacity: controller.getParameterFact(-1, "BATT_CAPACITY")
property Fact battMonitor: controller.getParameterFact(-1, "BATT_MONITOR") property Fact battMonitor: controller.getParameterFact(-1, "BATT_MONITOR")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 2
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "Battery monitor:" }
labelText: "Battery monitor:" QGCLabel { text: battMonitor.enumStringValue }
valueText: battMonitor.enumStringValue
}
VehicleSummaryRow { QGCLabel { text: "Battery capacity:" }
labelText: "Battery capacity:" FactLabel { fact: battCapacity }
valueText: battCapacity.valueString
}
} }
} }
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Controllers 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -19,28 +22,22 @@ FactPanel { ...@@ -19,28 +22,22 @@ FactPanel {
property Fact mapYawFact: controller.getParameterFact(-1, "RCMAP_YAW") property Fact mapYawFact: controller.getParameterFact(-1, "RCMAP_YAW")
property Fact mapThrottleFact: controller.getParameterFact(-1, "RCMAP_THROTTLE") property Fact mapThrottleFact: controller.getParameterFact(-1, "RCMAP_THROTTLE")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 4
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "Roll:" }
labelText: "Roll:" QGCLabel { text: mapRollFact.value == 0 ? "Setup required" : "Channel " + mapRollFact.valueString }
valueText: mapRollFact.value == 0 ? "Setup required" : "Channel " + mapRollFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Pitch:" }
labelText: "Pitch:" QGCLabel { text: mapPitchFact.value == 0 ? "Setup required" : "Channel " + mapPitchFact.valueString }
valueText: mapPitchFact.value == 0 ? "Setup required" : "Channel " + mapPitchFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Yaw:" }
labelText: "Yaw:" QGCLabel { text: mapYawFact.value == 0 ? "Setup required" : "Channel " + mapYawFact.valueString }
valueText: mapYawFact.value == 0 ? "Setup required" : "Channel " + mapYawFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Throttle:" }
labelText: "Throttle:" QGCLabel { text: mapThrottleFact.value == 0 ? "Setup required" : "Channel " + mapThrottleFact.valueString }
valueText: mapThrottleFact.value == 0 ? "Setup required" : "Channel " + mapThrottleFact.valueString
}
} }
} }
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -81,55 +83,42 @@ FactPanel { ...@@ -81,55 +83,42 @@ FactPanel {
} }
} }
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 8
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "Throttle failsafe:" }
labelText: "Throttle failsafe:" QGCLabel { text: _failsafeThrEnableText }
valueText: _failsafeThrEnableText
}
VehicleSummaryRow { QGCLabel { text: "Battery failsafe:" }
labelText: "Battery failsafe:" QGCLabel { text: _failsafeBattEnableText }
valueText: _failsafeBattEnableText
}
VehicleSummaryRow { QGCLabel { text: "GeoFence:" }
labelText: "GeoFence:" QGCLabel { text: _fenceEnable.value == 0 || _fenceType == 0 ?
valueText: _fenceEnable.value == 0 || _fenceType == 0 ?
"Disabled" : "Disabled" :
(_fenceType.value == 1 ? (_fenceType.value == 1 ?
"Altitude" : "Altitude" :
(_fenceType.value == 2 ? "Circle" : "Altitude,Circle")) (_fenceType.value == 2 ? "Circle" : "Altitude,Circle")) }
}
VehicleSummaryRow { QGCLabel { text: "GeoFence:"; visible: _fenceEnable.value != 0 }
labelText: "GeoFence:" QGCLabel { text: _fenceAction.value == 0 ?
valueText: _fenceAction.value == 0 ?
"Report only" : "Report only" :
(_fenceAction.value == 1 ? "RTL or Land" : "Unknown") (_fenceAction.value == 1 ? "RTL or Land" : "Unknown")
visible: _fenceEnable.value != 0 visible: _fenceEnable.value != 0
} }
VehicleSummaryRow { QGCLabel { text: "RTL min alt:" }
labelText: "RTL min alt:" QGCLabel { text: _rtlAltFact.value == 0 ? "current" : _rtlAltFact.valueString }
valueText: _rtlAltFact.value == 0 ? "current" : _rtlAltFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "RTL loiter time:" }
labelText: "RTL loiter time:" QGCLabel { text: _rtlLoitTimeFact.valueString }
valueText: _rtlLoitTimeFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "RTL final alt:" }
labelText: "RTL final alt:" QGCLabel { text: _rtlAltFinalFact.value == 0 ? "Land" : _rtlAltFinalFact.valueString }
valueText: _rtlAltFinalFact.value == 0 ? "Land" : _rtlAltFinalFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Descent speed:" }
labelText: "Descent speed:" QGCLabel { text: _landSpeedFact.valueString }
valueText: _landSpeedFact.valueString
}
} }
} }
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -22,28 +24,22 @@ FactPanel { ...@@ -22,28 +24,22 @@ FactPanel {
property Fact _rtlAltFact: controller.getParameterFact(-1, "ALT_HOLD_RTL") property Fact _rtlAltFact: controller.getParameterFact(-1, "ALT_HOLD_RTL")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 4
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "Throttle failsafe:" }
labelText: "Throttle failsafe:" QGCLabel { text: _failsafeThrEnable.value != 0 ? _failsafeThrValue.valueString : "Disabled" }
valueText: _failsafeThrEnable.value != 0 ? _failsafeThrValue.valueString : "Disabled"
}
VehicleSummaryRow { QGCLabel { text: "Voltage failsafe:" }
labelText: "Voltage failsafe:" QGCLabel { text: _failsafeBattVoltage.value == 0 ? "Disabled" : _failsafeBattVoltage.valueString }
valueText: _failsafeBattVoltage.value == 0 ? "Disabled" : _failsafeBattVoltage.valueString
}
VehicleSummaryRow { QGCLabel { text: "mAh failsafe:" }
labelText: "mAh failsafe:" QGCLabel { text: _failsafeBattMah.value == 0 ? "Disabled" : _failsafeBattMah.valueString }
valueText: _failsafeBattMah.value == 0 ? "Disabled" : _failsafeBattMah.valueString
}
VehicleSummaryRow { QGCLabel { text: "RTL min alt:" }
labelText: "RTL min alt:" QGCLabel { text: _rtlAltFact.value < 0 ? "current" : _rtlAltFact.valueString }
valueText: _rtlAltFact.value < 0 ? "current" : _rtlAltFact.valueString
}
} }
} }
...@@ -26,7 +26,6 @@ import QtQuick 2.5 ...@@ -26,7 +26,6 @@ import QtQuick 2.5
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
QGCLabel { QGCLabel {
anchors.fill: parent
text: "Not supported" text: "Not supported"
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
......
import QtQuick 2.5 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
import QGroundControl.Controllers 1.0 import QGroundControl.Controllers 1.0
/*
IMPORTANT NOTE: Any changes made here must also be made to SensorsComponentSummary.qml
*/
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
APMSensorsComponentController { id: controller; factPanel: panel } APMSensorsComponentController { id: controller; factPanel: panel }
...@@ -23,18 +20,16 @@ FactPanel { ...@@ -23,18 +20,16 @@ FactPanel {
property bool accelCalNeeded: controller.accelSetupNeeded property bool accelCalNeeded: controller.accelSetupNeeded
property bool compassCalNeeded: controller.compassSetupNeeded property bool compassCalNeeded: controller.compassSetupNeeded
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 2
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "Compass:" }
labelText: "Compass:" QGCLabel { text: compassCalNeeded ? "Setup required" : "Ready" }
valueText: compassCalNeeded ? "Setup required" : "Ready"
}
VehicleSummaryRow { QGCLabel { text: "Accelerometer:" }
labelText: "Accelerometer:" QGCLabel { text: accelCalNeeded ? "Setup required" : "Ready" }
valueText: accelCalNeeded ? "Setup required" : "Ready"
}
} }
} }
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
...@@ -6,11 +6,13 @@ import QGroundControl.FactControls 1.0 ...@@ -6,11 +6,13 @@ import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Controllers 1.0 import QGroundControl.Controllers 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
AirframeComponentController { id: controller; factPanel: panel } AirframeComponentController { id: controller; factPanel: panel }
...@@ -20,23 +22,19 @@ FactPanel { ...@@ -20,23 +22,19 @@ FactPanel {
property bool autoStartSet: sysAutoStartFact.value != 0 property bool autoStartSet: sysAutoStartFact.value != 0
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 3
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "System ID:" }
labelText: "System ID:" FactLabel { fact: sysIdFact }
valueText: sysIdFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Airframe type:" }
labelText: "Airframe type:" QGCLabel { text: autoStartSet ? controller.currentAirframeType : "Setup required" }
valueText: autoStartSet ? controller.currentAirframeType : "Setup required"
}
VehicleSummaryRow { QGCLabel { text: "Vehicle:" }
labelText: "Vehicle:" QGCLabel { text: autoStartSet ? controller.currentVehicleName : "Setup required" }
valueText: autoStartSet ? controller.currentVehicleName : "Setup required"
}
} }
} }
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -19,28 +21,22 @@ FactPanel { ...@@ -19,28 +21,22 @@ FactPanel {
property Fact loiterSwFact: controller.getParameterFact(-1, "RC_MAP_LOITER_SW") property Fact loiterSwFact: controller.getParameterFact(-1, "RC_MAP_LOITER_SW")
property Fact returnSwFact: controller.getParameterFact(-1, "RC_MAP_RETURN_SW") property Fact returnSwFact: controller.getParameterFact(-1, "RC_MAP_RETURN_SW")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 4
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "Mode switch:" }
labelText: "Mode switch:" QGCLabel { text: modeSwFact.value == 0 ? "Setup required" : modeSwFact.valueString }
valueText: modeSwFact.value == 0 ? "Setup required" : modeSwFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Position Ctl switch:" }
labelText: "Position Ctl switch:" QGCLabel { text: posCtlSwFact.value == 0 ? "Disabled" : posCtlSwFact.valueString }
valueText: posCtlSwFact.value == 0 ? "Disabled" : posCtlSwFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Loiter switch:" }
labelText: "Loiter switch:" QGCLabel { text: loiterSwFact.value == 0 ? "Disabled" : loiterSwFact.valueString }
valueText: loiterSwFact.value == 0 ? "Disabled" : loiterSwFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Return switch:" }
labelText: "Return switch:" QGCLabel { text: returnSwFact.value == 0 ? "Disabled" : returnSwFact.valueString }
valueText: returnSwFact.value == 0 ? "Disabled" : returnSwFact.valueString
}
} }
} }
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -22,43 +24,31 @@ FactPanel { ...@@ -22,43 +24,31 @@ FactPanel {
property Fact mapAux1Fact: controller.getParameterFact(-1, "RC_MAP_AUX1") property Fact mapAux1Fact: controller.getParameterFact(-1, "RC_MAP_AUX1")
property Fact mapAux2Fact: controller.getParameterFact(-1, "RC_MAP_AUX2") property Fact mapAux2Fact: controller.getParameterFact(-1, "RC_MAP_AUX2")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 7
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "Roll:" }
labelText: "Roll:" QGCLabel { text: mapRollFact.value == 0 ? "Setup required" : mapRollFact.valueString }
valueText: mapRollFact.value == 0 ? "Setup required" : mapRollFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Pitch:" }
labelText: "Pitch:" QGCLabel { text: mapPitchFact.value == 0 ? "Setup required" : mapPitchFact.valueString }
valueText: mapPitchFact.value == 0 ? "Setup required" : mapPitchFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Yaw:" }
labelText: "Yaw:" QGCLabel { text: mapYawFact.value == 0 ? "Setup required" : mapYawFact.valueString }
valueText: mapYawFact.value == 0 ? "Setup required" : mapYawFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Throttle:" }
labelText: "Throttle:" QGCLabel { text: mapThrottleFact.value == 0 ? "Setup required" : mapThrottleFact.valueString }
valueText: mapThrottleFact.value == 0 ? "Setup required" : mapThrottleFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Flaps:" }
labelText: "Flaps:" QGCLabel { text: mapFlapsFact.value == 0 ? "Disabled" : mapFlapsFact.valueString }
valueText: mapFlapsFact.value == 0 ? "Disabled" : mapFlapsFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Aux1:" }
labelText: "Aux1:" QGCLabel { text: mapAux1Fact.value == 0 ? "Disabled" : mapAux1Fact.valueString }
valueText: mapAux1Fact.value == 0 ? "Disabled" : mapAux1Fact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Aux2:" }
labelText: "Aux2:" QGCLabel { text: mapAux2Fact.value == 0 ? "Disabled" : mapAux2Fact.valueString }
valueText: mapAux2Fact.value == 0 ? "Disabled" : mapAux2Fact.valueString
}
} }
} }
...@@ -25,18 +25,20 @@ ...@@ -25,18 +25,20 @@
/// @brief Battery, propeller and magnetometer summary /// @brief Battery, propeller and magnetometer summary
/// @author Gus Grubba <mavlink@grubba.com> /// @author Gus Grubba <mavlink@grubba.com>
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -45,23 +47,19 @@ FactPanel { ...@@ -45,23 +47,19 @@ FactPanel {
property Fact batVEmptyFact: controller.getParameterFact(-1, "BAT_V_EMPTY") property Fact batVEmptyFact: controller.getParameterFact(-1, "BAT_V_EMPTY")
property Fact batCellsFact: controller.getParameterFact(-1, "BAT_N_CELLS") property Fact batCellsFact: controller.getParameterFact(-1, "BAT_N_CELLS")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 3
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "Battery Full:" }
labelText: "Battery Full:" FactLabel { fact: batVChargedFact }
valueText: batVChargedFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Battery Empty:" }
labelText: "Battery Empty:" FactLabel { fact: batVEmptyFact }
valueText: batVEmptyFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Number of Cells:" }
labelText: "Number of Cells:" FactLabel { fact: batCellsFact }
valueText: batCellsFact.valueString
}
} }
} }
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -20,33 +22,25 @@ FactPanel { ...@@ -20,33 +22,25 @@ FactPanel {
property Fact commDLLossFact: controller.getParameterFact(-1, "COM_DL_LOSS_EN") property Fact commDLLossFact: controller.getParameterFact(-1, "COM_DL_LOSS_EN")
property Fact commRCLossFact: controller.getParameterFact(-1, "COM_RC_LOSS_T") property Fact commRCLossFact: controller.getParameterFact(-1, "COM_RC_LOSS_T")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 5
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "RTL min alt:" }
labelText: "RTL min alt:" QGCLabel { text: returnAltFact.valueString }
valueText: returnAltFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "RTL home alt:" }
labelText: "RTL home alt:" QGCLabel { text: descendAltFact.valueString }
valueText: descendAltFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "RTL loiter delay:" }
labelText: "RTL loiter delay:" QGCLabel { text: landDelayFact.value < 0 ? "Disabled" : landDelayFact.valueString }
valueText: landDelayFact.value < 0 ? "Disabled" : landDelayFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Telemetry loss RTL:" }
labelText: "Telemetry loss RTL:" QGCLabel { text: commDLLossFact.value != -1 ? "Disabled" : commDLLossFact.valueString }
valueText: commDLLossFact.value != -1 ? "Disabled" : commDLLossFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "RC loss RTL (seconds):" }
labelText: "RC loss RTL (seconds):" QGCLabel { text: commRCLossFact.valueString }
valueText: commRCLossFact.valueString
}
} }
} }
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
/*
IMPORTANT NOTE: Any changes made here must also be made to SensorsComponentSummary.qml
*/
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -23,23 +20,19 @@ FactPanel { ...@@ -23,23 +20,19 @@ FactPanel {
property Fact gyro0IdFact: controller.getParameterFact(-1, "CAL_GYRO0_ID") property Fact gyro0IdFact: controller.getParameterFact(-1, "CAL_GYRO0_ID")
property Fact accel0IdFact: controller.getParameterFact(-1, "CAL_ACC0_ID") property Fact accel0IdFact: controller.getParameterFact(-1, "CAL_ACC0_ID")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 3
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "Compass:" }
labelText: "Compass:" QGCLabel { text: mag0IdFact.value == 0 ? "Setup required" : "Ready" }
valueText: mag0IdFact.value == 0 ? "Setup required" : "Ready"
}
VehicleSummaryRow { QGCLabel { text: "Gyro:" }
labelText: "Gyro:" QGCLabel { text: gyro0IdFact.value == 0 ? "Setup required" : "Ready" }
valueText: gyro0IdFact.value == 0 ? "Setup required" : "Ready"
}
VehicleSummaryRow { QGCLabel { text: "Accelerometer:" }
labelText: "Accelerometer:" QGCLabel { text: accel0IdFact.value == 0 ? "Setup required" : "Ready" }
valueText: accel0IdFact.value == 0 ? "Setup required" : "Ready"
}
} }
} }
...@@ -36,63 +36,26 @@ Rectangle { ...@@ -36,63 +36,26 @@ Rectangle {
anchors.fill: parent anchors.fill: parent
color: qgcPal.window color: qgcPal.window
property real _minSummaryW: ScreenTools.defaultFontPixelWidth * 30 readonly property real _margins: ScreenTools.defaultFontPixelHeight
property real _summaryBoxWidth: _minSummaryW
property real _summaryBoxSpace: ScreenTools.defaultFontPixelWidth
function computeSummaryBoxSize() {
var sw = 0
var rw = 0
var idx = Math.floor(_summaryRoot.width / (_minSummaryW + ScreenTools.defaultFontPixelWidth))
if(idx < 1) {
_summaryBoxWidth = _summaryRoot.width
_summaryBoxSpace = 0
} else {
_summaryBoxSpace = 0
if(idx > 1) {
_summaryBoxSpace = ScreenTools.defaultFontPixelWidth
sw = _summaryBoxSpace * (idx - 1)
}
rw = _summaryRoot.width - sw
_summaryBoxWidth = rw / idx
}
}
function capitalizeWords(sentence) { function capitalizeWords(sentence) {
return sentence.replace(/(?:^|\s)\S/g, function(a) { return a.toUpperCase(); }); return sentence.replace(/(?:^|\s)\S/g, function(a) { return a.toUpperCase(); });
} }
QGCPalette { QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
id: qgcPal
colorGroupEnabled: enabled
}
Component.onCompleted: {
computeSummaryBoxSize()
}
onWidthChanged: {
computeSummaryBoxSize()
}
Flickable { Flickable {
clip: true clip: true
anchors.fill: parent anchors.fill: parent
contentHeight: summaryColumn.height contentHeight: summaryFlow.y + summaryFlow.height
contentWidth: _summaryRoot.width
flickableDirection: Flickable.VerticalFlick flickableDirection: Flickable.VerticalFlick
boundsBehavior: Flickable.StopAtBounds
Column {
id: summaryColumn
width: _summaryRoot.width
spacing: ScreenTools.defaultFontPixelHeight
QGCLabel { QGCLabel {
id: topLabel
width: parent.width width: parent.width
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
color: setupComplete ? qgcPal.text : qgcPal.warningText color: setupComplete ? qgcPal.text : qgcPal.warningText
font.weight: Font.DemiBold font.weight: setupComplete ? Font.Normal : Font.DemiBold
text: setupComplete ? text: setupComplete ?
"Below you will find a summary of the settings for your vehicle. To the left are the setup menus for each component." : "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." "WARNING: Your vehicle requires setup prior to flight. Please resolve the items marked in red using the menu on the left."
...@@ -100,56 +63,35 @@ Rectangle { ...@@ -100,56 +63,35 @@ Rectangle {
} }
Flow { Flow {
id: _flowCtl id: summaryFlow
width: _summaryRoot.width anchors.topMargin: _margins
spacing: _summaryBoxSpace anchors.top: topLabel.bottom
width: parent.width
spacing: ScreenTools.defaultFontPixelWidth
Repeater { Repeater {
model: multiVehicleManager.activeVehicle.autopilot.vehicleComponents model: multiVehicleManager.activeVehicle.autopilot.vehicleComponents
// Outer summary item rectangle
Rectangle {
width: _summaryBoxWidth
height: ScreenTools.defaultFontPixelHeight * 13
color: qgcPal.window
visible: modelData.summaryQmlSource.toString() != ""
readonly property real titleHeight: ScreenTools.defaultFontPixelHeight * 2
// Title bar
Rectangle {
id: titleBar
width: parent.width
height: titleHeight
color: qgcPal.windowShade
// Title text
QGCLabel { QGCLabel {
anchors.fill: parent width: summaryRectangle.width
verticalAlignment: TextEdit.AlignVCenter height: summaryRectangle.y + summaryRectangle.height
horizontalAlignment: TextEdit.AlignHCenter
text: capitalizeWords(modelData.name) text: capitalizeWords(modelData.name)
} font.weight: Font.DemiBold
visible: modelData.summaryQmlSource.toString() != ""
color: modelData.setupComplete ? qgcPal.text : "red"
// Setup indicator
Rectangle { Rectangle {
anchors.rightMargin: ScreenTools.defaultFontPixelWidth / 3 id: summaryRectangle
anchors.right: parent.right y: parent.contentHeight + (_margins / 2)
anchors.verticalCenter: parent.verticalCenter width: summaryLoader.width + _margins
width: ScreenTools.defaultFontPixelWidth height: summaryLoader.height + _margins
height: width color: qgcPal.windowShade
radius: width / 2
color: modelData.setupComplete ? "#00d932" : "red"
visible: modelData.requiresSetup
}
}
// Summary Qml
Rectangle {
anchors.top: titleBar.bottom
width: parent.width
Loader { Loader {
anchors.fill: parent id: summaryLoader
anchors.margins: _margins / 2
anchors.left: parent.left
anchors.top: parent.top
source: modelData.summaryQmlSource source: modelData.summaryQmlSource
} }
} }
...@@ -157,5 +99,4 @@ Rectangle { ...@@ -157,5 +99,4 @@ Rectangle {
} }
} }
} }
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment