QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
IntegratedCompassAttitude.qml
Go to the documentation of this file.
1import QtQuick
2
3import QGroundControl
4import QGroundControl.Controls
5import QGroundControl.FlyView
6import QGroundControl.FlightMap
7
8Item {
9 id: control
10 implicitWidth: (compassRadius * 2) + attitudeSpacing + attitudeSize
11 implicitHeight: implicitWidth
12
13 property alias attitudeSize: rollIndicator.attitudeSize
14 property alias attitudeSpacing: rollIndicator.attitudeSpacing
15 property real extraInset: attitudeSize + attitudeSpacing
16 property real extraValuesWidth: compassRadius
17 property real defaultCompassRadius: (mainWindow.width * 0.15) / 2
18 property real maxCompassRadius: ScreenTools.defaultFontPixelHeight * 7 / 2
19 property real compassRadius: Math.min(defaultCompassRadius, maxCompassRadius)
20 property real compassBorder: ScreenTools.defaultFontPixelHeight / 2
21 property var vehicle: globals.activeVehicle
22 property var qgcPal: QGroundControl.globalPalette
23 property bool usedByMultipleVehicleList: false
24
25 property real _totalAttitudeSize: attitudeSize + attitudeSpacing
26
27 IntegratedAttitudeIndicator {
28 id: rollIndicator
29 x: -_totalAttitudeSize
30 attitudeAngleDegrees: vehicle ? vehicle.roll.rawValue : 0
31 compassRadius: control.compassRadius
32 }
33
34 IntegratedAttitudeIndicator {
35 x: -_totalAttitudeSize
36 attitudeAngleDegrees: vehicle ? vehicle.pitch.rawValue : 0
37 compassRadius: control.compassRadius
38 attitudeSize: control.attitudeSize
39 attitudeSpacing: control.attitudeSpacing
40 transformOrigin: Item.Center
41 rotation: 90
42 }
43
44 Rectangle {
45 y: _totalAttitudeSize
46 width: compassRadius * 2
47 height: width
48 radius: width / 2
49 color: qgcPal.window
50
51 QGCCompassWidget {
52 size: parent.width - compassBorder
53 vehicle: control.vehicle
54 usedByMultipleVehicleList: control.usedByMultipleVehicleList
55 anchors.centerIn: parent
56 }
57 }
58}