mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 14:55:36 +08:00
75 lines
2.0 KiB
QML
75 lines
2.0 KiB
QML
import QtQuick 2.12
|
|
import QtQuick.Layouts 1.12
|
|
import QtQuick.Controls 2.12
|
|
import QtLocation 5.12
|
|
import QtPositioning 5.12
|
|
|
|
MapItemGroup {
|
|
id: atcRing
|
|
|
|
signal selected(real latitude, real longitude, string frequency)
|
|
|
|
property alias position: mainCircle.center
|
|
property alias radius: mainCircle.radius
|
|
property alias cs: idCallsignText.text
|
|
property alias freqAsString: idFrequency.text
|
|
property int freqKhz: 122800
|
|
|
|
MapCircle {
|
|
id: mainCircle
|
|
color: 'green'
|
|
border.width: 3
|
|
border.color: 'green'
|
|
opacity: 0.3
|
|
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
onClicked: {
|
|
idCallsign.visible = !idCallsign.visible
|
|
}
|
|
onDoubleClicked: {
|
|
atcRing.selected(mainCircle.center.latitude, mainCircle.center.longitude, atcRing.freqKhz)
|
|
}
|
|
}
|
|
}
|
|
|
|
MapQuickItem {
|
|
id: circleCenter
|
|
sourceItem: Rectangle { width: 6; height: 6; color: "#000000"; border.width: 2; border.color: "#000000"; smooth: true; radius: 3 }
|
|
coordinate: mainCircle.center
|
|
opacity:1.0
|
|
anchorPoint: Qt.point(sourceItem.width/2, sourceItem.height/2)
|
|
}
|
|
|
|
MapQuickItem {
|
|
id: idCallsign
|
|
visible: false
|
|
coordinate: mainCircle.center
|
|
anchorPoint: Qt.point(-circleCenter.sourceItem.width * 0.5, circleCenter.sourceItem.height * -1.5)
|
|
|
|
sourceItem: Item {
|
|
|
|
Rectangle {
|
|
color: "#FFFFFF"
|
|
width: idCallsignText.width * 1.3
|
|
height: (idCallsignText.height + idFrequency.height) * 1.3
|
|
border.width: 2
|
|
border.color: "#000000"
|
|
radius: 5
|
|
}
|
|
|
|
Text {
|
|
id: idCallsignText
|
|
color:"#000000"
|
|
font.bold: true
|
|
}
|
|
|
|
Text {
|
|
id: idFrequency
|
|
color:"#000000"
|
|
anchors.top: idCallsignText.bottom
|
|
}
|
|
}
|
|
}
|
|
}
|