4 changed files with 125 additions and 0 deletions
@ -0,0 +1,122 @@
@@ -0,0 +1,122 @@
|
||||
/**************************************************************************** |
||||
* |
||||
* (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org> |
||||
* |
||||
* QGroundControl is licensed according to the terms in the file |
||||
* COPYING.md in the root of the source code directory. |
||||
* |
||||
****************************************************************************/ |
||||
|
||||
|
||||
import QtQuick 2.3 |
||||
import QtQuick.Controls 1.2 |
||||
import QtQuick.Layouts 1.2 |
||||
|
||||
import QGroundControl 1.0 |
||||
import QGroundControl.Controls 1.0 |
||||
import QGroundControl.MultiVehicleManager 1.0 |
||||
import QGroundControl.ScreenTools 1.0 |
||||
import QGroundControl.Palette 1.0 |
||||
|
||||
//------------------------------------------------------------------------- |
||||
//-- GPS Indicator |
||||
Item { |
||||
id: satelitte |
||||
width: (gpsValuesColumn.x + gpsValuesColumn.width) * 1.1 |
||||
anchors.top: parent.top |
||||
anchors.bottom: parent.bottom |
||||
|
||||
Component { |
||||
id: gpsInfo |
||||
|
||||
Rectangle { |
||||
width: gpsCol.width + ScreenTools.defaultFontPixelWidth * 3 |
||||
height: gpsCol.height + ScreenTools.defaultFontPixelHeight * 2 |
||||
radius: ScreenTools.defaultFontPixelHeight * 0.5 |
||||
color: qgcPal.window |
||||
border.color: qgcPal.text |
||||
|
||||
Column { |
||||
id: gpsCol |
||||
spacing: ScreenTools.defaultFontPixelHeight * 0.5 |
||||
width: Math.max(gpsGrid.width, gpsLabel.width) |
||||
anchors.margins: ScreenTools.defaultFontPixelHeight |
||||
anchors.centerIn: parent |
||||
|
||||
QGCLabel { |
||||
id: gpsLabel |
||||
text: (activeVehicle && activeVehicle.gps.count.value >= 0) ? qsTr("GPS Status") : qsTr("GPS Data Unavailable") |
||||
font.family: ScreenTools.demiboldFontFamily |
||||
anchors.horizontalCenter: parent.horizontalCenter |
||||
} |
||||
|
||||
GridLayout { |
||||
id: gpsGrid |
||||
visible: (activeVehicle && activeVehicle.gps.count.value >= 0) |
||||
anchors.margins: ScreenTools.defaultFontPixelHeight |
||||
columnSpacing: ScreenTools.defaultFontPixelWidth |
||||
anchors.horizontalCenter: parent.horizontalCenter |
||||
columns: 2 |
||||
|
||||
QGCLabel { text: qsTr("GPS Count:") } |
||||
QGCLabel { text: activeVehicle ? activeVehicle.gps.count.valueString : qsTr("N/A", "No data to display") } |
||||
QGCLabel { text: qsTr("GPS Lock:") } |
||||
QGCLabel { text: activeVehicle ? activeVehicle.gps.lock.enumStringValue : qsTr("N/A", "No data to display") } |
||||
QGCLabel { text: qsTr("HDOP:") } |
||||
QGCLabel { text: activeVehicle ? activeVehicle.gps.hdop.valueString : qsTr("--.--", "No data to display") } |
||||
QGCLabel { text: qsTr("VDOP:") } |
||||
QGCLabel { text: activeVehicle ? activeVehicle.gps.vdop.valueString : qsTr("--.--", "No data to display") } |
||||
QGCLabel { text: qsTr("Course Over Ground:") } |
||||
QGCLabel { text: activeVehicle ? activeVehicle.gps.courseOverGround.valueString : qsTr("--.--", "No data to display") } |
||||
} |
||||
} |
||||
|
||||
Component.onCompleted: { |
||||
var pos = mapFromItem(toolBar, centerX - (width / 2), toolBar.height) |
||||
x = pos.x |
||||
y = pos.y + ScreenTools.defaultFontPixelHeight |
||||
} |
||||
} |
||||
} |
||||
|
||||
QGCColoredImage { |
||||
id: gpsIcon |
||||
width: height |
||||
anchors.top: parent.top |
||||
anchors.bottom: parent.bottom |
||||
source: "/qmlimages/Gps.svg" |
||||
fillMode: Image.PreserveAspectFit |
||||
sourceSize.height: height |
||||
opacity: (activeVehicle && activeVehicle.gps.count.value >= 0) ? 1 : 0.5 |
||||
color: qgcPal.buttonText |
||||
} |
||||
|
||||
Column { |
||||
id: gpsValuesColumn |
||||
anchors.verticalCenter: parent.verticalCenter |
||||
anchors.leftMargin: ScreenTools.defaultFontPixelWidth / 2 |
||||
anchors.left: gpsIcon.right |
||||
|
||||
QGCLabel { |
||||
anchors.horizontalCenter: hdopValue.horizontalCenter |
||||
visible: activeVehicle && !isNaN(activeVehicle.gps.hdop.value) |
||||
color: qgcPal.buttonText |
||||
text: activeVehicle ? activeVehicle.gps.count.valueString : "" |
||||
} |
||||
|
||||
QGCLabel { |
||||
id: hdopValue |
||||
visible: activeVehicle && !isNaN(activeVehicle.gps.hdop.value) |
||||
color: qgcPal.buttonText |
||||
text: activeVehicle ? activeVehicle.gps.hdop.value.toFixed(1) : "" |
||||
} |
||||
} |
||||
|
||||
MouseArea { |
||||
anchors.fill: parent |
||||
onClicked: { |
||||
var centerX = mapToItem(toolBar, x, y).x + (width / 2) |
||||
mainWindow.showPopUp(gpsInfo, centerX) |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue