QGCInstrumentWidget.qml 3.42 KB
Newer Older
1 2
/****************************************************************************
 *
Gus Grubba's avatar
Gus Grubba committed
3
 * (c) 2009-2020 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
4 5 6 7 8
 *
 * QGroundControl is licensed according to the terms in the file
 * COPYING.md in the root of the source code directory.
 *
 ****************************************************************************/
dogmaphobic's avatar
dogmaphobic committed
9

10 11
import QtQuick          2.12
import QtQuick.Layouts  1.12
dogmaphobic's avatar
dogmaphobic committed
12

13
import QGroundControl               1.0
Don Gagne's avatar
Don Gagne committed
14 15 16
import QGroundControl.Controls      1.0
import QGroundControl.ScreenTools   1.0
import QGroundControl.FactSystem    1.0
17
import QGroundControl.FlightMap     1.0
18
import QGroundControl.FlightDisplay 1.0
19
import QGroundControl.Palette       1.0
dogmaphobic's avatar
dogmaphobic committed
20

21 22 23 24
ColumnLayout {
    id:         root
    width:      getPreferredInstrumentWidth()
    spacing:    ScreenTools.defaultFontPixelHeight / 4
25

26 27 28 29 30 31 32 33 34 35
    property real   _innerRadius:           (width - (_topBottomMargin * 3)) / 4
    property real   _outerRadius:           _innerRadius + _topBottomMargin
    property real   _defaultSize:           ScreenTools.defaultFontPixelHeight * (9)
    property real   _sizeRatio:             ScreenTools.isTinyScreen ? (width / _defaultSize) * 0.5 : width / _defaultSize
    property real   _bigFontSize:           ScreenTools.defaultFontPointSize * 2.5  * _sizeRatio
    property real   _normalFontSize:        ScreenTools.defaultFontPointSize * 1.5  * _sizeRatio
    property real   _labelFontSize:         ScreenTools.defaultFontPointSize * 0.75 * _sizeRatio
    property real   _spacing:               ScreenTools.defaultFontPixelHeight * 0.33
    property real   _topBottomMargin:       (width * 0.05) / 2
    property real   _availableValueHeight:  maxHeight - _valuesItem.y
36

37
    QGCPalette { id: qgcPal }
38

39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
    Rectangle {
        id:                 visualInstrument
        height:             _outerRadius * 2
        Layout.fillWidth:   true
        radius:             _outerRadius
        color:              qgcPal.window
        border.width:       1
        border.color:       _isSatellite ? qgcPal.mapWidgetBorderLight : qgcPal.mapWidgetBorderDark

        DeadMouseArea { anchors.fill: parent }

        QGCAttitudeWidget {
            id:                     attitude
            anchors.leftMargin:     _topBottomMargin
            anchors.left:           parent.left
            size:                   _innerRadius * 2
            vehicle:                activeVehicle
            anchors.verticalCenter: parent.verticalCenter
        }

        QGCCompassWidget {
            id:                     compass
            anchors.leftMargin:     _spacing
            anchors.left:           attitude.right
            size:                   _innerRadius * 2
            vehicle:                activeVehicle
            anchors.verticalCenter: parent.verticalCenter
        }
67
    }
Don Gagne's avatar
Don Gagne committed
68

69 70
    TerrainProgress {
        Layout.fillWidth: true
71
    }
Don Gagne's avatar
Don Gagne committed
72

73 74
    Item {
        id:                 _valuesItem
75
        Layout.fillWidth:   true
76 77 78
        height:             _valuesWidget.height
        visible:            widgetRoot.showValues

79
        DeadMouseArea { anchors.fill: parent }
80

81
        Rectangle {
82 83
            anchors.fill:   _valuesWidget
            color:          qgcPal.window
84 85
        }

86 87 88 89 90 91
        PageView {
            id:                 _valuesWidget
            anchors.margins:    1
            anchors.left:       parent.left
            anchors.right:      parent.right
            maxHeight:          _availableValueHeight
Don Gagne's avatar
Don Gagne committed
92
        }
93
    }
dogmaphobic's avatar
dogmaphobic committed
94
}