mirror of
https://github.com/overte-org/overte.git
synced 2025-04-26 21:56:15 +02:00
66 lines
1.6 KiB
QML
66 lines
1.6 KiB
QML
//
|
|
// ConfigSlider.qml
|
|
// examples/utilities/tools/render
|
|
//
|
|
// Created by Zach Pomerantz on 2/8/2016
|
|
// Copyright 2016 High Fidelity, Inc.
|
|
//
|
|
// Distributed under the Apache License, Version 2.0.
|
|
// See the accompanying file LICENSE or https://www.apache.org/licenses/LICENSE-2.0.html
|
|
//
|
|
import QtQuick 2.5
|
|
import QtQuick.Controls 1.4
|
|
|
|
Item {
|
|
id: root
|
|
width: 400
|
|
height: 24
|
|
property bool integral: false
|
|
property var config
|
|
property string property
|
|
property alias label: labelControl.text
|
|
property alias min: sliderControl.minimumValue
|
|
property alias max: sliderControl.maximumValue
|
|
|
|
Component.onCompleted: {
|
|
// Binding favors qml value, so set it first
|
|
sliderControl.value = root.config[root.property];
|
|
bindingControl.when = true;
|
|
}
|
|
|
|
Label {
|
|
id: labelControl
|
|
text: root.label
|
|
anchors.left: root.left
|
|
anchors.leftMargin: 8
|
|
anchors.top: root.top
|
|
anchors.topMargin: 7
|
|
}
|
|
|
|
Label {
|
|
text: sliderControl.value.toFixed(root.integral ? 0 : 2)
|
|
anchors.left: root.left
|
|
anchors.leftMargin: 200
|
|
anchors.top: root.top
|
|
anchors.topMargin: 7
|
|
}
|
|
|
|
Binding {
|
|
id: bindingControl
|
|
target: root.config
|
|
property: root.property
|
|
value: sliderControl.value
|
|
when: false
|
|
}
|
|
|
|
Slider {
|
|
id: sliderControl
|
|
stepSize: root.integral ? 1.0 : 0.0
|
|
width: 150
|
|
height: 20
|
|
anchors.right: root.right
|
|
anchors.rightMargin: 8
|
|
anchors.top: root.top
|
|
anchors.topMargin: 3
|
|
}
|
|
}
|