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("TachoMeter")
SectionLayout {
Label {
text: qsTr("Actual RPM")
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.actualRPM
minimumValue: backendValues.minimumRPM.value
maximumValue: backendValues.maximumRPM.value
decimals: 0
}
Controls.Slider {
id: rpmSlider
Layout.preferredWidth: 100
minimumValue: backendValues.minimumRPM.value
maximumValue: backendValues.maximumRPM.value
updateValueWhileDragging: true
stepSize: 1
value: backendValues.actualRPM.value
onValueChanged: {
backendValues.actualRPM.value = rpmSlider.value
}
}
ExpandingSpacer {
width: 30
}
}
Label {
text: qsTr("Maximum RPM")
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.maximumRPM
minimumValue: 0
maximumValue: 10000
decimals: 0
}
Controls.Slider {
id: maximumRPMSlider
Layout.preferredWidth: 100
minimumValue: 0
maximumValue: 10000
updateValueWhileDragging: true
stepSize: 1
value: backendValues.maximumRPM.value
onValueChanged: {
backendValues.maximumRPM.value = maximumRPMSlider.value
}
}
ExpandingSpacer {
width: 30
}
}
Label {
text: qsTr("Minimum RPM")
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.minimumRPM
minimumValue: 0
maximumValue: 10000
decimals: 0
}
Controls.Slider {
id: minimumRPMSlider
Layout.preferredWidth: 100
minimumValue: 0
maximumValue: 10000
updateValueWhileDragging: true
stepSize: 1
value: backendValues.minimumRPM.value
onValueChanged: {
backendValues.minimumRPM.value = minimumRPMSlider.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
}
}
}
}
}