108 lines
2.9 KiB
QML
108 lines
2.9 KiB
QML
import QtQuick
|
|
import QtQuick.Window
|
|
import QtQuick.Controls
|
|
import QtQuick.Controls.Material
|
|
import QtQuick.Layouts
|
|
|
|
|
|
Page {
|
|
id: spaceWeatherDRAP
|
|
anchors.fill: parent
|
|
|
|
objectName: "spaceWeatherDRAPObj"
|
|
|
|
function loadDrapReport(poseidon_data) {
|
|
labelRecovery.text = poseidon_data['DRAP']['Recovery Time']
|
|
labelXrayMsg.text = poseidon_data['DRAP']['XRay Msg']
|
|
labelProtonMsg.text = poseidon_data['DRAP']['Proton Msg']
|
|
|
|
checkUrlExists("https://www.aresvalley.com/poseidon_engine/drap.png", function(exists) {
|
|
if (exists) {
|
|
imageBox.source = "https://www.aresvalley.com/poseidon_engine/drap.png"
|
|
} else {
|
|
imageBox.source = "qrc:///images/artemis_not_available.svg"
|
|
}
|
|
})
|
|
}
|
|
|
|
function checkUrlExists(url, callback) {
|
|
var xhr = new XMLHttpRequest()
|
|
xhr.onreadystatechange = function() {
|
|
if (xhr.readyState === XMLHttpRequest.DONE) {
|
|
callback(xhr.status === 200)
|
|
}
|
|
}
|
|
xhr.open("HEAD", url, true)
|
|
xhr.send()
|
|
}
|
|
|
|
ColumnLayout {
|
|
anchors.fill: parent
|
|
anchors.rightMargin: 20
|
|
anchors.leftMargin: 20
|
|
anchors.bottomMargin: 20
|
|
anchors.topMargin: 20
|
|
|
|
Image {
|
|
id: imageBox
|
|
Layout.fillHeight: true
|
|
Layout.fillWidth: true
|
|
fillMode: Image.PreserveAspectFit
|
|
|
|
}
|
|
|
|
RowLayout {
|
|
Item {
|
|
Layout.fillWidth: true
|
|
}
|
|
Label {
|
|
text: qsTr("RECOVERY TIME:")
|
|
Layout.fillWidth: false
|
|
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
|
|
}
|
|
Label {
|
|
id: labelRecovery
|
|
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
|
|
font.pointSize: 12
|
|
font.bold: true
|
|
}
|
|
Item {
|
|
Layout.fillWidth: true
|
|
}
|
|
}
|
|
|
|
RowLayout {
|
|
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
|
|
Layout.fillWidth: true
|
|
|
|
ColumnLayout {
|
|
Label {
|
|
text: qsTr("X-RAY STATUS")
|
|
}
|
|
Label {
|
|
id: labelXrayMsg
|
|
font.pointSize: 12
|
|
font.bold: true
|
|
}
|
|
}
|
|
|
|
Item {
|
|
Layout.fillWidth: true
|
|
}
|
|
|
|
ColumnLayout {
|
|
Label {
|
|
text: qsTr("PROTON STATUS")
|
|
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
|
|
}
|
|
Label {
|
|
id: labelProtonMsg
|
|
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
|
|
font.pointSize: 12
|
|
font.bold: true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|