Files
pilotclient/samples/afvclient/qml/AtcRing.qml
Lars Toenning bcc4bdd31e Add SPDX identifiers for REUSE compliance
Co-authored-by: Mat Sutcliffe <oktal3700@gmail.com>
2023-10-03 09:29:49 +02:00

80 lines
2.2 KiB
QML

/*
* SPDX-FileCopyrightText: Copyright (C) swift Project Community / Contributors
* SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
*/
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
}
}
}
}