aboutsummaryrefslogtreecommitdiffstats
path: root/sample-qml/apps/HVAC/TempSlider.qml
diff options
context:
space:
mode:
authorJens Bocklage <jens_bocklage@mentor.com>2016-11-30 12:32:42 +0000
committerGerrit Code Review <gerrit@automotivelinux.org>2016-11-30 12:32:42 +0000
commit39f2f48669ce3a92ccf267d44a7c36beb8abba35 (patch)
tree4ff157d81c1b4efeb5056f74d1954d18f59f3cb1 /sample-qml/apps/HVAC/TempSlider.qml
parent4ccab203994f2472641c429bb4b86535c5128884 (diff)
parentf8ca548fa047968383e9275ead76eacce90fd0a8 (diff)
Merge "Add sample qml application"
Diffstat (limited to 'sample-qml/apps/HVAC/TempSlider.qml')
-rw-r--r--sample-qml/apps/HVAC/TempSlider.qml61
1 files changed, 61 insertions, 0 deletions
diff --git a/sample-qml/apps/HVAC/TempSlider.qml b/sample-qml/apps/HVAC/TempSlider.qml
new file mode 100644
index 0000000..f5500e4
--- /dev/null
+++ b/sample-qml/apps/HVAC/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)
+ }
+}
+