Commit 33ba68fc authored by Don Gagne's avatar Don Gagne

Thumbtack alternate instrument panel

parent 146820c2
...@@ -103,6 +103,7 @@ ...@@ -103,6 +103,7 @@
<file alias="QGroundControl/FlightMap/QGCAttitudeWidget.qml">src/FlightMap/Widgets/QGCAttitudeWidget.qml</file> <file alias="QGroundControl/FlightMap/QGCAttitudeWidget.qml">src/FlightMap/Widgets/QGCAttitudeWidget.qml</file>
<file alias="QGroundControl/FlightMap/QGCCompassWidget.qml">src/FlightMap/Widgets/QGCCompassWidget.qml</file> <file alias="QGroundControl/FlightMap/QGCCompassWidget.qml">src/FlightMap/Widgets/QGCCompassWidget.qml</file>
<file alias="QGroundControl/FlightMap/QGCInstrumentWidget.qml">src/FlightMap/Widgets/QGCInstrumentWidget.qml</file> <file alias="QGroundControl/FlightMap/QGCInstrumentWidget.qml">src/FlightMap/Widgets/QGCInstrumentWidget.qml</file>
<file alias="QGroundControl/FlightMap/QGCInstrumentWidgetAlternate.qml">src/FlightMap/Widgets/QGCInstrumentWidgetAlternate.qml</file>
<file alias="QGroundControl/FlightMap/QGCPitchIndicator.qml">src/FlightMap/Widgets/QGCPitchIndicator.qml</file> <file alias="QGroundControl/FlightMap/QGCPitchIndicator.qml">src/FlightMap/Widgets/QGCPitchIndicator.qml</file>
<file alias="QGroundControl/FlightMap/QGCSlider.qml">src/FlightMap/Widgets/QGCSlider.qml</file> <file alias="QGroundControl/FlightMap/QGCSlider.qml">src/FlightMap/Widgets/QGCSlider.qml</file>
<file alias="QGroundControl/FlightMap/QGCVideoBackground.qml">src/FlightMap/QGCVideoBackground.qml</file> <file alias="QGroundControl/FlightMap/QGCVideoBackground.qml">src/FlightMap/QGCVideoBackground.qml</file>
......
...@@ -39,6 +39,7 @@ Item { ...@@ -39,6 +39,7 @@ Item {
id: _root id: _root
property var _activeVehicle: multiVehicleManager.activeVehicle property var _activeVehicle: multiVehicleManager.activeVehicle
property bool _isSatellite: _mainIsMap ? _flightMap ? _flightMap.isSatelliteMap : true : true
QGCMapPalette { id: mapPal; lightColors: !isBackgroundDark } QGCMapPalette { id: mapPal; lightColors: !isBackgroundDark }
...@@ -103,59 +104,42 @@ Item { ...@@ -103,59 +104,42 @@ Item {
altitudeFact: _altitudeAMSLFact altitudeFact: _altitudeAMSLFact
groundSpeedFact: _groundSpeedFact groundSpeedFact: _groundSpeedFact
airSpeedFact: _airSpeedFact airSpeedFact: _airSpeedFact
isSatellite: _mainIsMap ? _flightMap ? _flightMap.isSatelliteMap : true : true isSatellite: _isSatellite
z: QGroundControl.zOrderWidgets z: QGroundControl.zOrderWidgets
qgcView: parent.parent.qgcView qgcView: parent.parent.qgcView
maxHeight: parent.height - (ScreenTools.defaultFontPixelHeight * 2) maxHeight: parent.height - (ScreenTools.defaultFontPixelHeight * 2)
} }
//-- Alternate Instrument Panel QGCInstrumentWidgetAlternate {
Rectangle { id: instrumentGadgetAlternate
visible: QGroundControl.virtualTabletJoystick
anchors.margins: ScreenTools.defaultFontPixelHeight anchors.margins: ScreenTools.defaultFontPixelHeight
anchors.top: parent.top
anchors.right: parent.right anchors.right: parent.right
anchors.bottom: parent.bottom visible: QGroundControl.virtualTabletJoystick
width: pipSize width: getGadgetWidth()
height: pipSize * (9/16) active: _activeVehicle != null
color: Qt.rgba(0,0,0,0.75) heading: _heading
Column { rollAngle: _roll
id: instruments pitchAngle: _pitch
width: parent.width altitudeFact: _altitudeAMSLFact
spacing: ScreenTools.defaultFontPixelSize * 0.33 groundSpeedFact: _groundSpeedFact
anchors.verticalCenter: parent.verticalCenter airSpeedFact: _airSpeedFact
QGCLabel { isSatellite: _isSatellite
text: _altitudeAMSLFact.shortDescription + "(" + _altitudeAMSLFact.units + ")" z: QGroundControl.zOrderWidgets
font.pixelSize: ScreenTools.defaultFontPixelSize * 0.75
width: parent.width
height: ScreenTools.defaultFontPixelSize * 0.75
color: "white"
horizontalAlignment: TextEdit.AlignHCenter
}
QGCLabel {
text: _altitudeAMSLFact.valueString
font.pixelSize: ScreenTools.defaultFontPixelSize * 1.5
font.weight: Font.DemiBold
width: parent.width
color: "white"
horizontalAlignment: TextEdit.AlignHCenter
}
QGCLabel {
text: _groundSpeedFact.shortDescription + "(" + _groundSpeedFact.units + ")"
font.pixelSize: ScreenTools.defaultFontPixelSize * 0.75
width: parent.width
height: ScreenTools.defaultFontPixelSize * 0.75
color: "white"
horizontalAlignment: TextEdit.AlignHCenter
}
QGCLabel {
text: _groundSpeedFact.valueString
font.pixelSize: ScreenTools.defaultFontPixelSize
font.weight: Font.DemiBold
width: parent.width
color: "white"
horizontalAlignment: TextEdit.AlignHCenter
}
} }
ValuesWidget {
anchors.topMargin: ScreenTools.defaultFontPixelHeight
anchors.top: instrumentGadgetAlternate.bottom
anchors.left: instrumentGadgetAlternate.left
width: getGadgetWidth()
qgcView: parent.parent.qgcView
textColor: _isSatellite ? "white" : "black"
visible: QGroundControl.virtualTabletJoystick
maxHeight: multiTouchItem.y - y
Component.onCompleted: console.log(y)
onHeightChanged: console.log(y, height, multiTouchItem.y)
} }
//-- Vertical Tool Buttons //-- Vertical Tool Buttons
......
/*=====================================================================
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/>.
======================================================================*/
import QtQuick 2.4
import QGroundControl.Controls 1.0
import QGroundControl.ScreenTools 1.0
import QGroundControl.FactSystem 1.0
import QGroundControl.FlightMap 1.0
/// Instrument panel shown when virtual thumbsticks are visible
Rectangle {
id: root
height: _outerRadius * 2
radius: _outerRadius
color: isSatellite ? Qt.rgba(1,1,1,0.75) : Qt.rgba(0,0,0,0.75)
property alias heading: compass.heading
property alias rollAngle: attitude.rollAngle
property alias pitchAngle: attitude.pitchAngle
property real size: _defaultSize
property bool isSatellite: false
property bool active: false
property Fact _emptyFact: Fact { }
property Fact groundSpeedFact: _emptyFact
property Fact airSpeedFact: _emptyFact
property Fact altitudeFact: _emptyFact
property real _innerRadius: (width - (_topBottomMargin * 3)) / 4
property real _outerRadius: _innerRadius + _topBottomMargin
property real _defaultSize: ScreenTools.defaultFontPixelSize * (9)
property real _sizeRatio: ScreenTools.isTinyScreen ? (size / _defaultSize) * 0.5 : size / _defaultSize
property real _bigFontSize: ScreenTools.defaultFontPixelSize * 2.5 * _sizeRatio
property real _normalFontSize:ScreenTools.defaultFontPixelSize * 1.5 * _sizeRatio
property real _labelFontSize: ScreenTools.defaultFontPixelSize * 0.75 * _sizeRatio
property real _spacing: ScreenTools.defaultFontPixelSize * 0.33
property real _topBottomMargin: (size * 0.05) / 2
QGCAttitudeWidget {
id: attitude
anchors.leftMargin: _topBottomMargin
anchors.left: parent.left
size: _innerRadius * 2
active: active
anchors.verticalCenter: parent.verticalCenter
}
QGCCompassWidget {
id: compass
anchors.leftMargin: _spacing
anchors.left: attitude.right
size: _innerRadius * 2
active: active
anchors.verticalCenter: parent.verticalCenter
}
}
...@@ -10,6 +10,7 @@ QGCAttitudeHUD 1.0 QGCAttitudeHUD.qml ...@@ -10,6 +10,7 @@ QGCAttitudeHUD 1.0 QGCAttitudeHUD.qml
QGCAttitudeWidget 1.0 QGCAttitudeWidget.qml QGCAttitudeWidget 1.0 QGCAttitudeWidget.qml
QGCCompassWidget 1.0 QGCCompassWidget.qml QGCCompassWidget 1.0 QGCCompassWidget.qml
QGCInstrumentWidget 1.0 QGCInstrumentWidget.qml QGCInstrumentWidget 1.0 QGCInstrumentWidget.qml
QGCInstrumentWidgetAlternate 1.0 QGCInstrumentWidgetAlternate.qml
QGCPitchIndicator 1.0 QGCPitchIndicator.qml QGCPitchIndicator 1.0 QGCPitchIndicator.qml
QGCSlider 1.0 QGCSlider.qml QGCSlider 1.0 QGCSlider.qml
ValuesWidget 1.0 ValuesWidget.qml ValuesWidget 1.0 ValuesWidget.qml
......
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