QGCInstrumentWidget.qml 2.9 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
ColumnLayout {
    id:         root
    spacing:    ScreenTools.defaultFontPixelHeight / 4
24

25 26 27 28
    // These properties are expected to be in the Loader
    //  property real maxHeight
    //  property bool showValues - true: show value pages

29 30 31 32 33
    property real   _innerRadius:           (width - (_topBottomMargin * 3)) / 4
    property real   _outerRadius:           _innerRadius + _topBottomMargin
    property real   _spacing:               ScreenTools.defaultFontPixelHeight * 0.33
    property real   _topBottomMargin:       (width * 0.05) / 2
    property real   _availableValueHeight:  maxHeight - _valuesItem.y
34

35
    QGCPalette { id: qgcPal }
36

37 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
    Rectangle {
        id:                 visualInstrument
        height:             _outerRadius * 2
        Layout.fillWidth:   true
        radius:             _outerRadius
        color:              qgcPal.window

        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
        }
63
    }
Don Gagne's avatar
Don Gagne committed
64

65 66
    TerrainProgress {
        Layout.fillWidth: true
67
    }
Don Gagne's avatar
Don Gagne committed
68

69 70
    Item {
        id:                 _valuesItem
71
        Layout.fillWidth:   true
72
        height:             _valuesWidget.height
73
        visible:            showValues
74

75
        DeadMouseArea { anchors.fill: parent }
76

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

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