132 lines
4.4 KiB
QML
132 lines
4.4 KiB
QML
import QtQuick
|
|
import QtQuick3D
|
|
import QtQuick.Controls.Material
|
|
import QtQuick.Controls
|
|
import QtQuick.Layouts
|
|
import QtQml
|
|
import "."
|
|
|
|
Pane {
|
|
id: root
|
|
Material.theme: darkModeToggle.checked ? Material.Dark : Material.Light
|
|
Material.accent: Material.Green
|
|
leftPadding: 18
|
|
rightPadding: 18
|
|
topPadding: 18
|
|
bottomPadding: 18
|
|
|
|
ColumnLayout {
|
|
anchors.fill: parent
|
|
spacing: 14
|
|
|
|
Toggle {
|
|
id: darkModeToggle
|
|
text: qsTr("Dark mode")
|
|
}
|
|
|
|
GroupBox {
|
|
title: qsTr("Render")
|
|
Layout.fillWidth: true
|
|
|
|
ColumnLayout {
|
|
anchors.fill: parent
|
|
spacing: 10
|
|
|
|
RowLayout {
|
|
Layout.fillWidth: true
|
|
Label { text: qsTr("Mode"); Layout.alignment: Qt.AlignVCenter }
|
|
ComboBox {
|
|
id: renderModeBox
|
|
Layout.fillWidth: true
|
|
model: ["dataViz", "realistic"]
|
|
Component.onCompleted: currentIndex = backend.renderMode === "realistic" ? 1 : 0
|
|
onActivated: backend.renderMode = currentText
|
|
Connections {
|
|
target: backend
|
|
function onRenderModeChanged() {
|
|
renderModeBox.currentIndex = backend.renderMode === "realistic" ? 1 : 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
RowLayout {
|
|
Layout.fillWidth: true
|
|
Label { text: qsTr("Labels"); Layout.alignment: Qt.AlignVCenter }
|
|
ComboBox {
|
|
id: labelModeBox
|
|
Layout.fillWidth: true
|
|
model: ["off", "hover", "always"]
|
|
Component.onCompleted: {
|
|
if (backend.labelMode === "always") labelModeBox.currentIndex = 2
|
|
else if (backend.labelMode === "hover") labelModeBox.currentIndex = 1
|
|
else labelModeBox.currentIndex = 0
|
|
}
|
|
onActivated: backend.labelMode = currentText
|
|
Connections {
|
|
target: backend
|
|
function onLabelModeChanged() {
|
|
if (backend.labelMode === "always") labelModeBox.currentIndex = 2
|
|
else if (backend.labelMode === "hover") labelModeBox.currentIndex = 1
|
|
else labelModeBox.currentIndex = 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Toggle {
|
|
id: legendToggle
|
|
text: qsTr("Legend")
|
|
checked: backend.showLegend
|
|
onCheckedChanged: backend.showLegend = checked
|
|
}
|
|
}
|
|
}
|
|
|
|
GroupBox {
|
|
title: qsTr("Scale")
|
|
Layout.fillWidth: true
|
|
|
|
ColumnLayout {
|
|
anchors.fill: parent
|
|
spacing: 10
|
|
|
|
RowLayout {
|
|
Layout.fillWidth: true
|
|
Label { text: qsTr("Min"); Layout.alignment: Qt.AlignVCenter }
|
|
SpinBox {
|
|
id: minBox
|
|
Layout.fillWidth: true
|
|
from: -999999
|
|
to: 999999
|
|
value: backend.minValue
|
|
onValueModified: backend.minValue = value
|
|
}
|
|
}
|
|
|
|
RowLayout {
|
|
Layout.fillWidth: true
|
|
Label { text: qsTr("Max"); Layout.alignment: Qt.AlignVCenter }
|
|
SpinBox {
|
|
id: maxBox
|
|
Layout.fillWidth: true
|
|
from: -999999
|
|
to: 999999
|
|
value: backend.maxValue
|
|
onValueModified: backend.maxValue = value
|
|
}
|
|
}
|
|
|
|
Legend {
|
|
Layout.alignment: Qt.AlignHCenter
|
|
visible: backend.showLegend
|
|
minValue: backend.minValue
|
|
maxValue: backend.maxValue
|
|
}
|
|
}
|
|
}
|
|
|
|
Item { Layout.fillHeight: true }
|
|
}
|
|
}
|