diff options
Diffstat (limited to 'sample-qml/apps/HVAC_org/TempSlider.qml')
-rw-r--r-- | sample-qml/apps/HVAC_org/TempSlider.qml | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/sample-qml/apps/HVAC_org/TempSlider.qml b/sample-qml/apps/HVAC_org/TempSlider.qml new file mode 100644 index 0000000..f5500e4 --- /dev/null +++ b/sample-qml/apps/HVAC_org/TempSlider.qml @@ -0,0 +1,61 @@ +/* Copyright (C) 2015, Jaguar Land Rover. All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import QtQuick 2.0 +import utils 1.0 +import "models" + +Item { + id: root + width: 64 + height: 716 + + property real value: HVACModel[propertyName] + property string propertyName: side + "Temperature" + property string side: "left" + + function setProperty(v) { + HVACModel[propertyName] = Math.min(Math.max(v, 0), 1) + } + + Rectangle { + anchors.fill: parent + color: "#4a53b5ce" + } + + Rectangle { + width: parent.width + height: value * parent.height + color: Style.orangeViv + anchors.bottom: parent.bottom + } + + Rectangle { + x: side === "left" ? parent.width + 30 : -30 + width: 2 + height: value * parent.height + anchors.bottom: parent.bottom + color: Style.orangeLt + + Image { + width: 30 + height: width + anchors.verticalCenter: parent.top + anchors.horizontalCenter: parent.horizontalCenter + source: "images/drag_knob.svg" + } + } + + MouseArea { + x: side === "left" ? 0 : -45 + width: parent.width + 45 + height: parent.height + + onPressed: setProperty(1 - mouse.y / height) + onPositionChanged: setProperty(1 - mouse.y / height) + } +} + |