QGCInstrumentWidgetAlternate.qml 4.34 KB
Newer Older
1 2 3 4 5 6 7 8
/****************************************************************************
 *
 *   (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
 *
 * QGroundControl is licensed according to the terms in the file
 * COPYING.md in the root of the source code directory.
 *
 ****************************************************************************/
9 10 11 12


import QtQuick 2.4

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

/// Instrument panel shown when virtual thumbsticks are visible
Rectangle {
Don Gagne's avatar
Don Gagne committed
22 23 24 25 26 27
    id:             root
    height:         _outerRadius * 2
    radius:         _outerRadius
    color:          qgcPal.window
    border.width:   1
    border.color:   lightBorders ? qgcPal.mapWidgetBorderLight : qgcPal.mapWidgetBorderDark
28 29 30 31 32 33

    property alias  heading:        compass.heading
    property alias  rollAngle:      attitude.rollAngle
    property alias  pitchAngle:     attitude.pitchAngle
    property real   size:           _defaultSize
    property bool   active:         false
Don Gagne's avatar
Don Gagne committed
34 35 36
    property bool   lightBorders:   true
    property var    qgcView
    property real   maxHeight
37 38 39 40 41 42 43 44 45

    property Fact   _emptyFact:         Fact { }
    property Fact   groundSpeedFact:    _emptyFact
    property Fact   airSpeedFact:       _emptyFact
    property Fact   altitudeFact:       _emptyFact

    property real   _innerRadius: (width - (_topBottomMargin * 3)) / 4
    property real   _outerRadius: _innerRadius + _topBottomMargin

46
    property real   _defaultSize:   ScreenTools.defaultFontPixelHeight * (9)
47 48

    property real   _sizeRatio:     ScreenTools.isTinyScreen ? (size / _defaultSize) * 0.5 : size / _defaultSize
49 50 51 52
    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
53
    property real   _topBottomMargin: (size * 0.05) / 2
Don Gagne's avatar
Don Gagne committed
54 55 56
    property real   _availableValueHeight: maxHeight - (root.height + _valuesItem.anchors.topMargin)

    QGCPalette { id: qgcPal }
57 58 59 60 61 62

    QGCAttitudeWidget {
        id:                 attitude
        anchors.leftMargin: _topBottomMargin
        anchors.left:       parent.left
        size:               _innerRadius * 2
Don Gagne's avatar
Don Gagne committed
63
        active:             root.active
64 65 66 67 68 69 70 71
        anchors.verticalCenter: parent.verticalCenter
    }

    QGCCompassWidget {
        id:                 compass
        anchors.leftMargin: _spacing
        anchors.left:       attitude.right
        size:               _innerRadius * 2
72
        vehicle:            QGroundControl.multiVehicleManager.activeVehicle
73 74
        anchors.verticalCenter: parent.verticalCenter
    }
Don Gagne's avatar
Don Gagne committed
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118

    Image {
        id:                         gearThingy
        anchors.bottomMargin:       _topBottomMargin
        anchors.bottom:             parent.bottom
        anchors.horizontalCenter:   parent.horizontalCenter
        source:                     qgcPal.globalTheme == QGCPalette.Light ? "/res/gear-black.svg" : "/res/gear-white.svg"
        mipmap:                     true
        opacity:                    0.5
        width:                      root.height * 0.15
        sourceSize.width:           width
        fillMode:                   Image.PreserveAspectFit
    }

    MouseArea {
        anchors.fill:   parent
        onClicked:      _valuesWidget.showPicker()
    }

    Item {
        id:                 _valuesItem
        anchors.topMargin:  ScreenTools.defaultFontPixelHeight / 4
        anchors.top:        parent.bottom
        width:              parent.width
        height:             _valuesWidget.height

        Rectangle {
            anchors.fill:   _valuesWidget
            color:          qgcPal.window
        }

        InstrumentSwipeView {
            id:                 _valuesWidget
            anchors.margins:    1
            anchors.left:       parent.left
            anchors.right:      parent.right
            qgcView:            root.qgcView
            textColor:          qgcPal.text
            backgroundColor:    qgcPal.window
            maxHeight:          _availableValueHeight
        }
    }


119
}