sync repo
[mardrone] / mardrone / gauges / EfisPFD.qml
1 import QtQuick 1.0
2 import Gauges 1.0
3
4 Item {
5     id:pfd
6     property real displayScale:width/640
7     property real pitch
8     property real roll
9     property real alt
10     property real ias
11     property real tapeMargin:60
12     property color indicatorColor:"white"
13     property bool showHSI:false
14     property alias groundColor:horizon.horizonGroundColor
15     property alias skyColor:horizon.horizonSkyColor
16     property url bezel:""
17     GaugeHorizon {
18         id:horizon
19         displayScale:pfd.displayScale
20         anchors.fill:parent
21         value:roll
22         value2:pitch
23         yPosition:showHSI?120:height/2
24         color:indicatorColor
25         horizonSkyColor:"blue"
26         horizonGroundColor:"#ff702010"
27     }
28     GaugeTape {
29       id:iasTape
30       displayScale:pfd.displayScale
31       font.pixelSize:20
32       tickIncrement:10
33       tickSpacing:50
34       tickMinor:5
35       gaugeStyle:2
36       color:indicatorColor
37       backColor:"#40000000"
38       value:ias
39       x:20;y:tapeMargin*pfd.displayScale
40       height:((showHSI?0.5:0.7)*pfd.height)/pfd.displayScale;width:60
41     }
42     GaugeLabel {
43       id: iasValue
44       x:iasTape.x
45       y:iasTape.y+(iasTape.height/2-30)*pfd.displayScale
46       width:iasTape.width
47       displayScale:pfd.displayScale
48       height:60
49       value: ias
50       gaugeStyle:16
51       font.pixelSize:25
52       tickMinor:1
53       color:indicatorColor
54       backColor:"#c0000000"
55       name:"ias"
56       }
57     GaugeTape {
58       id:altTape
59       displayScale:pfd.displayScale
60       font.pixelSize:20
61       tickIncrement:10
62       tickSpacing:50
63       tickMinor:5
64       gaugeStyle:2
65       color:indicatorColor
66       backColor:"#40000000"
67       value:alt
68       x:pfd.width-80;y:tapeMargin*pfd.displayScale
69       height:((showHSI?0.5:0.7)*pfd.height)/pfd.displayScale;width:60
70
71     }
72
73     GaugeLabel {
74       id: altValue
75       displayScale:pfd.displayScale
76       x:altTape.x
77       y:iasTape.y+(iasTape.height/2-30)*pfd.displayScale
78       width:altTape.width
79       height:60
80       value: alt
81       gaugeStyle:16
82       font.pixelSize:25
83       tickMinor:1
84       color:indicatorColor
85       backColor:"#c0000000"
86       name: "alt"
87       }
88     GaugeTape {
89       id:compassTape
90       displayScale:pfd.displayScale
91       visible:!showHSI
92       font.pixelSize:20
93       tickIncrement:10
94       tickSpacing:50
95       tickMinor:5
96       gaugeStyle:5
97       color:indicatorColor
98       backColor:"#40000000"
99       value:alt
100       x:90;y:tapeMargin/2-10
101       width:(pfd.width-tapeMargin*2-50)*pfd.displayScale;height:60
102     }
103     GaugeHSI {
104         id:hsi
105         displayScale:pfd.displayScale
106         visible:showHSI
107         font.pixelSize:20
108         tickIncrement:30
109         tickMinor:5
110         color:indicatorColor
111         backColor:"#40000000"
112         value:alt
113         anchors.horizontalCenter: parent.horizontalCenter
114         anchors.bottom:parent.bottom
115         anchors.bottomMargin: 20
116         width:(pfd.width/2.8);height:(pfd.width/2.8)
117     }
118
119     BorderImage {
120         id:bezelImg
121         anchors.fill:parent
122         source: bezel
123         border.bottom:10;border.top:10
124         border.left: 10;border.right: 10
125     }
126 }