Commit cab1d265 authored by dogmaphobic's avatar dogmaphobic

Pushing before merge

parent 60a46a22
......@@ -81,8 +81,7 @@
<!-- FlightDisplay module -->
<file alias="QGroundControl/FlightDisplay/qmldir">src/FlightDisplay/qmldir</file>
<file alias="QGroundControl/FlightDisplay/FlightDisplayView.qml">src/FlightDisplay/FlightDisplayView.qml</file>
<file alias="QGroundControl/FlightDisplay/FlightDisplayViewDelayLoadInner.qml">src/FlightDisplay/FlightDisplayViewDelayLoadInner.qml</file>
<file alias="QGroundControl/FlightDisplay/FlightDisplayViewDelayLoadOuter.qml">src/FlightDisplay/FlightDisplayViewDelayLoadOuter.qml</file>
<file alias="QGroundControl/FlightDisplay/FlightDisplayViewDelayLoad.qml">src/FlightDisplay/FlightDisplayViewDelayLoad.qml</file>
<!-- FlightMap module -->
<file alias="QGroundControl/FlightMap/qmldir">src/FlightMap/qmldir</file>
......@@ -96,6 +95,7 @@
<file alias="QGroundControl/FlightMap/QGCCompassHUD.qml">src/FlightMap/Widgets/QGCCompassHUD.qml</file>
<file alias="QGroundControl/FlightMap/QGCCurrentAltitude.qml">src/FlightMap/Widgets/QGCCurrentAltitude.qml</file>
<file alias="QGroundControl/FlightMap/QGCCurrentSpeed.qml">src/FlightMap/Widgets/QGCCurrentSpeed.qml</file>
<file alias="QGroundControl/FlightMap/QGCInstrumentWidget.qml">src/FlightMap/Widgets/QGCInstrumentWidget.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/QGCSpeedWidget.qml">src/FlightMap/Widgets/QGCSpeedWidget.qml</file>
......
......@@ -96,7 +96,7 @@ Item {
// Validate _showMap setting
Component.onCompleted: {
delayLoader.source = "FlightDisplayViewDelayLoadOuter.qml"
delayLoader.source = "FlightDisplayViewDelayLoad.qml"
// We have to be careful to not reference root properties in a function which is in a subcomponent
// until the root component has completed loading. Otherwise you get undefined references.
......@@ -133,14 +133,13 @@ Item {
onRootVehicleCoordinateChanged: updateMapPosition(false /* force */)
Component.onCompleted: flightMapDelayLoader.source = "FlightDisplayViewDelayLoadInner.qml"
function updateMapPosition(force) {
if ((_followVehicle || force) && rootLoadCompleted) {
flightMap.latitude = root._vehicleCoordinate.latitude
flightMap.longitude = root._vehicleCoordinate.longitude
}
}
// Home position
MissionItemIndicator {
label: "H"
......@@ -190,11 +189,6 @@ Item {
model: _missionController.waypointLines
}
Loader {
id: flightMapDelayLoader
anchors.fill: parent
}
// Used to make pinch zoom work
MouseArea {
anchors.fill: parent
......
......@@ -35,10 +35,39 @@ import QGroundControl.Palette 1.0
import QGroundControl.Vehicle 1.0
import QGroundControl.FlightMap 1.0
/// This component is used to delay load the controls which are children of the inner FlightMap
/// control of FlightDisplayView.
// Vehicle GPS lock display
/// This component is used to delay load the items which are direct children of the
/// FlightDisplayViewControl.
Item {
QGCVideoBackground {
anchors.fill: parent
display: _controller.videoSurface
receiver: _controller.videoReceiver
visible: !_showMap
QGCCompassHUD {
id: compassHUD
y: root.height * 0.7
x: root.width * 0.5 - ScreenTools.defaultFontPixelSize * (5)
width: ScreenTools.defaultFontPixelSize * (10)
height: ScreenTools.defaultFontPixelSize * (10)
heading: _heading
active: multiVehicleManager.activeVehicleAvailable
z: QGroundControl.zOrderWidgets
}
QGCAttitudeHUD {
id: attitudeHUD
rollAngle: _roll
pitchAngle: _pitch
width: ScreenTools.defaultFontPixelSize * (30)
height: ScreenTools.defaultFontPixelSize * (30)
active: multiVehicleManager.activeVehicleAvailable
z: QGroundControl.zOrderWidgets
}
}
//-- Vehicle GPS lock display
Column {
id: gpsLockColumn
y: (parent.height - height) / 2
......@@ -58,27 +87,19 @@ Item {
}
}
QGCCompassWidget {
anchors.leftMargin: ScreenTools.defaultFontPixelHeight
anchors.topMargin: topMargin
anchors.left: parent.left
anchors.top: parent.top
size: ScreenTools.defaultFontPixelSize * (13.3)
heading: _heading
z: QGroundControl.zOrderWidgets
}
QGCAttitudeWidget {
//-- Instrument Pannel
QGCInstrumentWidget {
anchors.margins: ScreenTools.defaultFontPixelHeight
anchors.left: parent.left
anchors.bottom: parent.bottom
size: ScreenTools.defaultFontPixelSize * (13.3)
size: ScreenTools.defaultFontPixelSize * (9)
heading: _heading
rollAngle: _roll
pitchAngle: _pitch
active: multiVehicleManager.activeVehicleAvailable
z: QGroundControl.zOrderWidgets
}
//-- Map Center Control
DropButton {
id: centerMapDropButton
anchors.rightMargin: ScreenTools.defaultFontPixelHeight
......@@ -123,6 +144,7 @@ Item {
}
}
//-- Map Type Control
DropButton {
id: mapTypeButton
anchors.topMargin: topMargin
......@@ -156,4 +178,45 @@ Item {
}
}
}
//-- Temporary Options Button
QGCButton {
id: optionsButton
x: _flightMap.mapWidgets.x
y: _flightMap.mapWidgets.y - height - (ScreenTools.defaultFontPixelHeight / 2)
z: QGroundControl.zOrderWidgets
width: _flightMap.mapWidgets.width
text: "Options"
menu: optionsMenu
visible: _controller.hasVideo && !hideWidgets
ExclusiveGroup {
id: backgroundTypeGroup
}
Menu {
id: optionsMenu
MenuItem {
id: mapBackgroundMenuItem
exclusiveGroup: backgroundTypeGroup
checkable: true
checked: _showMap
text: "Show map as background"
onTriggered: _setShowMap(true)
}
MenuItem {
id: videoBackgroundMenuItem
exclusiveGroup: backgroundTypeGroup
checkable: true
checked: !_showMap
text: "Show video as background"
onTriggered: _setShowMap(false)
}
}
}
}
/*=====================================================================
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 QtQuick.Controls 1.3
import QtQuick.Controls.Styles 1.2
import QtQuick.Dialogs 1.2
import QtLocation 5.3
import QtPositioning 5.2
import QGroundControl 1.0
import QGroundControl.ScreenTools 1.0
import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0
import QGroundControl.Vehicle 1.0
import QGroundControl.FlightMap 1.0
/// This component is used to delay load the items which are direct children of the
/// FlightDisplayViewControl.
Item {
QGCVideoBackground {
anchors.fill: parent
display: _controller.videoSurface
receiver: _controller.videoReceiver
visible: !_showMap
QGCCompassHUD {
id: compassHUD
y: root.height * 0.7
x: root.width * 0.5 - ScreenTools.defaultFontPixelSize * (5)
width: ScreenTools.defaultFontPixelSize * (10)
height: ScreenTools.defaultFontPixelSize * (10)
heading: _heading
active: multiVehicleManager.activeVehicleAvailable
z: QGroundControl.zOrderWidgets
}
QGCAttitudeHUD {
id: attitudeHUD
rollAngle: _roll
pitchAngle: _pitch
width: ScreenTools.defaultFontPixelSize * (30)
height: ScreenTools.defaultFontPixelSize * (30)
active: multiVehicleManager.activeVehicleAvailable
z: QGroundControl.zOrderWidgets
}
}
QGCAltitudeWidget {
anchors.right: parent.right
height: parent.height * 0.65 > ScreenTools.defaultFontPixelSize * (23.4) ? ScreenTools.defaultFontPixelSize * (23.4) : parent.height * 0.65
width: ScreenTools.defaultFontPixelSize * (5)
altitude: _altitudeWGS84
z: QGroundControl.zOrderWidgets
visible: !hideWidgets
}
QGCSpeedWidget {
anchors.left: parent.left
width: ScreenTools.defaultFontPixelSize * (5)
height: parent.height * 0.65 > ScreenTools.defaultFontPixelSize * (23.4) ? ScreenTools.defaultFontPixelSize * (23.4) : parent.height * 0.65
speed: _groundSpeed
z: QGroundControl.zOrderWidgets
visible: !hideWidgets
}
QGCCurrentSpeed {
anchors.left: parent.left
width: ScreenTools.defaultFontPixelSize * (6.25)
airspeed: _airSpeed
groundspeed: _groundSpeed
active: multiVehicleManager.activeVehicleAvailable
z: QGroundControl.zOrderWidgets
visible: !hideWidgets
}
QGCCurrentAltitude {
anchors.right: parent.right
width: ScreenTools.defaultFontPixelSize * (6.25)
altitude: _altitudeWGS84
vertZ: _climbRate
active: multiVehicleManager.activeVehicleAvailable
z: QGroundControl.zOrderWidgets
visible: !hideWidgets
}
QGCButton {
id: optionsButton
x: _flightMap.mapWidgets.x
y: _flightMap.mapWidgets.y - height - (ScreenTools.defaultFontPixelHeight / 2)
z: QGroundControl.zOrderWidgets
width: _flightMap.mapWidgets.width
text: "Options"
menu: optionsMenu
visible: _controller.hasVideo && !hideWidgets
ExclusiveGroup {
id: backgroundTypeGroup
}
Menu {
id: optionsMenu
MenuItem {
id: mapBackgroundMenuItem
exclusiveGroup: backgroundTypeGroup
checkable: true
checked: _showMap
text: "Show map as background"
onTriggered: _setShowMap(true)
}
MenuItem {
id: videoBackgroundMenuItem
exclusiveGroup: backgroundTypeGroup
checkable: true
checked: !_showMap
text: "Show video as background"
onTriggered: _setShowMap(false)
}
}
}
}
Module QGroundControl.FlightDisplay
FlightDisplayView 1.0 FlightDisplayView.qml
FlightDisplayViewDelayLoadInner 1.0 FlightDisplayViewDelayLoadInner.qml
FlightDisplayViewDelayLoadOuter 1.0 FlightDisplayViewDelayLoadOuter.qml
FlightDisplayView 1.0 FlightDisplayView.qml
FlightDisplayViewDelayLoad 1.0 FlightDisplayViewDelayLoad.qml
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_4" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 288 288" enable-background="new 0 0 288 288" xml:space="preserve">
<path fill="#333333" d="M0-0.002v288h288v-288H0z M144,270c-69.588,0-126-56.412-126-126S74.412,18,144,18s126,56.412,126,126
S213.588,270,144,270z"/>
viewBox="-161 253 288 288" style="enable-background:new -161 253 288 288;" xml:space="preserve">
<style type="text/css">
.st0{fill:#202020;}
</style>
<path class="st0" d="M-161,253v288h288V253L-161,253L-161,253z M-17,523c-69.6,0-126-56.4-126-126s56.4-126,126-126
s126,56.4,126,126S52.6,523-17,523z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 288 288" enable-background="new 0 0 288 288" xml:space="preserve">
<g id="Layer_1">
<rect fill="#58595B" width="288" height="288"/>
</g>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-161 253 288 288" style="enable-background:new -161 253 288 288;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#231F20;stroke-width:24;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
</style>
<g id="Layer_2">
<polyline fill="none" stroke="#A7A9AC" stroke-width="24" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
110.541,54 58.58,144 110.541,234 "/>
<polyline fill="none" stroke="#A7A9AC" stroke-width="24" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
169.981,54 118.019,144 169.981,234 "/>
<polyline fill="none" stroke="#A7A9AC" stroke-width="24" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
229.42,54 177.459,144 229.42,234 "/>
<polyline class="st0" points="-59.8,282 -126.1,397 -59.8,512 "/>
<polyline class="st0" points="16.2,282 -50.2,397 16.2,512 "/>
<polyline class="st0" points="92.1,282 25.8,397 92.1,512 "/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 288 288" enable-background="new 0 0 288 288" xml:space="preserve">
<g id="Layer_1">
<rect fill="#58595B" width="288" height="288"/>
</g>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-161 253 288 288" style="enable-background:new -161 253 288 288;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#231F20;stroke-width:24;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
</style>
<g id="Layer_2">
<polyline fill="none" stroke="#A7A9AC" stroke-width="24" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
177.459,234 229.42,144 177.459,54 "/>
<polyline fill="none" stroke="#A7A9AC" stroke-width="24" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
118.019,234 169.981,144 118.019,54 "/>
<polyline fill="none" stroke="#A7A9AC" stroke-width="24" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
58.58,234 110.541,144 58.58,54 "/>
<polyline class="st0" points="15.8,512 82.1,397 15.8,282 "/>
<polyline class="st0" points="-60.2,512 6.2,397 -60.2,282 "/>
<polyline class="st0" points="-136.1,512 -69.8,397 -136.1,282 "/>
</g>
</svg>
......@@ -28,9 +28,11 @@ This file is part of the QGROUNDCONTROL project
*/
import QtQuick 2.4
import QtGraphicalEffects 1.0
import QGroundControl.Controls 1.0
QGCMovableItem {
Item {
id: root
property bool active: false ///< true: actively connected to data provider, false: show inactive control
......@@ -42,70 +44,91 @@ QGCMovableItem {
readonly property real _defaultRollAngle: 0
readonly property real _defaultPitchAngle: 0
property real _rollAngle: active ? rollAngle : _defaultRollAngle
property real _rollAngle: active ? rollAngle : _defaultRollAngle
property real _pitchAngle: active ? pitchAngle : _defaultPitchAngle
width: size
height: size
//----------------------------------------------------
//-- Artificial Horizon
QGCArtificialHorizon {
rollAngle: _rollAngle
pitchAngle: _pitchAngle
Item {
id: instrument
anchors.fill: parent
}
//----------------------------------------------------
//-- Pointer
Image {
id: pointer
source: "/qmlimages/attitudePointer.svg"
mipmap: true
fillMode: Image.PreserveAspectFit
anchors.fill: parent
}
//----------------------------------------------------
//-- Instrument Dial
Image {
id: instrumentDial
source: "/qmlimages/attitudeDial.svg"
mipmap: true
fillMode: Image.PreserveAspectFit
anchors.fill: parent
transform: Rotation {
origin.x: root.width / 2
origin.y: root.height / 2
angle: -_rollAngle
visible: false
//----------------------------------------------------
//-- Artificial Horizon
QGCArtificialHorizon {
rollAngle: _rollAngle
pitchAngle: _pitchAngle
anchors.fill: parent
}
//----------------------------------------------------
//-- Pointer
Image {
id: pointer
source: "/qmlimages/attitudePointer.svg"
mipmap: true
fillMode: Image.PreserveAspectFit
anchors.fill: parent
}
//----------------------------------------------------
//-- Instrument Dial
Image {
id: instrumentDial
source: "/qmlimages/attitudeDial.svg"
mipmap: true
fillMode: Image.PreserveAspectFit
anchors.fill: parent
transform: Rotation {
origin.x: root.width / 2
origin.y: root.height / 2
angle: -_rollAngle
}
}
//----------------------------------------------------
//-- Pitch
QGCPitchIndicator {
id: pitchWidget
visible: root.showPitch
size: root.size * 0.65
anchors.verticalCenter: parent.verticalCenter
pitchAngle: _pitchAngle
rollAngle: _rollAngle
color: Qt.rgba(0,0,0,0)
}
//----------------------------------------------------
//-- Cross Hair
Image {
id: crossHair
anchors.centerIn: parent
source: "/qmlimages/crossHair.svg"
mipmap: true
width: size * 0.75
fillMode: Image.PreserveAspectFit
}
}
//----------------------------------------------------
//-- Pitch
QGCPitchIndicator {
id: pitchWidget
visible: root.showPitch
size: root.size * 0.65
anchors.verticalCenter: parent.verticalCenter
pitchAngle: _pitchAngle
rollAngle: _rollAngle
color: Qt.rgba(0,0,0,0)
Rectangle {
id: mask
anchors.fill: instrument
radius: width / 2
color: "black"
visible: false
}
//----------------------------------------------------
//-- Cross Hair
Image {
id: crossHair
anchors.centerIn: parent
source: "/qmlimages/crossHair.svg"
mipmap: true
width: size * 0.75
fillMode: Image.PreserveAspectFit
OpacityMask {
anchors.fill: instrument
source: instrument
maskSource: mask
}
//----------------------------------------------------
//-- Instrument Pannel
Image {
id: pannel
source: "/qmlimages/attitudeInstrument.svg"
mipmap: true
fillMode: Image.PreserveAspectFit
Rectangle {
id: borderRect
anchors.fill: parent
radius: width / 2
color: Qt.rgba(0,0,0,0)
border.color: "black"
border.width: 2
}
}
......@@ -28,59 +28,88 @@ This file is part of the QGROUNDCONTROL project
*/
import QtQuick 2.4
import QtGraphicalEffects 1.0
import QGroundControl.Controls 1.0
import QGroundControl.ScreenTools 1.0
QGCMovableItem {
Item {
id: root
property real heading: _defaultHeading
property bool active: false ///< true: actively connected to data provider, false: show inactive control
property real heading: 0
property real size: ScreenTools.defaultFontPixelSize * (10)
property int _fontSize: ScreenTools.defaultFontPixelSize
readonly property real _defaultHeading: 0
property int _fontSize: ScreenTools.defaultFontPixelSize * 0.8
width: size
height: size
Rectangle {
id: compassBack
anchors.fill: parent
color: "#212121"
id: borderRect
anchors.fill: parent
radius: width / 2
color: "#202020"
border.color: "black"
border.width: 2
}
Image {
id: pointer
source: "/qmlimages/compassInstrumentAirplane.svg"
mipmap: true
width: size * 0.75
fillMode: Image.PreserveAspectFit
anchors.centerIn: parent
transform: Rotation {
origin.x: pointer.width / 2
origin.y: pointer.height / 2
angle: heading
Item {
id: instrument
anchors.fill: parent
visible: false
Image {
id: pointer
source: "/qmlimages/compassInstrumentAirplane.svg"
mipmap: true
width: size * 0.75
fillMode: Image.PreserveAspectFit
anchors.centerIn: parent
transform: Rotation {
origin.x: pointer.width / 2
origin.y: pointer.height / 2
angle: heading
}
}
Image {
id: compassDial
source: "/qmlimages/compassInstrumentDial.svg"
mipmap: true
fillMode: Image.PreserveAspectFit
anchors.fill: parent
}
Rectangle {
anchors.centerIn: parent
width: size * 0.35
height: size * 0.2
border.color: Qt.rgba(1,1,1,0.15)
color: Qt.rgba(0,0,0,0.65)
QGCLabel {
text: active ? heading.toFixed(0) : "OFF"
font.weight: active ? Font.DemiBold : Font.Light
font.pixelSize: _fontSize < 1 ? 1 : _fontSize;
color: "white"
anchors.centerIn: parent
}
}
}
Image {
id: compassDial
source: "/qmlimages/compassInstrumentDial.svg"
mipmap: true
fillMode: Image.PreserveAspectFit
anchors.fill: parent
}
Rectangle {
anchors.centerIn: root
width: size * 0.35
height: size * 0.2
border.color: Qt.rgba(1,1,1,0.15)
color: Qt.rgba(0,0,0,0.65)
QGCLabel {
text: _heading.toFixed(0)
font.weight: Font.DemiBold
font.pixelSize: _fontSize < 1 ? 1 : _fontSize;
color: "white"
anchors.centerIn: parent
visible: active
}
id: mask
anchors.fill: instrument
radius: width / 2
color: "black"
visible: false
}
OpacityMask {
anchors.fill: instrument
source: instrument
maskSource: mask
}
}
......@@ -34,13 +34,14 @@ import QGroundControl.Controls 1.0
Rectangle {
property real pitchAngle: 0
property real rollAngle: 0
property real size: 120
property real size: 100
property real _reticleHeight: 1
property real _reticleSpacing: size * 0.15
property real _reticleSlot: _reticleSpacing + _reticleHeight
property real _longDash: size * 0.40
property real _shortDash: size * 0.25
property real _fontSize: ScreenTools.defaultFontPixelSize
property real _fontSize: ScreenTools.defaultFontPixelSize * (size / 100)
height: size * 0.9
width: size
radius: ScreenTools.defaultFontPixelSize * (0.66)
......
......@@ -13,12 +13,13 @@ QGCCompassHUD 1.0 QGCCompassHUD.qml
QGCCompassWidget 1.0 QGCCompassWidget.qml
QGCCurrentAltitude 1.0 QGCCurrentAltitude.qml
QGCCurrentSpeed 1.0 QGCCurrentSpeed.qml
QGCInstrumentWidget 1.0 QGCInstrumentWidget.qml
QGCPitchIndicator 1.0 QGCPitchIndicator.qml
QGCSlider 1.0 QGCSlider.qml
QGCSpeedWidget 1.0 QGCSpeedWidget.qml
# Map items
VehicleMapItem 1.0 VehicleMapItem.qml
MissionItemIndicator 1.0 MissionItemIndicator.qml
MissionItemView 1.0 MissionItemView.qml
MissionLineView 1.0 MissionLineView.qml
VehicleMapItem 1.0 VehicleMapItem.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