C
Qt Cluster: Rendering and Recovery from Main UI Failure
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
// This file is part of the Qt Safe Renderer module
import QtQuick
import HelperWidgets
import QtQuick.Layouts
import QtQuick.Controls as Controls
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("SpeedoMeter")
SectionLayout {
Label {
text: qsTr("Actual Speed")
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.actualSpeed
minimumValue: backendValues.minimumSpeed.value
maximumValue: backendValues.maximumSpeed.value
decimals: 0
}
Controls.Slider {
id: speedSlider
Layout.preferredWidth: 100
minimumValue: backendValues.minimumSpeed.value
maximumValue: backendValues.maximumSpeed.value
updateValueWhileDragging: true
stepSize: 1
value: backendValues.actualSpeed.value
onValueChanged: {
backendValues.actualSpeed.value = speedSlider.value
}
}
ExpandingSpacer {
width: 30
}
}
Label {
text: qsTr("Maximum Speed")
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.maximumSpeed
minimumValue: 0
maximumValue: 1000
decimals: 0
}
Controls.Slider {
id: maximumSpeedSlider
Layout.preferredWidth: 100
minimumValue: 0
maximumValue: 1000
updateValueWhileDragging: true
stepSize: 1
value: backendValues.maximumSpeed.value
onValueChanged: {
backendValues.maximumSpeed.value = maximumSpeedSlider.value
}
}
ExpandingSpacer {
width: 30
}
}
Label {
text: qsTr("Minimum Speed")
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.minimumSpeed
minimumValue: 0
maximumValue: 1000
decimals: 0
}
Controls.Slider {
id: minimumSpeedSlider
Layout.preferredWidth: 100
minimumValue: 0
maximumValue: 1000
updateValueWhileDragging: true
stepSize: 1
value: backendValues.minimumSpeed.value
onValueChanged: {
backendValues.minimumSpeed.value = minimumSpeedSlider.value
}
}
ExpandingSpacer {
width: 30
}
}
Label {
text: qsTr("Maximum Value Angle")
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.maxValueAngle
minimumValue: 0
maximumValue: 360
decimals: 0
}
Controls.Slider {
id: maxValueAngleSlider
Layout.preferredWidth: 100
minimumValue: 0
maximumValue: 360
updateValueWhileDragging: true
stepSize: 1
value: backendValues.maxValueAngle.value
onValueChanged: {
backendValues.maxValueAngle.value = maxValueAngleSlider.value
}
}
ExpandingSpacer {
width: 30
}
}
Label {
text: qsTr("Minimum Value Angle")
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.minValueAngle
minimumValue: 0
maximumValue: 360
decimals: 0
}
Controls.Slider {
id: minValueAngleSlider
Layout.preferredWidth: 100
minimumValue: 0
maximumValue: 360
updateValueWhileDragging: true
stepSize: 1
value: backendValues.minValueAngle.value
onValueChanged: {
backendValues.minValueAngle.value = minValueAngleSlider.value
}
}
ExpandingSpacer {
width: 30
}
}
}
}
}