71b7d5c9e7a231928e57573b8e7a61d5be047ec6
[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;
101       anchors.horizontalCenter: parent.horizontalCenter
102       y:tapeMargin/2-10
103       width:(pfd.width-tapeMargin*2-50)*pfd.displayScale;height:60
104     }
105     GaugeHSI {
106         id:hsi
107 //        displayScale:pfd.displayScale
108 //        displayScale:0.9
109         visible:showHSI
110         font.pixelSize:10
111         tickIncrement:30
112         tickMinor:5
113         color:indicatorColor
114         backColor:"#40000000"
115         value:alt
116         anchors.horizontalCenter: parent.horizontalCenter
117         anchors.bottom:parent.bottom
118         anchors.bottomMargin: 20
119         width:(pfd.width/2.8);height:(pfd.width/2.8)
120     }
121
122     BorderImage {
123         id:bezelImg
124         anchors.fill:parent
125         source: bezel
126         border.bottom:10;border.top:10
127         border.left: 10;border.right: 10
128     }
129 }