QGCInstrumentWidget.qml 3.26 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.3
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.Palette       1.0
dogmaphobic's avatar
dogmaphobic committed
19

20
Rectangle {
21
    id:             root
22
    width:          getPreferredInstrumentWidth()
23 24 25 26
    height:         _outerRadius * 2
    radius:         _outerRadius
    color:          qgcPal.window
    border.width:   1
27 28
    border.color:   _isSatellite ? qgcPal.mapWidgetBorderLight : qgcPal.mapWidgetBorderDark

29 30 31 32 33 34 35 36 37 38 39 40 41
    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 - (root.height + _valuesItem.anchors.topMargin)

    // Prevent all clicks from going through to lower layers
    DeadMouseArea {
42 43 44
        anchors.fill: parent
    }

45
    QGCPalette { id: qgcPal }
46

47 48 49 50 51 52 53 54
    QGCAttitudeWidget {
        id:                 attitude
        anchors.leftMargin: _topBottomMargin
        anchors.left:       parent.left
        size:               _innerRadius * 2
        vehicle:            activeVehicle
        anchors.verticalCenter: parent.verticalCenter
    }
Don Gagne's avatar
Don Gagne committed
55

56 57 58 59 60 61 62 63
    QGCCompassWidget {
        id:                 compass
        anchors.leftMargin: _spacing
        anchors.left:       attitude.right
        size:               _innerRadius * 2
        vehicle:            activeVehicle
        anchors.verticalCenter: parent.verticalCenter
    }
Don Gagne's avatar
Don Gagne committed
64

65 66 67 68 69 70 71 72 73 74 75
    Item {
        id:                 _valuesItem
        anchors.topMargin:  ScreenTools.defaultFontPixelHeight / 4
        anchors.top:        parent.bottom
        width:              parent.width
        height:             _valuesWidget.height
        visible:            widgetRoot.showValues

        // Prevent all clicks from going through to lower layers
        DeadMouseArea {
            anchors.fill: parent
Don Gagne's avatar
Don Gagne committed
76
        }
77

78
        Rectangle {
79 80
            anchors.fill:   _valuesWidget
            color:          qgcPal.window
81 82
        }

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