aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--HomeScreen.pro3
-rw-r--r--sample-qml/MainForm.ui.qml82
-rw-r--r--sample-qml/README16
-rw-r--r--sample-qml/agl-image.pngbin0 -> 6501 bytes
-rw-r--r--sample-qml/apps/HVAC/ClimateButton.qml34
-rw-r--r--sample-qml/apps/HVAC/FanControl.qml54
-rw-r--r--sample-qml/apps/HVAC/HVAC.qml93
-rw-r--r--sample-qml/apps/HVAC/HazardButton.qml37
-rw-r--r--sample-qml/apps/HVAC/MiddleColumn.qml33
-rw-r--r--sample-qml/apps/HVAC/SeatHeatButton.qml41
-rw-r--r--sample-qml/apps/HVAC/TempSlider.qml61
-rw-r--r--sample-qml/apps/HVAC/TemperatureWheel.qml56
-rw-r--r--sample-qml/apps/HVAC/images/defrost_front_off.pngbin0 -> 3972 bytes
-rw-r--r--sample-qml/apps/HVAC/images/defrost_front_off.svg94
-rw-r--r--sample-qml/apps/HVAC/images/defrost_front_on.pngbin0 -> 15311 bytes
-rw-r--r--sample-qml/apps/HVAC/images/defrost_front_on.svg247
-rw-r--r--sample-qml/apps/HVAC/images/defrost_max_off.pngbin0 -> 10833 bytes
-rw-r--r--sample-qml/apps/HVAC/images/defrost_max_off.svg189
-rw-r--r--sample-qml/apps/HVAC/images/defrost_max_on.pngbin0 -> 16751 bytes
-rw-r--r--sample-qml/apps/HVAC/images/defrost_max_on.svg267
-rw-r--r--sample-qml/apps/HVAC/images/defrost_rear_off.pngbin0 -> 3298 bytes
-rw-r--r--sample-qml/apps/HVAC/images/defrost_rear_off.svg80
-rw-r--r--sample-qml/apps/HVAC/images/defrost_rear_on.pngbin0 -> 13514 bytes
-rw-r--r--sample-qml/apps/HVAC/images/defrost_rear_on.svg244
-rw-r--r--sample-qml/apps/HVAC/images/drag_knob.svg13
-rw-r--r--sample-qml/apps/HVAC/images/fan_bar_off.pngbin0 -> 1238 bytes
-rwxr-xr-xsample-qml/apps/HVAC/images/fan_bar_on.pngbin0 -> 1638 bytes
-rw-r--r--sample-qml/apps/HVAC/images/fan_bar_on.svg39
-rw-r--r--sample-qml/apps/HVAC/images/fan_control_ac_off.pngbin0 -> 1869 bytes
-rw-r--r--sample-qml/apps/HVAC/images/fan_control_ac_off.svg68
-rw-r--r--sample-qml/apps/HVAC/images/fan_control_ac_on.pngbin0 -> 11527 bytes
-rw-r--r--sample-qml/apps/HVAC/images/fan_control_ac_on.svg275
-rw-r--r--sample-qml/apps/HVAC/images/fan_control_auto_off.pngbin0 -> 2043 bytes
-rw-r--r--sample-qml/apps/HVAC/images/fan_control_auto_off.svg63
-rw-r--r--sample-qml/apps/HVAC/images/fan_control_auto_on.pngbin0 -> 7572 bytes
-rw-r--r--sample-qml/apps/HVAC/images/fan_control_auto_on.svg282
-rw-r--r--sample-qml/apps/HVAC/images/fan_control_circ_off.pngbin0 -> 2519 bytes
-rw-r--r--sample-qml/apps/HVAC/images/fan_control_circ_off.svg70
-rw-r--r--sample-qml/apps/HVAC/images/fan_control_circ_on.pngbin0 -> 13733 bytes
-rw-r--r--sample-qml/apps/HVAC/images/fan_control_circ_on.svg173
-rw-r--r--sample-qml/apps/HVAC/images/fan_dir_down_off.pngbin0 -> 5972 bytes
-rw-r--r--sample-qml/apps/HVAC/images/fan_dir_down_off.svg196
-rw-r--r--sample-qml/apps/HVAC/images/fan_dir_down_on.pngbin0 -> 16004 bytes
-rw-r--r--sample-qml/apps/HVAC/images/fan_dir_down_on.svg201
-rw-r--r--sample-qml/apps/HVAC/images/fan_dir_right_off.pngbin0 -> 2208 bytes
-rw-r--r--sample-qml/apps/HVAC/images/fan_dir_right_off.svg67
-rw-r--r--sample-qml/apps/HVAC/images/fan_dir_right_on.pngbin0 -> 9662 bytes
-rw-r--r--sample-qml/apps/HVAC/images/fan_dir_right_on.svg227
-rw-r--r--sample-qml/apps/HVAC/images/fan_dir_up_off.pngbin0 -> 2229 bytes
-rw-r--r--sample-qml/apps/HVAC/images/fan_dir_up_off.svg64
-rw-r--r--sample-qml/apps/HVAC/images/fan_dir_up_on.pngbin0 -> 12961 bytes
-rw-r--r--sample-qml/apps/HVAC/images/fan_dir_up_on.svg244
-rw-r--r--sample-qml/apps/HVAC/images/fan_icon_off.pngbin0 -> 2178 bytes
-rw-r--r--sample-qml/apps/HVAC/images/hazard_blink.pngbin0 -> 3441 bytes
-rw-r--r--sample-qml/apps/HVAC/images/hazard_blink.svg14
-rw-r--r--sample-qml/apps/HVAC/images/hazard_off.pngbin0 -> 3572 bytes
-rw-r--r--sample-qml/apps/HVAC/images/hazard_off.svg40
-rw-r--r--sample-qml/apps/HVAC/images/hazard_on.pngbin0 -> 15998 bytes
-rw-r--r--sample-qml/apps/HVAC/images/hazard_on.svg174
-rw-r--r--sample-qml/apps/HVAC/images/left_heat_seat_off.pngbin0 -> 12313 bytes
-rw-r--r--sample-qml/apps/HVAC/images/left_heat_seat_off.svg27
-rw-r--r--sample-qml/apps/HVAC/images/left_heat_seat_on.pngbin0 -> 1614 bytes
-rw-r--r--sample-qml/apps/HVAC/images/left_heat_seat_on.svg66
-rw-r--r--sample-qml/apps/HVAC/images/left_number_bg.svg35
-rw-r--r--sample-qml/apps/HVAC/images/left_number_cover.svg19
-rw-r--r--sample-qml/apps/HVAC/images/right_heat_seat_off.pngbin0 -> 12275 bytes
-rw-r--r--sample-qml/apps/HVAC/images/right_heat_seat_off.svg52
-rw-r--r--sample-qml/apps/HVAC/images/right_heat_seat_on.pngbin0 -> 1712 bytes
-rw-r--r--sample-qml/apps/HVAC/images/right_heat_seat_on.svg117
-rw-r--r--sample-qml/apps/HVAC/images/right_number_bg.svg37
-rw-r--r--sample-qml/apps/HVAC/images/right_number_cover.svg40
-rw-r--r--sample-qml/apps/HVAC/images/separator.pngbin0 -> 3645 bytes
-rw-r--r--sample-qml/apps/HVAC/images/static_parts_bg.svg1031
-rw-r--r--sample-qml/apps/HVAC/images/temp_bar_on_left.svg271
-rw-r--r--sample-qml/apps/HVAC/images/temp_bar_on_right.svg282
-rw-r--r--sample-qml/apps/HVAC/models/HVACModel.qml47
-rw-r--r--sample-qml/apps/HVAC/models/TemperatureModel.qml28
-rw-r--r--sample-qml/apps/HVAC/models/qmldir8
-rw-r--r--sample-qml/apps/HVAC_org/ClimateButton.qml30
-rw-r--r--sample-qml/apps/HVAC_org/FanControl.qml54
-rw-r--r--sample-qml/apps/HVAC_org/HVAC.qml89
-rw-r--r--sample-qml/apps/HVAC_org/HazardButton.qml37
-rw-r--r--sample-qml/apps/HVAC_org/MiddleColumn.qml33
-rw-r--r--sample-qml/apps/HVAC_org/SeatHeatButton.qml39
-rw-r--r--sample-qml/apps/HVAC_org/TempSlider.qml61
-rw-r--r--sample-qml/apps/HVAC_org/TemperatureWheel.qml56
-rw-r--r--sample-qml/apps/HVAC_org/images/defrost_front_off.pngbin0 -> 9832 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/defrost_front_off.svg94
-rw-r--r--sample-qml/apps/HVAC_org/images/defrost_front_on.pngbin0 -> 15576 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/defrost_front_on.svg247
-rw-r--r--sample-qml/apps/HVAC_org/images/defrost_max_off.pngbin0 -> 10958 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/defrost_max_off.svg189
-rw-r--r--sample-qml/apps/HVAC_org/images/defrost_max_on.pngbin0 -> 17034 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/defrost_max_on.svg267
-rw-r--r--sample-qml/apps/HVAC_org/images/defrost_rear_off.pngbin0 -> 6949 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/defrost_rear_off.svg80
-rw-r--r--sample-qml/apps/HVAC_org/images/defrost_rear_on.pngbin0 -> 13723 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/defrost_rear_on.svg244
-rw-r--r--sample-qml/apps/HVAC_org/images/drag_knob.svg13
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_bar_off.pngbin0 -> 1694 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_bar_on.pngbin0 -> 18765 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_bar_on.svg39
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_control_ac_off.pngbin0 -> 3332 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_control_ac_off.svg68
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_control_ac_on.pngbin0 -> 11685 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_control_ac_on.svg275
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_control_auto_off.pngbin0 -> 3702 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_control_auto_off.svg63
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_control_auto_on.pngbin0 -> 7717 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_control_auto_on.svg282
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_control_circ_off.pngbin0 -> 5149 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_control_circ_off.svg70
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_control_circ_on.pngbin0 -> 13892 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_control_circ_on.svg173
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_dir_down_off.pngbin0 -> 6050 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_dir_down_off.svg196
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_dir_down_on.pngbin0 -> 16220 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_dir_down_on.svg201
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_dir_right_off.pngbin0 -> 4396 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_dir_right_off.svg67
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_dir_right_on.pngbin0 -> 9849 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_dir_right_on.svg227
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_dir_up_off.pngbin0 -> 4419 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_dir_up_off.svg64
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_dir_up_on.pngbin0 -> 13095 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_dir_up_on.svg244
-rw-r--r--sample-qml/apps/HVAC_org/images/fan_icon_off.pngbin0 -> 3867 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/hazard_blink.pngbin0 -> 6517 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/hazard_blink.svg14
-rw-r--r--sample-qml/apps/HVAC_org/images/hazard_off.pngbin0 -> 7614 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/hazard_off.svg40
-rw-r--r--sample-qml/apps/HVAC_org/images/hazard_on.pngbin0 -> 16182 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/hazard_on.svg174
-rw-r--r--sample-qml/apps/HVAC_org/images/left_heat_seat_off.pngbin0 -> 12426 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/left_heat_seat_off.svg27
-rw-r--r--sample-qml/apps/HVAC_org/images/left_heat_seat_on.pngbin0 -> 1883 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/left_heat_seat_on.svg66
-rw-r--r--sample-qml/apps/HVAC_org/images/left_number_bg.svg35
-rw-r--r--sample-qml/apps/HVAC_org/images/left_number_cover.svg19
-rw-r--r--sample-qml/apps/HVAC_org/images/right_heat_seat_off.pngbin0 -> 12372 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/right_heat_seat_off.svg52
-rw-r--r--sample-qml/apps/HVAC_org/images/right_heat_seat_on.pngbin0 -> 1973 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/right_heat_seat_on.svg117
-rw-r--r--sample-qml/apps/HVAC_org/images/right_number_bg.svg37
-rw-r--r--sample-qml/apps/HVAC_org/images/right_number_cover.svg40
-rw-r--r--sample-qml/apps/HVAC_org/images/separator.pngbin0 -> 5633 bytes
-rw-r--r--sample-qml/apps/HVAC_org/images/static_parts_bg.svg1031
-rw-r--r--sample-qml/apps/HVAC_org/images/temp_bar_on_left.svg271
-rw-r--r--sample-qml/apps/HVAC_org/images/temp_bar_on_right.svg282
-rw-r--r--sample-qml/apps/HVAC_org/models/HVACModel.qml47
-rw-r--r--sample-qml/apps/HVAC_org/models/TemperatureModel.qml28
-rw-r--r--sample-qml/apps/HVAC_org/models/qmldir8
-rw-r--r--sample-qml/calledbyqml.cpp38
-rw-r--r--sample-qml/calledbyqml.h22
-rw-r--r--sample-qml/config.xml9
-rw-r--r--sample-qml/deployment.pri13
-rw-r--r--sample-qml/dummyimports/amb/AutomotivePropertyItem.qml7
-rw-r--r--sample-qml/dummyimports/amb/qmldir2
-rw-r--r--sample-qml/dummyimports/com/pelagicore/qmldevinfo/DevInfo.qml18
-rw-r--r--sample-qml/dummyimports/com/pelagicore/qmldevinfo/qmldir7
-rw-r--r--sample-qml/dummyimports/radio/Radio.qml6
-rw-r--r--sample-qml/dummyimports/radio/qmldir2
-rw-r--r--sample-qml/imports/components/AwesomeIcon.qml26
-rw-r--r--sample-qml/imports/components/Box.qml49
-rw-r--r--sample-qml/imports/components/BoxButton.qml36
-rw-r--r--sample-qml/imports/components/BoxHeading.qml37
-rw-r--r--sample-qml/imports/components/Button.qml30
-rw-r--r--sample-qml/imports/components/DateTime.qml35
-rw-r--r--sample-qml/imports/components/HexGrid.qml32
-rw-r--r--sample-qml/imports/components/HexSwitch.qml80
-rw-r--r--sample-qml/imports/components/InShadow.qml33
-rw-r--r--sample-qml/imports/components/InsetShadow.qml40
-rw-r--r--sample-qml/imports/components/Label.qml27
-rw-r--r--sample-qml/imports/components/NumberPad.qml101
-rw-r--r--sample-qml/imports/components/OutShadow.qml41
-rw-r--r--sample-qml/imports/components/Switch.qml13
-rw-r--r--sample-qml/imports/components/qmldir16
-rw-r--r--sample-qml/imports/radio/Radio.qml6
-rw-r--r--sample-qml/imports/radio/qmldir2
-rw-r--r--sample-qml/imports/system/App.qml35
-rw-r--r--sample-qml/imports/system/App.qml.org29
-rw-r--r--sample-qml/imports/system/System.qml15
-rw-r--r--sample-qml/imports/system/qmldir8
-rw-r--r--sample-qml/imports/utils/Marker.qml60
-rw-r--r--sample-qml/imports/utils/Style.qml37
-rw-r--r--sample-qml/imports/utils/qmldir8
-rw-r--r--sample-qml/imports/vehicle/ClimateModel.qml44
-rw-r--r--sample-qml/imports/vehicle/FuelModel.qml46
-rw-r--r--sample-qml/imports/vehicle/PositionModel.qml33
-rw-r--r--sample-qml/imports/vehicle/SpeedModel.qml38
-rw-r--r--sample-qml/imports/vehicle/TemperatureModel.qml26
-rw-r--r--sample-qml/imports/vehicle/qmldir11
-rw-r--r--sample-qml/main.cpp75
-rw-r--r--sample-qml/main.qml38
-rw-r--r--sample-qml/main2.qml27
-rw-r--r--sample-qml/qml.qrc22
-rwxr-xr-xsample-qml/sample-qmlbin0 -> 685048 bytes
-rw-r--r--sample-qml/sample-qml.pro22
-rw-r--r--sample-qml/zip-command1
199 files changed, 12993 insertions, 1 deletions
diff --git a/HomeScreen.pro b/HomeScreen.pro
index 0ad6867..ec20600 100644
--- a/HomeScreen.pro
+++ b/HomeScreen.pro
@@ -27,7 +27,8 @@ SUBDIRS = interfaces \
WindowManager \
SampleHomeScreenInterfaceApp \
SampleNavigationApp \
- SampleMediaApp
+ SampleMediaApp \
+ sample-qml \
HomeScreen.depends = interfaces
HomeScreenSimulator.depends = interfaces
diff --git a/sample-qml/MainForm.ui.qml b/sample-qml/MainForm.ui.qml
new file mode 100644
index 0000000..23f26fb
--- /dev/null
+++ b/sample-qml/MainForm.ui.qml
@@ -0,0 +1,82 @@
+import QtQuick 2.6
+
+Rectangle {
+ id: rectangle1
+ property alias mouseArea: mouseArea
+
+ width: 360
+ height: 360
+ color: "#dfe259"
+ property alias layout_permission: layout_permission
+ z: 2147483646
+ property alias image1: image1
+
+ MouseArea {
+ id: mouseArea
+ anchors.rightMargin: 0
+ anchors.bottomMargin: 0
+ anchors.leftMargin: 0
+ anchors.topMargin: 0
+ anchors.fill: parent
+
+ Rectangle {
+ id: layout_permission
+ x: 35
+ y: 53
+ width: 160
+ height: 47
+ gradient: Gradient {
+ GradientStop {
+ position: 0
+ color: "#ffffff"
+ }
+
+ GradientStop {
+ position: 1
+ color: "#ecfcec"
+ }
+ }
+ signal buttonClick()
+
+
+ Text {
+ id: text1
+ x: 5
+ y: 9
+ width: 151
+ height: 30
+ color: "#f25728"
+ text: qsTr("Ask layout permission")
+ style: Text.Normal
+ styleColor: "#86ecae"
+ verticalAlignment: Text.AlignVCenter
+ horizontalAlignment: Text.AlignHCenter
+ wrapMode: Text.NoWrap
+ font.pixelSize: 12
+ }
+ }
+
+ Image {
+ id: image1
+ x: -2
+ y: 90
+ width: 360
+ height: 267
+ opacity: 0.2
+ z: 0
+ source: "agl-image.png"
+ }
+ }
+
+ Text {
+ text: "AGL sample app"
+ anchors.bottom: parent.bottom
+ anchors.bottomMargin: 326
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.top: parent.top
+ anchors.topMargin: 17
+ font.italic: true
+ font.bold: true
+ anchors.horizontalCenterOffset: -104
+ }
+}
diff --git a/sample-qml/README b/sample-qml/README
new file mode 100644
index 0000000..9ff6d67
--- /dev/null
+++ b/sample-qml/README
@@ -0,0 +1,16 @@
+How to create and install sample qml application
+
+$ cd ${sample-qml-build-directory} // in build directory
+Copy appropriate file to build-directory. See following example
+$ ls ${sample-qml-build-directory}
+MainForm.ui.qml apps dummyimports main.qml sample-qml
+agl-image.png config.xml imports main2.qml
+
+$ zip -q -r sample-qml.wgt .
+$ cp sample-qml.wgt ${SDCARD}/home/root
+
+then boot sd card
+# afm-util install sample-qml.wgt
+reboot
+# afm-util start sample-qml@0.1
+or Click and start from HomeScreen
diff --git a/sample-qml/agl-image.png b/sample-qml/agl-image.png
new file mode 100644
index 0000000..799ae6f
--- /dev/null
+++ b/sample-qml/agl-image.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/ClimateButton.qml b/sample-qml/apps/HVAC/ClimateButton.qml
new file mode 100644
index 0000000..9a59202
--- /dev/null
+++ b/sample-qml/apps/HVAC/ClimateButton.qml
@@ -0,0 +1,34 @@
+/* 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 "models"
+
+Rectangle {
+ id: root
+
+ width: imageItem.width
+ height: imageItem.height
+ color: "#aa000000"
+
+ property string target: ""
+ property string image: ""
+ property bool value: HVACModel[target]
+
+ Image {
+ id: imageItem
+ source: "images/" + image + "_" + (value ? "on" : "off") + ".png"
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ HVACModel[target] = !HVACModel[target]
+ hsa.consoleout()
+ hsa.refresh()
+ }
+ }
+}
diff --git a/sample-qml/apps/HVAC/FanControl.qml b/sample-qml/apps/HVAC/FanControl.qml
new file mode 100644
index 0000000..00e6f9e
--- /dev/null
+++ b/sample-qml/apps/HVAC/FanControl.qml
@@ -0,0 +1,54 @@
+/* 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 "models"
+
+Item {
+ width: childrenRect.width
+ height: childrenRect.height
+
+ property real value: 0
+
+ Image {
+ y: 15
+ source: "images/fan_icon_off.png"
+ }
+
+ Image {
+ id: fanBar
+ x: 100
+ source: "images/fan_bar_off.png"
+ }
+
+ Image {
+ x: 100
+ width: value * fanBar.width
+ fillMode: Image.PreserveAspectCrop
+ horizontalAlignment: Image.AlignLeft
+ source: "images/fan_bar_on.png"
+
+ Image {
+ width: 20
+ height: width
+ anchors.verticalCenter: parent.bottom
+ anchors.verticalCenterOffset: -1
+ anchors.horizontalCenter: parent.right
+ source: "images/drag_knob.svg"
+ }
+ }
+
+ MouseArea {
+ x: 100
+ width: fanBar.width
+ height: parent.height
+
+ onPositionChanged: {
+ value = Math.min(Math.max(mouse.x / fanBar.width, 0), 1)
+ HVACModel.fanSpeed = value;
+ }
+ }
+}
diff --git a/sample-qml/apps/HVAC/HVAC.qml b/sample-qml/apps/HVAC/HVAC.qml
new file mode 100644
index 0000000..bde9889
--- /dev/null
+++ b/sample-qml/apps/HVAC/HVAC.qml
@@ -0,0 +1,93 @@
+/* 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 system 1.0
+import utils 1.0
+import "models"
+
+App {
+ appId: "hvac"
+
+ HazardButton {
+ id: hazardButton
+ y: 100
+ anchors.horizontalCenter: parent.horizontalCenter
+ }
+
+ TempSlider {
+ id: lTempSlider
+ x: 30
+ anchors.top: hazardButton.bottom
+ anchors.topMargin: 115
+ side: "left"
+ }
+
+ Row {
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.top: hazardButton.bottom
+ anchors.topMargin: 90
+ spacing: 200
+
+
+ MiddleColumn { side: "left" }
+ MiddleColumn { side: "right" }
+ }
+
+ TempSlider {
+ id: rTempSlider
+ anchors.top: hazardButton.bottom
+ anchors.topMargin: 115
+ anchors.right: parent.right
+ anchors.rightMargin: 30
+ side: "right"
+ }
+
+ Image {
+ y: 1057
+ source: "images/separator.png"
+ }
+
+ FanControl {
+ x: 259
+ y: 1092
+ }
+
+ Item {
+ anchors.horizontalCenter: parent.horizontalCenter
+ width: childrenRect.width
+ height: childrenRect.height
+ anchors.bottom: parent.bottom
+ anchors.bottomMargin: 40
+
+ Row {
+ spacing: 20
+
+ Column {
+ spacing: 10
+
+ ClimateButton { image: "fan_dir_down"; target: "fanDown" }
+ ClimateButton { image: "fan_dir_right"; target: "fanRight" }
+ ClimateButton { image: "fan_dir_up"; target: "fanUp" }
+ }
+
+ ClimateButton {
+ y: 156
+ image: "fan_control_ac"; target: "fanAC"
+ }
+ ClimateButton { y: 156; image: "fan_control_auto"; target: "fanAuto" }
+ ClimateButton { y: 156; image: "fan_control_circ"; target: "fanRecirc" }
+
+ Column {
+ spacing: 10
+
+ ClimateButton { image: "defrost_max"; target: "defrostMax" }
+ ClimateButton { image: "defrost_rear"; target: "defrostRear" }
+ ClimateButton { image: "defrost_front"; target: "defrostFront" }
+ }
+ }
+ }
+}
diff --git a/sample-qml/apps/HVAC/HazardButton.qml b/sample-qml/apps/HVAC/HazardButton.qml
new file mode 100644
index 0000000..ffae370
--- /dev/null
+++ b/sample-qml/apps/HVAC/HazardButton.qml
@@ -0,0 +1,37 @@
+/* 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
+
+Rectangle {
+ id: hazardButton
+ width: 624
+ height: 122
+ color: "#aa000000"
+ border.color: "#ff53b5ce"
+
+ property bool value: false
+ property bool flash: false
+
+ Image {
+ id: image
+ source: "./images/hazard_" + (value ? (flash ? "blink" : "on") : "off") + ".png"
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: value = !value
+ }
+
+ Timer {
+ id: timer
+ interval: 500
+ repeat: true
+ running: value
+
+ onTriggered: flash = !flash
+ }
+}
diff --git a/sample-qml/apps/HVAC/MiddleColumn.qml b/sample-qml/apps/HVAC/MiddleColumn.qml
new file mode 100644
index 0000000..89f0ebe
--- /dev/null
+++ b/sample-qml/apps/HVAC/MiddleColumn.qml
@@ -0,0 +1,33 @@
+/* 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 components 1.0
+import utils 1.0
+
+Item {
+ id: root
+
+ width: 239
+ height: 800
+
+ property string side: "left"
+
+ Column {
+ spacing: 50
+
+ BoxHeading {
+ color: Style.orangeViv
+ boxWidth: 45
+ boxHeight: 19
+ fontSize: 27
+ text: (side === "left" ? "L" : "R" ) + " CLIMATE"
+ }
+
+ SeatHeatButton { side: root.side }
+ TemperatureWheel { side: root.side }
+ }
+}
diff --git a/sample-qml/apps/HVAC/SeatHeatButton.qml b/sample-qml/apps/HVAC/SeatHeatButton.qml
new file mode 100644
index 0000000..fc5a2eb
--- /dev/null
+++ b/sample-qml/apps/HVAC/SeatHeatButton.qml
@@ -0,0 +1,41 @@
+/* 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 "models"
+
+Rectangle {
+ width: 239
+ height: 194
+ color: "#aa000000"
+ border.color: "#ff53b5ce"
+
+ property string side: "left"
+ property string propertyName: side + "SeatHeat"
+ property int seatHeat: HVACModel[propertyName]
+
+ Image {
+ source: "./images/" + side + "_heat_seat_off.png"
+ }
+
+ Image {
+ y: 150 - seatHeat*40
+ height: implicitHeight - y
+ fillMode: Image.Tile
+ verticalAlignment: Image.AlignBottom
+ source: "./images/" + side + "_heat_seat_on.png"
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ var value = HVACModel[propertyName]
+ HVACModel[propertyName] = value > 0 ? value - 1 : 3
+ console.log("seatheatButton is pushed")
+ hsa.showup()
+ }
+ }
+}
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)
+ }
+}
+
diff --git a/sample-qml/apps/HVAC/TemperatureWheel.qml b/sample-qml/apps/HVAC/TemperatureWheel.qml
new file mode 100644
index 0000000..7a59dde
--- /dev/null
+++ b/sample-qml/apps/HVAC/TemperatureWheel.qml
@@ -0,0 +1,56 @@
+/* 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 "models"
+
+Rectangle {
+ width: 237
+ height: 350
+ color: "#aa000000"
+
+ property string side: "left"
+ property string propertyName: side + "Temperature"
+ property real value: HVACModel[propertyName]
+
+ ListView {
+ anchors.fill: parent
+ clip: true
+ snapMode: ListView.SnapToItem
+ model: TemperatureModel
+ header: Item { height: 120 }
+ footer: Item { height: 120 }
+ currentIndex: Math.min(value * count, count - 1)
+ flickDeceleration: 5000
+ onContentYChanged: {
+ if (dragging || flicking) {
+ var item = Math.round((contentY + 120) / 110)
+ item = Math.max(Math.min(item, count - 1), 0)
+ if (item != currentIndex) {
+ var temperature = item / (count - 1)
+ HVACModel[propertyName] = temperature
+ }
+ }
+ }
+ highlightMoveDuration: 100
+ interactive: true
+
+ delegate: Text {
+ x: side === "right" ? 40 : 10
+ height: 110
+ verticalAlignment: Text.AlignVCenter
+ color: "white"
+ font.pixelSize: 70
+ text: model.text
+ }
+ }
+
+ Image {
+ mirror: side === "left"
+ source: "./images/right_number_cover.svg"
+ anchors.fill: parent
+ }
+}
diff --git a/sample-qml/apps/HVAC/images/defrost_front_off.png b/sample-qml/apps/HVAC/images/defrost_front_off.png
new file mode 100644
index 0000000..fe7e5ac
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/defrost_front_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/defrost_front_off.svg b/sample-qml/apps/HVAC/images/defrost_front_off.svg
new file mode 100644
index 0000000..d2f0a6a
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/defrost_front_off.svg
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="123px" height="88px" viewBox="0 0 123 88" enable-background="new 0 0 123 88" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-107.9995" y1="1649" x2="-107.9997" y2="749.8912" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<rect x="575" y="876.898" display="none" fill="#31ABFF" fill-opacity="0.29" stroke="#31ABFF" stroke-width="0.8902" stroke-miterlimit="10" stroke-opacity="0.64" width="122" height="86.563"/>
+<g>
+
+ <rect x="0.5" y="0.719" fill-opacity="0.29" stroke="#FFFFFF" stroke-width="0.8902" stroke-miterlimit="10" stroke-opacity="0.64" width="122" height="86.563"/>
+ <path fill="#B2F0FF" d="M23.32,11.06h10.186v2.645h-6.965v4.871h6.493v2.646h-6.493v7.486H23.32V11.06L23.32,11.06z"/>
+ <path fill="#B2F0FF" d="M36.646,11.296c1.203-0.21,3.012-0.365,4.869-0.365c2.54,0,4.27,0.419,5.446,1.414
+ c0.969,0.812,1.521,2.043,1.521,3.533c0,2.278-1.547,3.823-3.194,4.427v0.078c1.257,0.472,2.016,1.7,2.461,3.402
+ c0.55,2.199,1.021,4.242,1.388,4.923h-3.324c-0.263-0.521-0.682-1.964-1.18-4.163c-0.497-2.305-1.335-3.037-3.168-3.09h-1.623
+ v7.253h-3.192V11.296H36.646L36.646,11.296z M39.842,19.099h1.911c2.174,0,3.535-1.152,3.535-2.906
+ c0-1.938-1.361-2.828-3.456-2.828c-1.021,0-1.676,0.078-1.99,0.157V19.099z"/>
+ <path fill="#B2F0FF" d="M67.204,19.701c0,5.917-3.588,9.295-8.458,9.295c-4.975,0-8.117-3.797-8.117-8.979
+ c0-5.42,3.404-9.243,8.379-9.243C64.166,10.771,67.204,14.674,67.204,19.701z M54.033,19.963c0,3.589,1.807,6.441,4.896,6.441
+ c3.115,0,4.87-2.881,4.87-6.572c0-3.326-1.647-6.468-4.87-6.468C55.735,13.364,54.033,16.323,54.033,19.963z"/>
+ <path fill="#B2F0FF" d="M69.98,28.708V11.061h3.663l4.559,7.565c1.178,1.966,2.199,4.006,3.011,5.918h0.053
+ c-0.21-2.354-0.288-4.635-0.288-7.332v-6.151h2.985v17.646h-3.326l-4.606-7.751c-1.126-1.938-2.306-4.108-3.168-6.101l-0.078,0.025
+ c0.131,2.277,0.155,4.607,0.155,7.516v6.311L69.98,28.708L69.98,28.708z"/>
+ <path fill="#B2F0FF" d="M91.059,13.758h-5.025v-2.696H99.36v2.696h-5.08v14.95h-3.222V13.758L91.059,13.758z"/>
+ <path fill="#B2F0FF" d="M82.873,74.299c-0.681,0-1.354-0.109-2.002-0.326c-12.401-4.18-26.008-4.179-38.407-0.001
+ c-0.647,0.218-1.322,0.327-2.004,0.327c-2.411,0-4.556-1.367-5.463-3.484l-9.131-22.044c-0.485-1.127-0.442-2.462,0.128-3.738
+ c0.858-1.924,2.822-3.56,5.249-4.375c9.819-3.308,20.056-4.983,30.423-4.983s20.604,1.678,30.424,4.984
+ c2.427,0.814,4.389,2.451,5.249,4.375c0.57,1.276,0.612,2.61,0.12,3.758l-9.115,22.005C87.428,72.93,85.283,74.299,82.873,74.299z
+ M61.666,67.59c6.896,0,13.703,1.116,20.234,3.317c0.313,0.104,0.642,0.158,0.973,0.158c1.116,0,2.095-0.6,2.492-1.527
+ l9.115-22.007c0.178-0.413,0.047-0.868-0.095-1.181c-0.385-0.86-1.461-2.004-3.328-2.631c-9.487-3.196-19.378-4.817-29.394-4.817
+ s-19.904,1.621-29.393,4.816c-1.868,0.628-2.943,1.771-3.328,2.631c-0.142,0.312-0.271,0.768-0.103,1.162l9.131,22.045
+ c0.392,0.907,1.368,1.509,2.483,1.509c0.332,0,0.66-0.054,0.976-0.159C47.964,68.706,54.771,67.59,61.666,67.59z"/>
+ <path fill="#B2F0FF" d="M71.662,65.786c-0.538,0-1.034-0.288-1.302-0.755l-7.835-13.686l-7.836,13.686
+ c-0.269,0.467-0.765,0.755-1.303,0.755s-1.034-0.288-1.302-0.755l-7.858-13.726l-4.021,6.778c-0.271,0.455-0.761,0.734-1.29,0.734
+ H32.5c-0.828,0-1.5-0.672-1.5-1.5s0.672-1.5,1.5-1.5h5.563l4.832-8.148c0.019-0.033,0.035-0.067,0.057-0.104
+ c0.269-0.463,0.763-0.748,1.298-0.748c0.539,0,1.04,0.289,1.307,0.758c0.018,0.026,0.029,0.054,0.043,0.081l7.791,13.607
+ l7.771-13.572c0.02-0.043,0.042-0.085,0.063-0.126c0.271-0.463,0.765-0.748,1.3-0.748c0.533,0,1.031,0.285,1.301,0.748
+ c0.018,0.029,0.034,0.06,0.049,0.091l7.791,13.607l7.771-13.572c0.019-0.041,0.038-0.081,0.062-0.12
+ c0.268-0.466,0.764-0.754,1.302-0.754c0.535,0,1.033,0.285,1.302,0.748c0.016,0.023,0.028,0.051,0.043,0.077l4.789,8.175H90.5
+ c0.828,0,1.5,0.672,1.5,1.5s-0.672,1.5-1.5,1.5h-4.432c-0.532,0-1.025-0.282-1.294-0.741l-3.962-6.76l-7.851,13.712
+ C72.696,65.498,72.2,65.786,71.662,65.786z"/>
+</g>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="167.5" y1="1580.6396" x2="167.5" y2="1665.9438" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0.5092" style="stop-color:#31ABFF;stop-opacity:0"/>
+ <stop offset="0.9018" style="stop-color:#31ABFF"/>
+ <stop offset="1" style="stop-color:#63E6FF"/>
+</linearGradient>
+<rect x="574.5" y="876.5" display="none" fill="url(#SVGID_2_)" stroke="#31ABFF" stroke-miterlimit="10" width="122" height="87"/>
+<path display="none" fill="#FFFFFF" d="M597.82,887.239h10.186v2.645h-6.965v4.871h6.493v2.646h-6.493v7.486h-3.221V887.239
+ L597.82,887.239z"/>
+<path display="none" fill="#FFFFFF" d="M611.146,887.476c1.203-0.21,3.012-0.365,4.869-0.365c2.54,0,4.27,0.419,5.446,1.414
+ c0.969,0.812,1.521,2.043,1.521,3.533c0,2.278-1.547,3.823-3.194,4.427v0.078c1.257,0.472,2.016,1.7,2.461,3.402
+ c0.55,2.199,1.021,4.242,1.388,4.923h-3.324c-0.263-0.521-0.682-1.964-1.18-4.163c-0.497-2.305-1.335-3.037-3.168-3.09h-1.623v7.253
+ h-3.192v-17.412H611.146L611.146,887.476z M614.342,895.278h1.911c2.174,0,3.535-1.152,3.535-2.906c0-1.938-1.361-2.828-3.456-2.828
+ c-1.021,0-1.676,0.078-1.99,0.157V895.278z"/>
+<path display="none" fill="#FFFFFF" d="M641.704,895.881c0,5.917-3.588,9.295-8.458,9.295c-4.975,0-8.117-3.797-8.117-8.979
+ c0-5.42,3.404-9.243,8.379-9.243C638.666,886.951,641.704,890.854,641.704,895.881z M628.533,896.143
+ c0,3.589,1.807,6.441,4.896,6.441c3.115,0,4.87-2.881,4.87-6.572c0-3.326-1.647-6.468-4.87-6.468
+ C630.235,889.544,628.533,892.503,628.533,896.143z"/>
+<path display="none" fill="#FFFFFF" d="M644.48,904.888V887.24h3.663l4.559,7.565c1.178,1.966,2.199,4.006,3.011,5.918h0.053
+ c-0.21-2.354-0.288-4.635-0.288-7.332v-6.151h2.985v17.646h-3.326l-4.606-7.751c-1.126-1.938-2.306-4.108-3.168-6.101l-0.078,0.025
+ c0.131,2.277,0.155,4.607,0.155,7.516v6.311L644.48,904.888L644.48,904.888z"/>
+<path display="none" fill="#FFFFFF" d="M665.559,889.938h-5.025v-2.696h13.327v2.696h-5.08v14.95h-3.222V889.938L665.559,889.938z"
+ />
+<path display="none" fill="#FFFFFF" d="M657.373,950.479c-0.681,0-1.354-0.109-2.002-0.326c-12.401-4.18-26.008-4.179-38.407-0.001
+ c-0.647,0.218-1.322,0.327-2.004,0.327c-2.411,0-4.556-1.367-5.463-3.484l-9.131-22.044c-0.485-1.127-0.442-2.462,0.128-3.738
+ c0.858-1.924,2.822-3.56,5.249-4.375c9.819-3.308,20.056-4.983,30.423-4.983s20.604,1.678,30.424,4.984
+ c2.427,0.814,4.389,2.451,5.249,4.375c0.57,1.276,0.612,2.61,0.12,3.758l-9.115,22.005
+ C661.928,949.109,659.783,950.479,657.373,950.479z M636.166,943.77c6.896,0,13.703,1.116,20.234,3.317
+ c0.313,0.104,0.642,0.158,0.973,0.158c1.116,0,2.095-0.6,2.492-1.527l9.115-22.007c0.178-0.413,0.047-0.868-0.095-1.181
+ c-0.385-0.86-1.461-2.004-3.328-2.631c-9.487-3.196-19.378-4.817-29.394-4.817s-19.904,1.621-29.393,4.816
+ c-1.868,0.628-2.943,1.771-3.328,2.631c-0.142,0.312-0.271,0.768-0.103,1.162l9.131,22.045c0.392,0.907,1.368,1.509,2.483,1.509
+ c0.332,0,0.66-0.054,0.976-0.159C622.464,944.886,629.271,943.77,636.166,943.77z"/>
+<path display="none" fill="#FFFFFF" d="M646.162,941.966c-0.538,0-1.034-0.288-1.302-0.755l-7.835-13.686l-7.836,13.686
+ c-0.269,0.467-0.765,0.755-1.303,0.755s-1.034-0.288-1.302-0.755l-7.858-13.726l-4.021,6.778c-0.271,0.455-0.761,0.734-1.29,0.734
+ H607c-0.828,0-1.5-0.672-1.5-1.5s0.672-1.5,1.5-1.5h5.563l4.832-8.148c0.019-0.033,0.035-0.067,0.057-0.104
+ c0.269-0.463,0.763-0.748,1.298-0.748c0.539,0,1.04,0.289,1.307,0.758c0.018,0.026,0.029,0.054,0.043,0.081l7.791,13.607
+ l7.771-13.572c0.02-0.043,0.042-0.085,0.063-0.126c0.271-0.463,0.765-0.748,1.3-0.748c0.533,0,1.031,0.285,1.301,0.748
+ c0.018,0.029,0.034,0.06,0.049,0.091l7.791,13.607l7.771-13.572c0.019-0.041,0.038-0.081,0.062-0.12
+ c0.268-0.466,0.764-0.754,1.302-0.754c0.535,0,1.033,0.285,1.302,0.748c0.016,0.023,0.028,0.051,0.043,0.077l4.789,8.175H665
+ c0.828,0,1.5,0.672,1.5,1.5s-0.672,1.5-1.5,1.5h-4.432c-0.532,0-1.025-0.282-1.294-0.741l-3.962-6.76l-7.851,13.712
+ C647.196,941.678,646.7,941.966,646.162,941.966z"/>
+<text transform="matrix(1 0 0 1 595.9609 904.8877)" display="none" fill="#31ABFF" enable-background="new " font-family="'MyriadPro-Semibold'" font-size="26.1844">FRONT</text>
+<path display="none" fill="none" stroke="#31ABFF" stroke-width="3.2325" stroke-miterlimit="10" d="M661.351,946.355
+ c-0.881,2.053-3.306,2.984-5.466,2.263c-12.79-4.312-26.646-4.312-39.437,0c-2.16,0.724-4.586-0.21-5.466-2.263
+ c-3.042-7.344-6.082-14.686-9.123-22.025c-0.881-2.047,1.056-4.84,4.396-5.963c19.399-6.535,40.417-6.535,59.816,0
+ c3.342,1.123,5.277,3.916,4.397,5.963C667.432,931.672,664.392,939.014,661.351,946.355z"/>
+<polyline display="none" fill="none" stroke="#31ABFF" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
+ 665,933.5 660.568,933.5 655.295,924.5 655.302,924.5 646.162,940.466 637.021,924.5 637.028,924.5 627.889,940.466 618.748,924.5
+ 618.755,924.5 613.417,933.5 607,933.5 "/>
+</svg>
diff --git a/sample-qml/apps/HVAC/images/defrost_front_on.png b/sample-qml/apps/HVAC/images/defrost_front_on.png
new file mode 100644
index 0000000..5e5bf27
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/defrost_front_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/defrost_front_on.svg b/sample-qml/apps/HVAC/images/defrost_front_on.svg
new file mode 100644
index 0000000..c4ed46a
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/defrost_front_on.svg
@@ -0,0 +1,247 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="123px"
+ height="88px"
+ viewBox="0 0 123 88"
+ enable-background="new 0 0 123 88"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="defrost_front_on.svg"><metadata
+ id="metadata78"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs76"><defs
+ id="defs40"><filter
+ id="Adobe_OpacityMaskFilter"
+ filterUnits="userSpaceOnUse"
+ x="0.5"
+ y="0.5"
+ width="122"
+ height="87"
+ color-interpolation-filters="sRGB"><feColorMatrix
+ type="matrix"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"
+ color-interpolation-filters="sRGB"
+ result="source"
+ id="feColorMatrix43" /></filter></defs><filter
+ id="filter3841"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur3843"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite3845"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3847"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3849"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend3851"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite3853"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /><feBlend
+ blend="normal"
+ id="feBlend3855"
+ in2="result2" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1485"
+ inkscape:window-height="745"
+ id="namedview74"
+ showgrid="false"
+ inkscape:zoom="4.7479675"
+ inkscape:cx="49.34842"
+ inkscape:cy="28.800038"
+ inkscape:window-x="75"
+ inkscape:window-y="124"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="-342"
+ y1="-996"
+ x2="-342.0004"
+ y2="-96.8916"
+ gradientTransform="matrix(1 0 0 -1 702 -50)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><rect
+ x="575"
+ y="876.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="122"
+ height="86.563"
+ id="rect10" /><rect
+ x="575"
+ y="876.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="122"
+ height="86.563"
+ id="rect12" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M597.82,887.239h10.186v2.645h-6.965v4.871h6.493v2.646h-6.493v7.485h-3.221V887.239 L597.82,887.239z"
+ id="path14" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M611.146,887.476c1.202-0.21,3.012-0.364,4.868-0.364c2.54,0,4.271,0.419,5.446,1.414 c0.969,0.812,1.521,2.043,1.521,3.532c0,2.278-1.548,3.823-3.194,4.428v0.078c1.257,0.472,2.016,1.699,2.461,3.401 c0.55,2.199,1.021,4.242,1.388,4.923h-3.323c-0.264-0.521-0.683-1.964-1.181-4.163c-0.497-2.305-1.335-3.037-3.168-3.09h-1.623 v7.253h-3.191v-17.412H611.146L611.146,887.476z M614.342,895.278h1.911c2.174,0,3.535-1.152,3.535-2.906 c0-1.938-1.361-2.828-3.456-2.828c-1.021,0-1.676,0.078-1.99,0.157V895.278z"
+ id="path16" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M641.704,895.881c0,5.917-3.588,9.295-8.458,9.295c-4.975,0-8.117-3.797-8.117-8.979 c0-5.42,3.404-9.243,8.379-9.243C638.666,886.951,641.704,890.854,641.704,895.881z M628.533,896.143 c0,3.59,1.807,6.441,4.896,6.441c3.115,0,4.87-2.881,4.87-6.572c0-3.326-1.646-6.468-4.87-6.468 C630.235,889.544,628.533,892.503,628.533,896.143z"
+ id="path18" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M644.48,904.888V887.24h3.662l4.56,7.564c1.178,1.967,2.199,4.006,3.011,5.918h0.053 c-0.21-2.354-0.288-4.635-0.288-7.332v-6.15h2.985v17.646h-3.326l-4.605-7.751c-1.126-1.938-2.307-4.107-3.168-6.101l-0.078,0.024 c0.131,2.277,0.154,4.607,0.154,7.517v6.311L644.48,904.888L644.48,904.888z"
+ id="path20" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M665.559,889.938h-5.024v-2.695h13.327v2.695h-5.08v14.95h-3.223V889.938L665.559,889.938z"
+ id="path22" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M657.373,950.479c-0.681,0-1.354-0.108-2.002-0.325c-12.401-4.181-26.008-4.18-38.407-0.001 c-0.646,0.218-1.322,0.327-2.004,0.327c-2.411,0-4.556-1.367-5.463-3.484l-9.131-22.044c-0.485-1.127-0.442-2.462,0.128-3.738 c0.857-1.924,2.822-3.56,5.249-4.375c9.819-3.308,20.056-4.982,30.423-4.982s20.604,1.678,30.424,4.983 c2.427,0.814,4.389,2.451,5.249,4.375c0.57,1.276,0.612,2.61,0.12,3.758l-9.115,22.006 C661.928,949.109,659.783,950.479,657.373,950.479z M636.166,943.77c6.896,0,13.703,1.116,20.234,3.317 c0.313,0.104,0.642,0.158,0.973,0.158c1.116,0,2.095-0.6,2.492-1.527l9.115-22.007c0.178-0.413,0.047-0.868-0.096-1.181 c-0.385-0.86-1.461-2.004-3.328-2.631c-9.486-3.196-19.378-4.817-29.394-4.817s-19.904,1.621-29.393,4.816 c-1.868,0.628-2.943,1.771-3.328,2.631c-0.143,0.312-0.271,0.768-0.104,1.162l9.131,22.045c0.393,0.906,1.368,1.509,2.483,1.509 c0.332,0,0.66-0.054,0.976-0.159C622.464,944.886,629.271,943.77,636.166,943.77z"
+ id="path24" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M646.162,941.966c-0.538,0-1.034-0.288-1.302-0.755l-7.835-13.686l-7.836,13.686 c-0.27,0.467-0.766,0.755-1.304,0.755s-1.034-0.288-1.302-0.755l-7.858-13.726l-4.021,6.777c-0.271,0.455-0.761,0.734-1.29,0.734 H607c-0.828,0-1.5-0.672-1.5-1.5s0.672-1.5,1.5-1.5h5.563l4.832-8.148c0.02-0.032,0.035-0.066,0.058-0.104 c0.269-0.463,0.763-0.748,1.298-0.748c0.539,0,1.04,0.289,1.307,0.758c0.019,0.026,0.029,0.054,0.043,0.081l7.791,13.607 l7.771-13.572c0.02-0.043,0.042-0.085,0.063-0.126c0.271-0.463,0.766-0.748,1.301-0.748c0.532,0,1.03,0.285,1.301,0.748 c0.018,0.029,0.034,0.06,0.049,0.091l7.791,13.607l7.771-13.572c0.019-0.041,0.037-0.081,0.062-0.12 c0.268-0.466,0.764-0.754,1.302-0.754c0.535,0,1.033,0.285,1.303,0.748c0.016,0.022,0.027,0.051,0.043,0.077l4.789,8.175H665 c0.828,0,1.5,0.672,1.5,1.5s-0.672,1.5-1.5,1.5h-4.432c-0.532,0-1.025-0.282-1.294-0.741l-3.962-6.76l-7.852,13.712 C647.196,941.678,646.7,941.966,646.162,941.966z"
+ id="path26" /><g
+ display="none"
+ id="g28"><rect
+ x="0.5"
+ y="0.5"
+ display="inline"
+ opacity="0.8"
+ enable-background="new "
+ width="122"
+ height="87"
+ id="rect30" /><rect
+ x="0.5"
+ y="0.5"
+ display="inline"
+ fill="none"
+ stroke="#FFFFFF"
+ stroke-miterlimit="10"
+ width="122"
+ height="87"
+ id="rect32" /></g><rect
+ style="opacity:0.80000000000000004;stroke:#ffffff;stroke-opacity:1;filter:url(#filter3841);fill:#000000;fill-opacity:1"
+ x="0.5"
+ y="0.5"
+ width="122"
+ height="87"
+ id="rect38" /><rect
+ x="0.5"
+ y="0.5"
+ mask="url(#SVGID_2_)"
+ width="122"
+ height="87"
+ id="rect50"
+ style="opacity:0.6;fill:#53b5ce" /><path
+ fill="#FFFFFF"
+ d="M23.82,11.239h10.186v2.645h-6.965v4.871h6.493v2.646h-6.493v7.485H23.82V11.239L23.82,11.239z"
+ id="path54" /><path
+ fill="#FFFFFF"
+ d="M37.146,11.476c1.202-0.21,3.012-0.364,4.868-0.364c2.54,0,4.271,0.419,5.446,1.414 c0.969,0.812,1.521,2.043,1.521,3.532c0,2.278-1.548,3.823-3.194,4.428v0.078c1.257,0.472,2.016,1.699,2.461,3.401 c0.55,2.199,1.021,4.242,1.388,4.923h-3.323c-0.264-0.521-0.683-1.964-1.181-4.163c-0.497-2.305-1.335-3.037-3.168-3.09h-1.623 v7.253H37.15V11.476H37.146L37.146,11.476z M40.342,19.278h1.911c2.174,0,3.535-1.152,3.535-2.906c0-1.938-1.361-2.828-3.456-2.828 c-1.021,0-1.676,0.078-1.99,0.157V19.278z"
+ id="path56" /><path
+ fill="#FFFFFF"
+ d="M67.704,19.881c0,5.917-3.588,9.295-8.458,9.295c-4.975,0-8.117-3.797-8.117-8.979 c0-5.42,3.404-9.243,8.379-9.243C64.666,10.951,67.704,14.854,67.704,19.881z M54.533,20.143c0,3.59,1.807,6.441,4.896,6.441 c3.115,0,4.87-2.881,4.87-6.572c0-3.326-1.646-6.468-4.87-6.468C56.235,13.544,54.533,16.503,54.533,20.143z"
+ id="path58" /><path
+ fill="#FFFFFF"
+ d="M70.48,28.888V11.24h3.662l4.56,7.564c1.178,1.967,2.199,4.006,3.011,5.918h0.053 c-0.21-2.354-0.288-4.635-0.288-7.332v-6.15h2.985v17.646h-3.326l-4.605-7.751c-1.126-1.938-2.307-4.107-3.168-6.101l-0.078,0.024 c0.131,2.277,0.154,4.607,0.154,7.517v6.311L70.48,28.888L70.48,28.888z"
+ id="path60" /><path
+ fill="#FFFFFF"
+ d="M91.559,13.938h-5.024v-2.695h13.327v2.695h-5.08v14.95h-3.223V13.938L91.559,13.938z"
+ id="path62" /><path
+ fill="#FFFFFF"
+ d="M83.373,74.479c-0.681,0-1.354-0.108-2.002-0.325c-12.401-4.181-26.008-4.18-38.407-0.001 c-0.646,0.218-1.322,0.327-2.004,0.327c-2.411,0-4.556-1.367-5.463-3.484l-9.131-22.044c-0.485-1.127-0.442-2.462,0.128-3.738 c0.857-1.924,2.822-3.56,5.249-4.375c9.819-3.308,20.056-4.982,30.423-4.982s20.604,1.678,30.424,4.983 c2.427,0.814,4.389,2.451,5.249,4.375c0.57,1.276,0.612,2.61,0.12,3.758l-9.115,22.006C87.928,73.109,85.783,74.479,83.373,74.479z M62.166,67.77c6.896,0,13.703,1.116,20.234,3.317c0.313,0.104,0.642,0.158,0.973,0.158c1.116,0,2.095-0.6,2.492-1.527l9.115-22.007 c0.178-0.413,0.047-0.868-0.096-1.181c-0.385-0.86-1.461-2.004-3.328-2.631c-9.486-3.196-19.378-4.817-29.394-4.817 s-19.904,1.621-29.393,4.816c-1.868,0.628-2.943,1.771-3.328,2.631c-0.143,0.312-0.271,0.768-0.104,1.162l9.131,22.045 c0.393,0.906,1.368,1.509,2.483,1.509c0.332,0,0.66-0.054,0.976-0.159C48.464,68.886,55.271,67.77,62.166,67.77z"
+ id="path64" /><path
+ fill="#FFFFFF"
+ d="M72.162,65.966c-0.538,0-1.034-0.288-1.302-0.755l-7.835-13.686l-7.836,13.686 c-0.27,0.467-0.766,0.755-1.304,0.755s-1.034-0.288-1.302-0.755l-7.858-13.726l-4.021,6.777c-0.271,0.455-0.761,0.734-1.29,0.734H33 c-0.828,0-1.5-0.672-1.5-1.5s0.672-1.5,1.5-1.5h5.563l4.832-8.148c0.02-0.032,0.035-0.066,0.058-0.104 c0.269-0.463,0.763-0.748,1.298-0.748c0.539,0,1.04,0.289,1.307,0.758c0.019,0.026,0.029,0.054,0.043,0.081l7.791,13.607 l7.771-13.572c0.02-0.043,0.042-0.085,0.063-0.126c0.271-0.463,0.766-0.748,1.301-0.748c0.532,0,1.03,0.285,1.301,0.748 c0.018,0.029,0.034,0.06,0.049,0.091l7.791,13.607l7.771-13.572c0.019-0.041,0.037-0.081,0.062-0.12 c0.268-0.466,0.764-0.754,1.302-0.754c0.535,0,1.033,0.285,1.303,0.748c0.016,0.022,0.027,0.051,0.043,0.077l4.789,8.175H91 c0.828,0,1.5,0.672,1.5,1.5s-0.672,1.5-1.5,1.5h-4.432c-0.532,0-1.025-0.282-1.294-0.741l-3.962-6.76l-7.852,13.712 C73.196,65.678,72.7,65.966,72.162,65.966z"
+ id="path66" /><text
+ transform="matrix(1 0 0 1 595.9609 904.8877)"
+ display="none"
+ fill="#31ABFF"
+ enable-background="new "
+ font-family="'MyriadPro-Semibold'"
+ font-size="26.1844"
+ id="text68">FRONT</text>
+<path
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="3.2325"
+ stroke-miterlimit="10"
+ d="M661.351,946.355 c-0.881,2.053-3.306,2.983-5.466,2.263c-12.79-4.313-26.646-4.313-39.437,0c-2.16,0.724-4.586-0.21-5.466-2.263 c-3.042-7.345-6.082-14.687-9.123-22.025c-0.881-2.047,1.056-4.84,4.396-5.963c19.399-6.535,40.417-6.535,59.816,0 c3.342,1.123,5.276,3.916,4.396,5.963C667.432,931.672,664.392,939.014,661.351,946.355z"
+ id="path70" /><polyline
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="3"
+ stroke-linecap="round"
+ stroke-linejoin="round"
+ stroke-miterlimit="10"
+ points=" 665,933.5 660.568,933.5 655.295,924.5 655.302,924.5 646.162,940.466 637.021,924.5 637.028,924.5 627.889,940.466 618.748,924.5 618.755,924.5 613.417,933.5 607,933.5 "
+ id="polyline72" /><rect
+ style="opacity:0.8;fill:none;stroke:#ffffff;stroke-opacity:1"
+ x="0.62671262"
+ y="0.49143794"
+ width="122"
+ height="87"
+ id="rect38-5" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC/images/defrost_max_off.png b/sample-qml/apps/HVAC/images/defrost_max_off.png
new file mode 100644
index 0000000..1ded238
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/defrost_max_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/defrost_max_off.svg b/sample-qml/apps/HVAC/images/defrost_max_off.svg
new file mode 100644
index 0000000..a027d25
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/defrost_max_off.svg
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="123px"
+ height="97px"
+ viewBox="0 0 123 97"
+ enable-background="new 0 0 123 97"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="defrost_max_off.svg"><metadata
+ id="metadata69"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs67" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="753"
+ inkscape:window-height="480"
+ id="namedview65"
+ showgrid="false"
+ inkscape:zoom="2.3739837"
+ inkscape:cx="11.162671"
+ inkscape:cy="48.5"
+ inkscape:window-x="75"
+ inkscape:window-y="34"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="15.1289"
+ y1="1640"
+ x2="15.1288"
+ y2="740.8912"
+ gradientTransform="matrix(1 0 0 1 468 -694)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ x="123.129"
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M698.129,643.039v95.783h122V657.74C780.41,651.722,739.326,646.832,698.129,643.039z"
+ id="path10" /><path
+ style="fill-opacity:0.28999998999999999;stroke:#b2f0ff;stroke-width:0.89020001999999998;stroke-miterlimit:10;stroke-opacity:0.63921571"
+ inkscape:connector-curvature="0"
+ id="path14"
+ d="m 0.5,0.608 v 95.783 h 122 V 15.31 C 82.781,9.291 41.697,4.401 0.5,0.608 z"
+ stroke-miterlimit="10" /><path
+ style="fill:#b2f0ff"
+ inkscape:connector-curvature="0"
+ id="path16"
+ d="m 49.885,33.05 c -0.104,-2.278 -0.233,-5.027 -0.209,-7.41 h -0.079 c -0.574,2.146 -1.31,4.527 -2.095,6.755 l -2.564,7.646 H 42.45 L 40.094,32.5 c -0.681,-2.251 -1.309,-4.66 -1.778,-6.857 h -0.055 c -0.077,2.304 -0.183,5.104 -0.313,7.515 l -0.396,7.096 h -3.011 l 1.178,-17.646 h 4.242 l 2.307,7.097 c 0.628,2.068 1.178,4.163 1.622,6.127 h 0.077 c 0.474,-1.912 1.074,-4.085 1.755,-6.151 l 2.437,-7.07 h 4.188 l 1.021,17.647 H 50.226 L 49.885,33.05 z" /><path
+ style="fill:#b2f0ff"
+ inkscape:connector-curvature="0"
+ id="path18"
+ d="m 60.018,35.249 -1.52,5.001 h -3.325 l 5.656,-17.646 h 4.11 l 5.732,17.646 h -3.456 l -1.598,-5.001 h -5.599 z m 5.054,-2.436 -1.389,-4.347 C 63.342,27.393 63.054,26.189 62.791,25.165 H 62.74 c -0.262,1.021 -0.523,2.252 -0.838,3.301 l -1.361,4.347 h 4.531 z" /><path
+ style="fill:#b2f0ff"
+ inkscape:connector-curvature="0"
+ id="path20"
+ d="M 82.066,40.25 80.155,36.741 C 79.395,35.38 78.898,34.437 78.4,33.416 h -0.078 c -0.419,1.021 -0.893,1.964 -1.6,3.325 l -1.754,3.509 h -3.69 l 5.235,-8.929 -5.025,-8.72 h 3.689 l 1.912,3.64 c 0.575,1.102 0.995,1.964 1.466,2.959 h 0.055 c 0.471,-1.1 0.838,-1.885 1.388,-2.959 l 1.885,-3.64 h 3.692 l -5.158,8.615 5.367,9.031 -3.718,0.003 0,0 z" /><path
+ style="fill:#b2f0ff"
+ inkscape:connector-curvature="0"
+ id="path22"
+ d="m 75.948,80.757 c -0.509,0 -1.007,-0.108 -1.483,-0.323 -8.057,-3.664 -16.873,-3.663 -24.926,-10e-4 -0.478,0.216 -0.977,0.325 -1.484,0.325 -1.7,0 -3.187,-1.207 -3.778,-3.075 L 38.273,58.12 c -0.773,-2.435 0.854,-5.537 3.557,-6.764 13.016,-5.92 27.331,-5.92 40.349,0 2.702,1.227 4.329,4.329 3.554,6.775 l -5.996,19.538 c -0.604,1.879 -2.087,3.088 -3.789,3.088 z M 62,75.228 c 4.595,0 9.127,1.002 13.473,2.979 0.758,0.345 1.594,-0.218 1.928,-1.266 l 5.996,-19.54 c 0.369,-1.165 -0.509,-3.04 -2.23,-3.822 -12.381,-5.631 -25.948,-5.631 -38.327,0 -1.725,0.782 -2.602,2.657 -2.233,3.813 l 6.004,19.563 c 0.328,1.032 1.156,1.604 1.923,1.253 4.338,-1.979 8.872,-2.98 13.466,-2.98 z" /><path
+ style="fill:#b2f0ff"
+ inkscape:connector-curvature="0"
+ id="path24"
+ d="m 53.057,61.196 3.012,0.176 -1.854,-5.905 -6.055,4.574 2.896,0.903 c -6.05,8.577 7.235,16.625 0.382,26.625 0.571,0 1.298,0 2.209,0 6.777,-10 -6.155,-17.89 -0.59,-26.373 z" /><path
+ style="fill:#b2f0ff"
+ inkscape:connector-curvature="0"
+ id="path26"
+ d="m 61.665,61.196 3.01,0.176 -1.854,-5.905 -6.058,4.574 2.897,0.903 c -6.049,8.577 7.235,16.625 0.382,26.625 0.574,0 1.297,0 2.209,0 6.781,-10 -6.149,-17.89 -0.586,-26.373 z" /><path
+ style="fill:#b2f0ff"
+ inkscape:connector-curvature="0"
+ id="path28"
+ d="m 70.275,61.196 3.008,0.176 -1.854,-5.905 -6.055,4.574 2.897,0.903 c -6.052,8.577 7.233,16.625 0.38,26.625 0.571,0 1.298,0 2.209,0 6.78,-10 -6.153,-17.89 -0.585,-26.373 z" /><linearGradient
+ id="SVGID_2_"
+ gradientUnits="userSpaceOnUse"
+ x1="290.6289"
+ y1="1337.627"
+ x2="290.6289"
+ y2="1431.4371"
+ gradientTransform="matrix(1 0 0 1 468 -694)"><stop
+ offset="0.5092"
+ style="stop-color:#31ABFF;stop-opacity:0"
+ id="stop31" /><stop
+ offset="0.9018"
+ style="stop-color:#31ABFF"
+ id="stop33" /><stop
+ offset="1"
+ style="stop-color:#63E6FF"
+ id="stop35" /></linearGradient><path
+ display="none"
+ fill="url(#SVGID_2_)"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ d="M697.629,643.039V738.5h122v-80.76 C780.629,651.722,739.629,646.832,697.629,643.039z"
+ id="path37" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M747.514,675.48c-0.104-2.278-0.233-5.027-0.209-7.41h-0.079 c-0.574,2.146-1.31,4.527-2.095,6.755l-2.564,7.646h-2.487l-2.356-7.541c-0.681-2.251-1.309-4.66-1.778-6.857h-0.055 c-0.077,2.304-0.183,5.104-0.313,7.515l-0.396,7.096h-3.011l1.178-17.646h4.242l2.307,7.097c0.628,2.068,1.178,4.163,1.622,6.127 h0.077c0.474-1.912,1.074-4.085,1.755-6.151l2.437-7.07h4.188l1.021,17.647h-3.142L747.514,675.48z"
+ id="path39" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M757.646,677.68l-1.52,5.001h-3.325l5.656-17.646h4.11l5.732,17.646h-3.456l-1.598-5.001 H757.646z M762.701,675.244l-1.389-4.347c-0.341-1.073-0.629-2.277-0.892-3.301h-0.052c-0.262,1.021-0.523,2.252-0.838,3.301 l-1.361,4.347H762.701z"
+ id="path41" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M779.695,682.681l-1.911-3.509c-0.76-1.361-1.257-2.304-1.755-3.325h-0.078 c-0.419,1.021-0.893,1.964-1.6,3.325l-1.754,3.509h-3.69l5.235-8.929l-5.025-8.72h3.689l1.912,3.64 c0.575,1.102,0.995,1.964,1.466,2.959h0.055c0.471-1.1,0.838-1.885,1.388-2.959l1.885-3.64h3.692l-5.158,8.615l5.367,9.031 L779.695,682.681L779.695,682.681z"
+ id="path43" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M773.577,723.188c-0.509,0-1.007-0.108-1.483-0.323c-8.057-3.664-16.873-3.663-24.926-0.001 c-0.478,0.216-0.977,0.325-1.484,0.325c-1.7,0-3.187-1.207-3.778-3.075l-6.004-19.563c-0.773-2.435,0.854-5.537,3.557-6.764 c13.016-5.92,27.331-5.92,40.349,0c2.702,1.227,4.329,4.329,3.554,6.775l-5.996,19.538 C776.762,721.979,775.279,723.188,773.577,723.188z M759.629,717.658c4.595,0,9.127,1.002,13.473,2.979 c0.758,0.345,1.594-0.218,1.928-1.266l5.996-19.54c0.369-1.165-0.509-3.04-2.23-3.822c-12.381-5.631-25.948-5.631-38.327,0 c-1.725,0.782-2.602,2.657-2.233,3.813l6.004,19.563c0.328,1.032,1.156,1.604,1.923,1.253 C750.501,718.66,755.035,717.658,759.629,717.658z"
+ id="path45" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M750.686,703.627l3.012,0.176l-1.854-5.905l-6.055,4.574l2.896,0.903 c-6.05,8.577,7.235,16.625,0.382,26.625c0.571,0,1.298,0,2.209,0C758.053,720,745.121,712.109,750.686,703.627z"
+ id="path47" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M759.294,703.627l3.01,0.176l-1.854-5.905l-6.058,4.574l2.897,0.903 c-6.049,8.577,7.235,16.625,0.382,26.625c0.574,0,1.297,0,2.209,0C766.661,720,753.73,712.109,759.294,703.627z"
+ id="path49" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M767.904,703.627l3.008,0.176l-1.854-5.905l-6.055,4.574l2.897,0.903 c-6.052,8.577,7.233,16.625,0.38,26.625c0.571,0,1.298,0,2.209,0C775.269,720,762.336,712.109,767.904,703.627z"
+ id="path51" /><text
+ transform="matrix(1 0 0 1 730.7559 682.6807)"
+ display="none"
+ fill="#31ABFF"
+ enable-background="new "
+ font-family="'MyriadPro-Semibold'"
+ font-size="26.1844"
+ id="text53">MAX</text>
+<path
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="2.4433"
+ stroke-miterlimit="10"
+ d="M776.192,719.741 c-0.579,1.821-2.173,2.648-3.598,2.008c-8.409-3.825-17.521-3.825-25.935,0c-1.42,0.643-3.018-0.187-3.595-2.008 c-2-6.52-3.999-13.035-6-19.552c-0.577-1.816,0.694-4.298,2.894-5.293c12.758-5.805,26.58-5.805,39.338,0 c2.197,0.995,3.473,3.477,2.896,5.293C780.191,706.706,778.192,713.224,776.192,719.741z"
+ id="path55" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M750.686,703.627l3.012,0.176l-1.854-5.905l-6.055,4.574l2.896,0.903 c-6.05,8.577,7.235,16.625,0.382,26.625c0.571,0,1.298,0,2.209,0C758.053,720,745.121,712.109,750.686,703.627z"
+ id="path57" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M759.294,703.627l3.01,0.176l-1.854-5.905l-6.058,4.574l2.897,0.903 c-6.049,8.577,7.235,16.625,0.382,26.625c0.574,0,1.297,0,2.209,0C766.661,720,753.73,712.109,759.294,703.627z"
+ id="path59" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M767.904,703.627l3.008,0.176l-1.854-5.905l-6.055,4.574l2.897,0.903 c-6.052,8.577,7.233,16.625,0.38,26.625c0.571,0,1.298,0,2.209,0C775.269,720,762.336,712.109,767.904,703.627z"
+ id="path61" /><path
+ display="none"
+ fill="none"
+ stroke="#00507F"
+ stroke-miterlimit="10"
+ d="M968.129,664.752 C828.971,627.465,638.581,610,484.129,610s-344.841,17.465-484,54.752"
+ id="path63" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC/images/defrost_max_on.png b/sample-qml/apps/HVAC/images/defrost_max_on.png
new file mode 100644
index 0000000..620d176
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/defrost_max_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/defrost_max_on.svg b/sample-qml/apps/HVAC/images/defrost_max_on.svg
new file mode 100644
index 0000000..9385c42
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/defrost_max_on.svg
@@ -0,0 +1,267 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="123px"
+ height="97px"
+ viewBox="0 0 123 97"
+ enable-background="new 0 0 123 97"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="defrost_max_on.svg"><metadata
+ id="metadata84"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs82"><defs
+ id="defs36"><filter
+ height="96.508"
+ width="123"
+ y="0.222"
+ x="0"
+ filterUnits="userSpaceOnUse"
+ id="Adobe_OpacityMaskFilter"><feColorMatrix
+ id="feColorMatrix39"
+ result="source"
+ color-interpolation-filters="sRGB"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"
+ type="matrix" /></filter></defs><filter
+ id="filter3843"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur3845"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite3847"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3849"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3851"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend3853"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite3855"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter><filter
+ id="filter3857"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur3859"
+ stdDeviation="10"
+ result="result8" /><feComposite
+ id="feComposite3861"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3863"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3865"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(255,222,85)" /><feBlend
+ id="feBlend3867"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite3869"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1360"
+ inkscape:window-height="797"
+ id="namedview80"
+ showgrid="false"
+ inkscape:zoom="2.3739837"
+ inkscape:cx="10.741438"
+ inkscape:cy="48.5"
+ inkscape:window-x="75"
+ inkscape:window-y="34"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="15.1289"
+ y1="1640"
+ x2="15.1288"
+ y2="740.8912"
+ gradientTransform="matrix(1 0 0 1 468 -694)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ x="123.129"
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M698.129,643.039v95.783h122V657.74C780.41,651.722,739.326,646.832,698.129,643.039z"
+ id="path10" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M698.129,643.039v95.783h122V657.74C780.41,651.722,739.326,646.832,698.129,643.039z"
+ id="path12" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M747.514,675.48c-0.104-2.278-0.233-5.027-0.209-7.41h-0.079 c-0.574,2.146-1.31,4.527-2.095,6.755l-2.564,7.646h-2.487l-2.356-7.541c-0.681-2.251-1.309-4.66-1.778-6.857h-0.055 c-0.077,2.304-0.183,5.104-0.313,7.515l-0.396,7.096h-3.011l1.178-17.646h4.242l2.307,7.097c0.628,2.068,1.178,4.163,1.622,6.127 h0.077c0.474-1.912,1.074-4.085,1.755-6.151l2.437-7.07h4.188l1.021,17.647h-3.142L747.514,675.48z"
+ id="path14" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M757.646,677.68l-1.52,5.001h-3.325l5.656-17.646h4.11l5.732,17.646h-3.456l-1.598-5.001 H757.646z M762.701,675.244l-1.389-4.347c-0.341-1.073-0.629-2.277-0.892-3.301h-0.052c-0.262,1.021-0.523,2.252-0.838,3.301 l-1.361,4.347H762.701z"
+ id="path16" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M779.695,682.681l-1.911-3.509c-0.76-1.361-1.257-2.304-1.755-3.325h-0.078 c-0.419,1.021-0.893,1.964-1.6,3.325l-1.754,3.509h-3.69l5.235-8.929l-5.025-8.72h3.689l1.912,3.64 c0.575,1.102,0.995,1.964,1.466,2.959h0.055c0.471-1.1,0.838-1.885,1.388-2.959l1.885-3.64h3.692l-5.158,8.615l5.367,9.031 L779.695,682.681L779.695,682.681z"
+ id="path18" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M773.577,723.188c-0.509,0-1.007-0.108-1.483-0.323c-8.057-3.664-16.873-3.663-24.926-0.001 c-0.478,0.216-0.977,0.325-1.484,0.325c-1.7,0-3.187-1.207-3.778-3.075l-6.004-19.563c-0.773-2.435,0.854-5.537,3.557-6.764 c13.016-5.92,27.331-5.92,40.349,0c2.702,1.227,4.329,4.329,3.554,6.775l-5.996,19.538 C776.762,721.979,775.279,723.188,773.577,723.188z M759.629,717.658c4.595,0,9.127,1.002,13.473,2.979 c0.758,0.345,1.594-0.218,1.928-1.266l5.996-19.54c0.369-1.165-0.509-3.04-2.23-3.822c-12.381-5.631-25.948-5.631-38.327,0 c-1.725,0.782-2.602,2.657-2.233,3.813l6.004,19.563c0.328,1.032,1.156,1.604,1.923,1.253 C750.501,718.66,755.035,717.658,759.629,717.658z"
+ id="path20" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M750.686,703.627l3.012,0.176l-1.854-5.905l-6.055,4.574l2.896,0.903 c-6.05,8.577,7.235,16.625,0.382,26.625c0.571,0,1.298,0,2.209,0C758.053,720,745.121,712.109,750.686,703.627z"
+ id="path22" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M759.294,703.627l3.01,0.176l-1.854-5.905l-6.058,4.574l2.897,0.903 c-6.049,8.577,7.235,16.625,0.382,26.625c0.574,0,1.297,0,2.209,0C766.661,720,753.73,712.109,759.294,703.627z"
+ id="path24" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M767.904,703.627l3.008,0.176l-1.854-5.905l-6.055,4.574l2.897,0.903 c-6.052,8.577,7.233,16.625,0.38,26.625c0.571,0,1.298,0,2.209,0C775.269,720,762.336,712.109,767.904,703.627z"
+ id="path26" /><path
+ d="m 0.5,0.77 v 95.46 h 122 V 15.47 C 83.5,9.452 42.5,4.563 0.5,0.77 z"
+ id="path32"
+ inkscape:connector-curvature="0"
+ style="opacity:0.80000000000000004;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:1;filter:url(#filter3843)" /><path
+ stroke-miterlimit="10"
+ d="m 0.5,0.77 v 95.46 h 122 V 15.47 C 83.5,9.452 42.5,4.563 0.5,0.77 z"
+ id="path34"
+ inkscape:connector-curvature="0"
+ style="fill:#000000;stroke:#ffffff;stroke-miterlimit:10;fill-opacity:1;opacity:0.80000000000000004;stroke-opacity:1;filter:url(#filter3843)" /><g
+ style="opacity:0.75"
+ id="g46"
+ mask="url(#SVGID_2_)"><path
+ style="opacity:0.8;fill:#53b5ce"
+ inkscape:connector-curvature="0"
+ id="path48"
+ d="m 0.5,0.77 v 95.46 h 122 V 15.47 C 83.5,9.452 42.5,4.563 0.5,0.77 z" /><path
+ style="fill:none;stroke:#53b5ce;stroke-miterlimit:10"
+ inkscape:connector-curvature="0"
+ id="path50"
+ d="m 0.5,0.77 v 95.46 h 122 V 15.47 C 83.5,9.452 42.5,4.563 0.5,0.77 z"
+ stroke-miterlimit="10" /></g><path
+ fill="none"
+ stroke="#FFFFFF"
+ stroke-miterlimit="10"
+ d="M0.5,0.77V96.23h122v-80.76C83.5,9.452,42.5,4.563,0.5,0.77z"
+ id="path52" /><path
+ fill="#FFFFFF"
+ d="M50.385,33.211c-0.104-2.278-0.233-5.027-0.209-7.41h-0.079c-0.574,2.146-1.31,4.527-2.095,6.755 l-2.564,7.646H42.95l-2.356-7.541c-0.681-2.251-1.309-4.66-1.778-6.857h-0.055c-0.077,2.304-0.183,5.104-0.313,7.515l-0.396,7.096 h-3.011l1.178-17.646h4.242l2.307,7.097c0.628,2.068,1.178,4.163,1.622,6.127h0.077c0.474-1.912,1.074-4.085,1.755-6.151l2.437-7.07 h4.188l1.021,17.647h-3.142L50.385,33.211z"
+ id="path54" /><path
+ fill="#FFFFFF"
+ d="M60.518,35.41l-1.52,5.001h-3.325l5.656-17.646h4.11l5.732,17.646h-3.456l-1.598-5.001H60.518z M65.572,32.975l-1.389-4.347c-0.341-1.073-0.629-2.277-0.892-3.301H63.24c-0.262,1.021-0.523,2.252-0.838,3.301l-1.361,4.347 H65.572z"
+ id="path56" /><path
+ fill="#FFFFFF"
+ d="M82.566,40.411l-1.911-3.509c-0.76-1.361-1.257-2.304-1.755-3.325h-0.078 c-0.419,1.021-0.893,1.964-1.6,3.325l-1.754,3.509h-3.69l5.235-8.929l-5.025-8.72h3.689l1.912,3.64 c0.575,1.102,0.995,1.964,1.466,2.959h0.055c0.471-1.1,0.838-1.885,1.388-2.959l1.885-3.64h3.692l-5.158,8.615l5.367,9.031 L82.566,40.411L82.566,40.411z"
+ id="path58" /><path
+ fill="#FFFFFF"
+ d="M76.448,80.918c-0.509,0-1.007-0.108-1.483-0.323c-8.057-3.664-16.873-3.663-24.926-0.001 c-0.478,0.216-0.977,0.325-1.484,0.325c-1.7,0-3.187-1.207-3.778-3.075L38.772,58.28c-0.773-2.435,0.854-5.537,3.557-6.764 c13.016-5.92,27.331-5.92,40.349,0c2.702,1.227,4.329,4.329,3.554,6.775L80.235,77.83C79.633,79.709,78.15,80.918,76.448,80.918z M62.5,75.389c4.595,0,9.127,1.002,13.473,2.979c0.758,0.345,1.594-0.218,1.928-1.266l5.996-19.54 c0.369-1.165-0.509-3.04-2.23-3.822c-12.381-5.631-25.948-5.631-38.327,0c-1.725,0.782-2.602,2.657-2.233,3.813l6.004,19.563 c0.328,1.032,1.156,1.604,1.923,1.253C53.372,76.391,57.906,75.389,62.5,75.389z"
+ id="path60" /><path
+ fill="#FFFFFF"
+ d="M53.557,61.357l3.012,0.176l-1.854-5.905l-6.055,4.574l2.896,0.903c-6.05,8.577,7.235,16.625,0.382,26.625 c0.571,0,1.298,0,2.209,0C60.924,77.73,47.992,69.84,53.557,61.357z"
+ id="path62" /><path
+ fill="#FFFFFF"
+ d="M62.165,61.357l3.01,0.176l-1.854-5.905l-6.058,4.574l2.897,0.903c-6.049,8.577,7.235,16.625,0.382,26.625 c0.574,0,1.297,0,2.209,0C69.532,77.73,56.602,69.84,62.165,61.357z"
+ id="path64" /><path
+ fill="#FFFFFF"
+ d="M70.775,61.357l3.008,0.176l-1.854-5.905l-6.055,4.574l2.897,0.903c-6.052,8.577,7.233,16.625,0.38,26.625 c0.571,0,1.298,0,2.209,0C78.14,77.73,65.207,69.84,70.775,61.357z"
+ id="path66" /><text
+ transform="matrix(1 0 0 1 730.7559 682.6807)"
+ display="none"
+ fill="#31ABFF"
+ enable-background="new "
+ font-family="'MyriadPro-Semibold'"
+ font-size="26.1844"
+ id="text68">MAX</text>
+<path
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="2.4433"
+ stroke-miterlimit="10"
+ d="M776.192,719.741 c-0.579,1.821-2.173,2.648-3.598,2.008c-8.409-3.825-17.521-3.825-25.935,0c-1.42,0.643-3.018-0.187-3.595-2.008 c-2-6.52-3.999-13.035-6-19.552c-0.577-1.816,0.694-4.298,2.894-5.293c12.758-5.805,26.58-5.805,39.338,0 c2.197,0.995,3.473,3.477,2.896,5.293C780.191,706.706,778.192,713.224,776.192,719.741z"
+ id="path70" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M750.686,703.627l3.012,0.176l-1.854-5.905l-6.055,4.574l2.896,0.903 c-6.05,8.577,7.235,16.625,0.382,26.625c0.571,0,1.298,0,2.209,0C758.053,720,745.121,712.109,750.686,703.627z"
+ id="path72" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M759.294,703.627l3.01,0.176l-1.854-5.905l-6.058,4.574l2.897,0.903 c-6.049,8.577,7.235,16.625,0.382,26.625c0.574,0,1.297,0,2.209,0C766.661,720,753.73,712.109,759.294,703.627z"
+ id="path74" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M767.904,703.627l3.008,0.176l-1.854-5.905l-6.055,4.574l2.897,0.903 c-6.052,8.577,7.233,16.625,0.38,26.625c0.571,0,1.298,0,2.209,0C775.269,720,762.336,712.109,767.904,703.627z"
+ id="path76" /><path
+ display="none"
+ fill="none"
+ stroke="#00507F"
+ stroke-miterlimit="10"
+ d="M968.129,664.752 C828.971,627.465,638.581,610,484.129,610s-344.841,17.465-484,54.752"
+ id="path78" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC/images/defrost_rear_off.png b/sample-qml/apps/HVAC/images/defrost_rear_off.png
new file mode 100644
index 0000000..d648a67
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/defrost_rear_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/defrost_rear_off.svg b/sample-qml/apps/HVAC/images/defrost_rear_off.svg
new file mode 100644
index 0000000..0f5142e
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/defrost_rear_off.svg
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="123px" height="88px" viewBox="0 0 123 88" enable-background="new 0 0 123 88" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-107.9995" y1="1649" x2="-107.9997" y2="749.8912" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<rect x="575" y="763.898" display="none" fill="#31ABFF" fill-opacity="0.29" stroke="#31ABFF" stroke-width="0.8902" stroke-miterlimit="10" stroke-opacity="0.64" width="122" height="86.563"/>
+<g>
+
+ <rect x="0.5" y="0.719" fill-opacity="0.29" stroke="#B2F0FF" stroke-width="0.8902" stroke-miterlimit="10" stroke-opacity="0.64" width="122" height="86.563"/>
+ <path fill="#B2F0FF" d="M32.986,12.697c1.204-0.21,3.011-0.367,4.87-0.367c2.54,0,4.268,0.419,5.444,1.414
+ c0.971,0.813,1.521,2.043,1.521,3.535c0,2.278-1.545,3.823-3.194,4.425v0.079c1.257,0.471,2.016,1.701,2.461,3.403
+ c0.55,2.198,1.021,4.242,1.389,4.923h-3.324c-0.264-0.523-0.683-1.964-1.18-4.163c-0.498-2.305-1.336-3.037-3.169-3.09h-1.623
+ v7.253h-3.192L32.986,12.697L32.986,12.697z M36.181,20.5h1.911c2.174,0,3.535-1.15,3.535-2.904c0-1.938-1.361-2.828-3.456-2.828
+ c-1.021,0-1.676,0.078-1.99,0.155V20.5z"/>
+ <path fill="#B2F0FF" d="M57.756,22.28h-6.65v5.185h7.438v2.646H47.887V12.463h10.266v2.646h-7.044v4.557h6.649L57.756,22.28
+ L57.756,22.28z"/>
+ <path fill="#B2F0FF" d="M64.904,25.108l-1.521,5.001h-3.325l5.656-17.648h4.11l5.732,17.648h-3.456l-1.598-5.001H64.904z
+ M69.958,22.674l-1.388-4.348c-0.34-1.073-0.628-2.275-0.893-3.299h-0.052c-0.262,1.021-0.523,2.252-0.838,3.299l-1.361,4.348
+ H69.958z"/>
+ <path fill="#B2F0FF" d="M78.021,12.697c1.203-0.21,3.012-0.367,4.869-0.367c2.54,0,4.27,0.419,5.446,1.414
+ c0.969,0.813,1.521,2.043,1.521,3.535c0,2.278-1.547,3.823-3.194,4.425v0.079c1.257,0.471,2.016,1.701,2.461,3.403
+ c0.55,2.198,1.021,4.242,1.388,4.923h-3.324c-0.263-0.523-0.682-1.964-1.18-4.163c-0.497-2.305-1.335-3.037-3.168-3.09h-1.623
+ v7.253h-3.192V12.697H78.021L78.021,12.697z M81.217,20.5h1.911c2.174,0,3.535-1.15,3.535-2.904c0-1.938-1.361-2.828-3.456-2.828
+ c-1.021,0-1.676,0.078-1.99,0.155V20.5z"/>
+ <path fill="#B2F0FF" d="M79.84,68.82H44.16c-3.121,0-5.66-2.539-5.66-5.66V43.48c0-3.121,2.539-5.66,5.66-5.66h35.68
+ c3.121,0,5.66,2.539,5.66,5.66v19.68C85.5,66.281,82.961,68.82,79.84,68.82z M44.16,40.82c-1.467,0-2.66,1.193-2.66,2.66v19.68
+ c0,1.467,1.193,2.66,2.66,2.66h35.68c1.467,0,2.66-1.193,2.66-2.66V43.48c0-1.467-1.193-2.66-2.66-2.66H44.16z"/>
+ <path fill="#B2F0FF" d="M52.322,50.826l3.49,0.505l-2.15-6.703l-7.024,5.388l3.361,0.482c-7.017,9.952,8.393,19.228,0.442,30.322
+ c0.664,0,1.504,0,2.561,0C60.866,70.517,45.865,60.668,52.322,50.826z"/>
+ <path fill="#B2F0FF" d="M62.307,50.826l3.49,0.505l-2.147-6.703l-7.024,5.388l3.361,0.482c-7.019,9.952,8.394,19.228,0.44,30.322
+ c0.665,0,1.505,0,2.563,0C70.851,70.517,55.852,60.668,62.307,50.826z"/>
+ <path fill="#B2F0FF" d="M72.293,50.826l3.49,0.505l-2.15-6.703l-7.022,5.388l3.359,0.482c-7.017,9.952,8.396,19.228,0.442,30.322
+ c0.665,0,1.505,0,2.562,0C80.837,70.517,65.837,60.668,72.293,50.826z"/>
+</g>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="167.5" y1="1468.6846" x2="167.5" y2="1552.0071" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0.5092" style="stop-color:#31ABFF;stop-opacity:0"/>
+ <stop offset="0.9018" style="stop-color:#31ABFF"/>
+ <stop offset="1" style="stop-color:#63E6FF"/>
+</linearGradient>
+<rect x="574.5" y="763.5" display="none" fill="url(#SVGID_2_)" stroke="#31ABFF" stroke-miterlimit="10" width="122" height="87"/>
+<path display="none" fill="#FFFFFF" d="M607.486,775.877c1.204-0.21,3.011-0.367,4.87-0.367c2.54,0,4.268,0.419,5.444,1.414
+ c0.971,0.813,1.521,2.043,1.521,3.535c0,2.278-1.545,3.823-3.194,4.425v0.079c1.257,0.471,2.016,1.701,2.461,3.403
+ c0.55,2.198,1.021,4.242,1.389,4.923h-3.324c-0.264-0.523-0.683-1.964-1.18-4.163c-0.498-2.305-1.336-3.037-3.169-3.09h-1.623v7.253
+ h-3.192L607.486,775.877L607.486,775.877z M610.681,783.68h1.911c2.174,0,3.535-1.15,3.535-2.904c0-1.938-1.361-2.828-3.456-2.828
+ c-1.021,0-1.676,0.078-1.99,0.155V783.68z"/>
+<path display="none" fill="#FFFFFF" d="M632.256,785.46h-6.65v5.185h7.438v2.646h-10.656v-17.648h10.266v2.646h-7.044v4.557h6.649
+ L632.256,785.46L632.256,785.46z"/>
+<path display="none" fill="#FFFFFF" d="M639.404,788.288l-1.521,5.001h-3.325l5.656-17.648h4.11l5.732,17.648h-3.456l-1.598-5.001
+ H639.404z M644.458,785.854l-1.388-4.348c-0.34-1.073-0.628-2.275-0.893-3.299h-0.052c-0.262,1.021-0.523,2.252-0.838,3.299
+ l-1.361,4.348H644.458z"/>
+<path display="none" fill="#FFFFFF" d="M652.521,775.877c1.203-0.21,3.012-0.367,4.869-0.367c2.54,0,4.27,0.419,5.446,1.414
+ c0.969,0.813,1.521,2.043,1.521,3.535c0,2.278-1.547,3.823-3.194,4.425v0.079c1.257,0.471,2.016,1.701,2.461,3.403
+ c0.55,2.198,1.021,4.242,1.388,4.923h-3.324c-0.263-0.523-0.682-1.964-1.18-4.163c-0.497-2.305-1.335-3.037-3.168-3.09h-1.623v7.253
+ h-3.192v-17.412H652.521L652.521,775.877z M655.717,783.68h1.911c2.174,0,3.535-1.15,3.535-2.904c0-1.938-1.361-2.828-3.456-2.828
+ c-1.021,0-1.676,0.078-1.99,0.155V783.68z"/>
+<path display="none" fill="#FFFFFF" d="M654.34,832h-35.68c-3.121,0-5.66-2.539-5.66-5.66v-19.68c0-3.121,2.539-5.66,5.66-5.66
+ h35.68c3.121,0,5.66,2.539,5.66,5.66v19.68C660,829.461,657.461,832,654.34,832z M618.66,804c-1.467,0-2.66,1.193-2.66,2.66v19.68
+ c0,1.467,1.193,2.66,2.66,2.66h35.68c1.467,0,2.66-1.193,2.66-2.66v-19.68c0-1.467-1.193-2.66-2.66-2.66H618.66z"/>
+<path display="none" fill="#FFFFFF" d="M626.822,814.006l3.49,0.505l-2.15-6.703l-7.024,5.388l3.361,0.482
+ c-7.017,9.952,8.393,19.228,0.442,30.322c0.664,0,1.504,0,2.561,0C635.366,833.696,620.365,823.848,626.822,814.006z"/>
+<path display="none" fill="#FFFFFF" d="M636.807,814.006l3.49,0.505l-2.147-6.703l-7.024,5.388l3.361,0.482
+ c-7.019,9.952,8.394,19.228,0.44,30.322c0.665,0,1.505,0,2.563,0C645.351,833.696,630.352,823.848,636.807,814.006z"/>
+<path display="none" fill="#FFFFFF" d="M646.793,814.006l3.49,0.505l-2.15-6.703l-7.022,5.388l3.359,0.482
+ c-7.017,9.952,8.396,19.228,0.442,30.322c0.665,0,1.505,0,2.562,0C655.337,833.696,640.337,823.848,646.793,814.006z"/>
+<text transform="matrix(1 0 0 1 605.627 793.2891)" display="none" fill="#31ABFF" enable-background="new " font-family="'MyriadPro-Semibold'" font-size="26.1844">REAR</text>
+<path display="none" fill="none" stroke="#31ABFF" stroke-width="3" stroke-miterlimit="10" d="M658.5,826.34
+ c0,2.298-1.862,4.16-4.16,4.16h-35.68c-2.298,0-4.16-1.862-4.16-4.16v-19.68c0-2.298,1.862-4.16,4.16-4.16h35.68
+ c2.298,0,4.16,1.862,4.16,4.16V826.34z"/>
+<path display="none" fill="#31ABFF" d="M626.822,814.006l3.49,0.505l-2.15-6.703l-7.024,5.388l3.361,0.482
+ c-7.017,9.952,8.393,19.228,0.442,30.322c0.664,0,1.504,0,2.561,0C635.366,833.696,620.365,823.848,626.822,814.006z"/>
+<path display="none" fill="#31ABFF" d="M636.807,814.006l3.49,0.505l-2.147-6.703l-7.024,5.388l3.361,0.482
+ c-7.019,9.952,8.394,19.228,0.44,30.322c0.665,0,1.505,0,2.563,0C645.351,833.696,630.352,823.848,636.807,814.006z"/>
+<path display="none" fill="#31ABFF" d="M646.793,814.006l3.49,0.505l-2.15-6.703l-7.022,5.388l3.359,0.482
+ c-7.017,9.952,8.396,19.228,0.442,30.322c0.665,0,1.505,0,2.562,0C655.337,833.696,640.337,823.848,646.793,814.006z"/>
+</svg>
diff --git a/sample-qml/apps/HVAC/images/defrost_rear_on.png b/sample-qml/apps/HVAC/images/defrost_rear_on.png
new file mode 100644
index 0000000..205ec2a
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/defrost_rear_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/defrost_rear_on.svg b/sample-qml/apps/HVAC/images/defrost_rear_on.svg
new file mode 100644
index 0000000..a44e246
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/defrost_rear_on.svg
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="123px"
+ height="88px"
+ viewBox="0 0 123 88"
+ enable-background="new 0 0 123 88"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="defrost_rear_on.svg"><metadata
+ id="metadata84"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs82"><defs
+ id="defs38"><filter
+ height="88"
+ width="123"
+ y="0"
+ x="0"
+ filterUnits="userSpaceOnUse"
+ id="Adobe_OpacityMaskFilter"><feColorMatrix
+ id="feColorMatrix41"
+ result="source"
+ color-interpolation-filters="sRGB"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"
+ type="matrix" /></filter></defs><filter
+ id="filter3843"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur3845"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite3847"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3849"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3851"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend3853"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite3855"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1523"
+ inkscape:window-height="877"
+ id="namedview80"
+ showgrid="false"
+ inkscape:zoom="2.3739837"
+ inkscape:cx="-2.9486301"
+ inkscape:cy="44"
+ inkscape:window-x="65"
+ inkscape:window-y="24"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="-107.9995"
+ y1="1649"
+ x2="-107.9997"
+ y2="749.8912"
+ gradientTransform="matrix(1 0 0 1 468 -703)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><rect
+ x="575"
+ y="763.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="122"
+ height="86.563"
+ id="rect10" /><rect
+ x="575"
+ y="763.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="122"
+ height="86.563"
+ id="rect12" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M607.486,775.877c1.204-0.21,3.011-0.367,4.87-0.367c2.54,0,4.268,0.419,5.444,1.414 c0.971,0.813,1.521,2.043,1.521,3.535c0,2.278-1.545,3.823-3.194,4.425v0.079c1.257,0.471,2.016,1.701,2.461,3.403 c0.55,2.198,1.021,4.242,1.389,4.923h-3.324c-0.264-0.523-0.683-1.964-1.18-4.163c-0.498-2.305-1.336-3.037-3.169-3.09h-1.623v7.253 h-3.192L607.486,775.877L607.486,775.877z M610.681,783.68h1.911c2.174,0,3.535-1.15,3.535-2.904c0-1.938-1.361-2.828-3.456-2.828 c-1.021,0-1.676,0.078-1.99,0.155V783.68z"
+ id="path14" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M632.256,785.46h-6.65v5.185h7.438v2.646h-10.656v-17.648h10.266v2.646h-7.044v4.557h6.649 L632.256,785.46L632.256,785.46z"
+ id="path16" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M639.404,788.288l-1.521,5.001h-3.325l5.656-17.648h4.11l5.732,17.648h-3.456l-1.598-5.001 H639.404z M644.458,785.854l-1.388-4.348c-0.34-1.073-0.628-2.275-0.893-3.299h-0.052c-0.262,1.021-0.523,2.252-0.838,3.299 l-1.361,4.348H644.458z"
+ id="path18" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M652.521,775.877c1.203-0.21,3.012-0.367,4.869-0.367c2.54,0,4.27,0.419,5.446,1.414 c0.969,0.813,1.521,2.043,1.521,3.535c0,2.278-1.547,3.823-3.194,4.425v0.079c1.257,0.471,2.016,1.701,2.461,3.403 c0.55,2.198,1.021,4.242,1.388,4.923h-3.324c-0.263-0.523-0.682-1.964-1.18-4.163c-0.497-2.305-1.335-3.037-3.168-3.09h-1.623v7.253 h-3.192v-17.412H652.521L652.521,775.877z M655.717,783.68h1.911c2.174,0,3.535-1.15,3.535-2.904c0-1.938-1.361-2.828-3.456-2.828 c-1.021,0-1.676,0.078-1.99,0.155V783.68z"
+ id="path20" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M654.34,832h-35.68c-3.121,0-5.66-2.539-5.66-5.66v-19.68c0-3.121,2.539-5.66,5.66-5.66 h35.68c3.121,0,5.66,2.539,5.66,5.66v19.68C660,829.461,657.461,832,654.34,832z M618.66,804c-1.467,0-2.66,1.193-2.66,2.66v19.68 c0,1.467,1.193,2.66,2.66,2.66h35.68c1.467,0,2.66-1.193,2.66-2.66v-19.68c0-1.467-1.193-2.66-2.66-2.66H618.66z"
+ id="path22" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M626.822,814.006l3.49,0.505l-2.15-6.703l-7.024,5.388l3.361,0.482 c-7.017,9.952,8.393,19.228,0.442,30.322c0.664,0,1.504,0,2.561,0C635.366,833.696,620.365,823.848,626.822,814.006z"
+ id="path24" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M636.807,814.006l3.49,0.505l-2.147-6.703l-7.024,5.388l3.361,0.482 c-7.019,9.952,8.394,19.228,0.44,30.322c0.665,0,1.505,0,2.563,0C645.351,833.696,630.352,823.848,636.807,814.006z"
+ id="path26" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M646.793,814.006l3.49,0.505l-2.15-6.703l-7.022,5.388l3.359,0.482 c-7.017,9.952,8.396,19.228,0.442,30.322c0.665,0,1.505,0,2.562,0C655.337,833.696,640.337,823.848,646.793,814.006z"
+ id="path28" /><rect
+ x="0.5"
+ y="0.5"
+ width="122"
+ height="87"
+ id="rect34"
+ style="opacity:0.80000000000000004;stroke:#ffffff;stroke-opacity:1;fill:#000000;fill-opacity:1;filter:url(#filter3843)" /><rect
+ x="0.5"
+ y="0.5"
+ stroke-miterlimit="10"
+ width="122"
+ height="87"
+ id="rect36"
+ style="opacity:0.80000000000000004;fill:none;stroke:#ffffff;stroke-miterlimit:10;stroke-opacity:1" /><g
+ style="opacity:0.6"
+ id="g48"
+ mask="url(#SVGID_2_)"><rect
+ style="opacity:0.8;fill:#53b5ce"
+ id="rect50"
+ height="87"
+ width="122"
+ y="0.5"
+ x="0.5" /><rect
+ style="fill:none;stroke:#53b5ce;stroke-miterlimit:10"
+ id="rect52"
+ height="87"
+ width="122"
+ stroke-miterlimit="10"
+ y="0.5"
+ x="0.5" /></g><path
+ fill="#FFFFFF"
+ d="M33.486,12.877c1.204-0.21,3.011-0.367,4.87-0.367c2.54,0,4.268,0.419,5.444,1.414 c0.971,0.813,1.521,2.043,1.521,3.535c0,2.278-1.545,3.823-3.194,4.425v0.079c1.257,0.471,2.016,1.701,2.461,3.403 c0.55,2.198,1.021,4.242,1.389,4.923h-3.324c-0.264-0.523-0.683-1.964-1.18-4.163c-0.498-2.305-1.336-3.037-3.169-3.09h-1.623v7.253 h-3.192L33.486,12.877L33.486,12.877z M36.681,20.68h1.911c2.174,0,3.535-1.15,3.535-2.904c0-1.938-1.361-2.828-3.456-2.828 c-1.021,0-1.676,0.078-1.99,0.155V20.68z"
+ id="path54" /><path
+ fill="#FFFFFF"
+ d="M58.256,22.46h-6.65v5.185h7.438v2.646H48.387V12.643h10.266v2.646h-7.044v4.557h6.649L58.256,22.46 L58.256,22.46z"
+ id="path56" /><path
+ fill="#FFFFFF"
+ d="M65.404,25.288l-1.521,5.001h-3.325l5.656-17.648h4.11l5.732,17.648h-3.456l-1.598-5.001H65.404z M70.458,22.854l-1.388-4.348c-0.34-1.073-0.628-2.275-0.893-3.299h-0.052c-0.262,1.021-0.523,2.252-0.838,3.299l-1.361,4.348 H70.458z"
+ id="path58" /><path
+ fill="#FFFFFF"
+ d="M78.521,12.877c1.203-0.21,3.012-0.367,4.869-0.367c2.54,0,4.27,0.419,5.446,1.414 c0.969,0.813,1.521,2.043,1.521,3.535c0,2.278-1.547,3.823-3.194,4.425v0.079c1.257,0.471,2.016,1.701,2.461,3.403 c0.55,2.198,1.021,4.242,1.388,4.923h-3.324c-0.263-0.523-0.682-1.964-1.18-4.163c-0.497-2.305-1.335-3.037-3.168-3.09h-1.623v7.253 h-3.192V12.877H78.521L78.521,12.877z M81.717,20.68h1.911c2.174,0,3.535-1.15,3.535-2.904c0-1.938-1.361-2.828-3.456-2.828 c-1.021,0-1.676,0.078-1.99,0.155V20.68z"
+ id="path60" /><path
+ fill="#FFFFFF"
+ d="M80.34,69H44.66C41.539,69,39,66.461,39,63.34V43.66c0-3.121,2.539-5.66,5.66-5.66h35.68 c3.121,0,5.66,2.539,5.66,5.66v19.68C86,66.461,83.461,69,80.34,69z M44.66,41C43.193,41,42,42.193,42,43.66v19.68 c0,1.467,1.193,2.66,2.66,2.66h35.68c1.467,0,2.66-1.193,2.66-2.66V43.66c0-1.467-1.193-2.66-2.66-2.66H44.66z"
+ id="path62" /><path
+ fill="#FFFFFF"
+ d="M52.822,51.006l3.49,0.505l-2.15-6.703l-7.024,5.388l3.361,0.482C43.482,60.63,58.892,69.905,50.941,81 c0.664,0,1.504,0,2.561,0C61.366,70.696,46.365,60.848,52.822,51.006z"
+ id="path64" /><path
+ fill="#FFFFFF"
+ d="M62.807,51.006l3.49,0.505l-2.147-6.703l-7.024,5.388l3.361,0.482C53.468,60.63,68.88,69.905,60.927,81 c0.665,0,1.505,0,2.563,0C71.351,70.696,56.352,60.848,62.807,51.006z"
+ id="path66" /><path
+ fill="#FFFFFF"
+ d="M72.793,51.006l3.49,0.505l-2.15-6.703l-7.022,5.388l3.359,0.482C63.453,60.63,78.865,69.905,70.912,81 c0.665,0,1.505,0,2.562,0C81.337,70.696,66.337,60.848,72.793,51.006z"
+ id="path68" /><text
+ transform="matrix(1 0 0 1 605.627 793.2891)"
+ display="none"
+ fill="#31ABFF"
+ enable-background="new "
+ font-family="'MyriadPro-Semibold'"
+ font-size="26.1844"
+ id="text70">REAR</text>
+<path
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="3"
+ stroke-miterlimit="10"
+ d="M658.5,826.34 c0,2.298-1.862,4.16-4.16,4.16h-35.68c-2.298,0-4.16-1.862-4.16-4.16v-19.68c0-2.298,1.862-4.16,4.16-4.16h35.68 c2.298,0,4.16,1.862,4.16,4.16V826.34z"
+ id="path72" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M626.822,814.006l3.49,0.505l-2.15-6.703l-7.024,5.388l3.361,0.482 c-7.017,9.952,8.393,19.228,0.442,30.322c0.664,0,1.504,0,2.561,0C635.366,833.696,620.365,823.848,626.822,814.006z"
+ id="path74" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M636.807,814.006l3.49,0.505l-2.147-6.703l-7.024,5.388l3.361,0.482 c-7.019,9.952,8.394,19.228,0.44,30.322c0.665,0,1.505,0,2.563,0C645.351,833.696,630.352,823.848,636.807,814.006z"
+ id="path76" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M646.793,814.006l3.49,0.505l-2.15-6.703l-7.022,5.388l3.359,0.482 c-7.017,9.952,8.396,19.228,0.442,30.322c0.665,0,1.505,0,2.562,0C655.337,833.696,640.337,823.848,646.793,814.006z"
+ id="path78" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC/images/drag_knob.svg b/sample-qml/apps/HVAC/images/drag_knob.svg
new file mode 100644
index 0000000..774c1b6
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/drag_knob.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="22px" height="22px" viewBox="0 0 22 22" enable-background="new 0 0 22 22" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="126.001" y1="-358.9995" x2="126.0009" y2="540.1095" gradientTransform="matrix(1 0 0 -1 234 587)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<circle fill="#FE9C00" stroke="#FFD38C" stroke-width="0.5936" stroke-miterlimit="10" cx="11" cy="11" r="6.141"/>
+<circle fill="#FE9C00" fill-opacity="0.45" cx="11" cy="11" r="10.912"/>
+</svg>
diff --git a/sample-qml/apps/HVAC/images/fan_bar_off.png b/sample-qml/apps/HVAC/images/fan_bar_off.png
new file mode 100644
index 0000000..29e71e2
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_bar_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/fan_bar_on.png b/sample-qml/apps/HVAC/images/fan_bar_on.png
new file mode 100755
index 0000000..774897a
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_bar_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/fan_bar_on.svg b/sample-qml/apps/HVAC/images/fan_bar_on.svg
new file mode 100644
index 0000000..f65fe74
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_bar_on.svg
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="525px" height="153px" viewBox="-157 -47.5 525 153" enable-background="new -157 -47.5 525 153" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="15.1294" y1="1643" x2="15.1292" y2="743.8912" gradientTransform="matrix(1 0 0 1 468 -697)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect x="123.129" display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<g display="none">
+ <g display="inline">
+ <g>
+ <defs>
+ <rect id="SVGID_2_" x="275.129" y="346" width="158" height="232"/>
+ </defs>
+ <clipPath id="SVGID_3_">
+ <use xlink:href="#SVGID_2_" overflow="visible"/>
+ </clipPath>
+ <g clip-path="url(#SVGID_3_)">
+ <text transform="matrix(1 0 0 1 283.4941 784.9795)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">20°</text>
+ <text transform="matrix(1 0 0 1 283.4941 888.7236)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">21°</text>
+ <text transform="matrix(1 0 0 1 283.4941 689.0361)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">19°</text>
+ <text transform="matrix(1 0 0 1 283.4941 591.3809)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">18°</text>
+ <text transform="matrix(1 0 0 1 283.4941 496.998)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">17°</text>
+ <text transform="matrix(1 0 0 1 283.4941 403.3945)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">16°</text>
+ </g>
+ </g>
+ </g>
+</g>
+<circle display="none" fill="#31ABFF" stroke="#31ABFF" stroke-width="0.5936" stroke-miterlimit="10" cx="494.93" cy="726.5" r="6.141"/>
+<circle display="none" fill="#31ABFF" fill-opacity="0.45" cx="494.93" cy="726.5" r="10.912"/>
+<path display="none" fill="none" stroke="#00507F" stroke-miterlimit="10" d="M968.129,664.752
+ C828.971,627.465,638.581,610,484.129,610s-344.841,17.465-484,54.752"/>
+<line display="none" fill="none" stroke="#31ABFF" stroke-miterlimit="10" x1="667.129" y1="719.5" x2="363.129" y2="719.5"/>
+<line fill="none" stroke="#FFD38C" stroke-width="3" stroke-miterlimit="10" x1="365.139" y1="83.807" x2="-156" y2="83.807"/>
+<path fill="#FE9C00" d="M94.271,58.989H367v-94.848c-15.771-1.139-119.5-10.116-272.729-10.724L47.76-46.794
+ c-82.26,0-130.26,2.885-204.76,4.96V58.989H48.5H94.271z"/>
+</svg>
diff --git a/sample-qml/apps/HVAC/images/fan_control_ac_off.png b/sample-qml/apps/HVAC/images/fan_control_ac_off.png
new file mode 100644
index 0000000..e109810
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_control_ac_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/fan_control_ac_off.svg b/sample-qml/apps/HVAC/images/fan_control_ac_off.svg
new file mode 100644
index 0000000..13af676
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_control_ac_off.svg
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="112px" height="88px" viewBox="0 0 112 88" enable-background="new 0 0 112 88" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-107.9995" y1="1649" x2="-107.9997" y2="749.8912" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<rect x="174.5" y="763.898" display="none" fill="#31ABFF" fill-opacity="0.29" stroke="#31ABFF" stroke-width="0.8472" stroke-miterlimit="10" stroke-opacity="0.64" width="111" height="87"/>
+<g display="none">
+ <g display="inline">
+ <g>
+ <defs>
+ <rect id="SVGID_2_" x="152" y="346" width="158" height="232"/>
+ </defs>
+ <clipPath id="SVGID_3_">
+ <use xlink:href="#SVGID_2_" overflow="visible"/>
+ </clipPath>
+ <g clip-path="url(#SVGID_3_)">
+ <text transform="matrix(1 0 0 1 160.3643 784.9795)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">20°</text>
+ <text transform="matrix(1 0 0 1 160.3643 888.7236)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">21°</text>
+ <text transform="matrix(1 0 0 1 160.3643 689.0361)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">19°</text>
+ <text transform="matrix(1 0 0 1 160.3643 591.3809)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">18°</text>
+ <text transform="matrix(1 0 0 1 160.3643 496.998)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">17°</text>
+ <text transform="matrix(1 0 0 1 160.3643 403.3945)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">16°</text>
+ </g>
+ </g>
+ </g>
+</g>
+<g>
+
+ <rect x="0.5" y="0.5" fill-opacity="0.29" stroke="#B2F0FF" stroke-width="0.8472" stroke-miterlimit="10" stroke-opacity="0.64" width="111" height="87"/>
+ <g>
+ <g>
+ <path fill="#B2F0FF" d="M38.333,47.863L36.622,53.5h-3.748l6.375-19.89h4.633l6.463,19.89h-3.896l-1.801-5.637H38.333z
+ M44.027,45.119l-1.563-4.898c-0.383-1.21-0.708-2.565-1.003-3.719h-0.059c-0.295,1.151-0.59,2.538-0.944,3.719l-1.535,4.898
+ H44.027z"/>
+ <path fill="#B2F0FF" d="M51.262,54.681l7.2-21.396H61l-7.201,21.396H51.262z"/>
+ <path fill="#B2F0FF" d="M77.32,52.91c-0.854,0.44-2.743,0.885-5.135,0.885c-6.314,0-10.15-3.954-10.15-10.004
+ c0-6.552,4.544-10.506,10.624-10.506c2.391,0,4.103,0.502,4.84,0.886l-0.797,2.892c-0.944-0.411-2.243-0.768-3.896-0.768
+ c-4.043,0-6.966,2.538-6.966,7.319c0,4.366,2.567,7.171,6.937,7.171c1.476,0,3.01-0.295,3.955-0.738L77.32,52.91z"/>
+ </g>
+ </g>
+</g>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-238.0005" y1="1468.6846" x2="-238.0005" y2="1552.0071" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0.5092" style="stop-color:#31ABFF;stop-opacity:0"/>
+ <stop offset="0.9018" style="stop-color:#31ABFF"/>
+ <stop offset="1" style="stop-color:#63E6FF"/>
+</linearGradient>
+<rect x="174.5" y="763.5" display="none" fill="url(#SVGID_4_)" stroke="#31ABFF" stroke-miterlimit="10" width="111" height="87"/>
+<g display="none">
+ <g display="inline">
+ <path display="none" fill="#FFFFFF" d="M212.333,810.863l-1.711,5.637h-3.748l6.375-19.89h4.633l6.463,19.89h-3.896l-1.801-5.637
+ H212.333z M218.027,808.119l-1.563-4.898c-0.383-1.21-0.708-2.565-1.003-3.719h-0.059c-0.295,1.151-0.59,2.538-0.944,3.719
+ l-1.535,4.898H218.027z"/>
+ <path display="none" fill="#FFFFFF" d="M225.262,817.681l7.2-21.396H235l-7.201,21.396H225.262z"/>
+ <path display="none" fill="#FFFFFF" d="M251.32,815.91c-0.854,0.44-2.743,0.885-5.135,0.885c-6.314,0-10.15-3.954-10.15-10.004
+ c0-6.552,4.544-10.506,10.624-10.506c2.391,0,4.103,0.502,4.84,0.886l-0.797,2.892c-0.944-0.411-2.243-0.768-3.896-0.768
+ c-4.043,0-6.966,2.538-6.966,7.319c0,4.366,2.567,7.171,6.937,7.171c1.476,0,3.01-0.295,3.955-0.738L251.32,815.91z"/>
+ </g>
+</g>
+<g display="none">
+
+ <text transform="matrix(1 0 0 1 206.2539 816.5)" display="inline" fill="#31ABFF" font-family="'MyriadPro-Semibold'" font-size="29.5171">A/C</text>
+</g>
+</svg>
diff --git a/sample-qml/apps/HVAC/images/fan_control_ac_on.png b/sample-qml/apps/HVAC/images/fan_control_ac_on.png
new file mode 100644
index 0000000..4a778bb
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_control_ac_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/fan_control_ac_on.svg b/sample-qml/apps/HVAC/images/fan_control_ac_on.svg
new file mode 100644
index 0000000..040fa44
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_control_ac_on.svg
@@ -0,0 +1,275 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="112px"
+ height="88px"
+ viewBox="0 0 112 88"
+ enable-background="new 0 0 112 88"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="fan_control_ac_on.svg"><metadata
+ id="metadata88"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs86"><defs
+ id="defs56"><filter
+ id="Adobe_OpacityMaskFilter"
+ filterUnits="userSpaceOnUse"
+ x="0.5"
+ y="0.5"
+ width="111"
+ height="87"
+ color-interpolation-filters="sRGB"><feColorMatrix
+ type="matrix"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"
+ color-interpolation-filters="sRGB"
+ result="source"
+ id="feColorMatrix59" /></filter></defs><filter
+ id="filter7065"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur7067"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite7069"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite7071"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood7073"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend7075"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite7077"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter><filter
+ id="filter7079"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur7081"
+ stdDeviation="10"
+ result="result8" /><feComposite
+ id="feComposite7083"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite7085"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood7087"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(255,222,85)" /><feBlend
+ id="feBlend7089"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite7091"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1225"
+ inkscape:window-height="724"
+ id="namedview84"
+ showgrid="false"
+ inkscape:zoom="2.6071429"
+ inkscape:cx="-45.260274"
+ inkscape:cy="44"
+ inkscape:window-x="615"
+ inkscape:window-y="90"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="-107.9995"
+ y1="1649"
+ x2="-107.9997"
+ y2="749.8912"
+ gradientTransform="matrix(1 0 0 1 468 -703)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><rect
+ x="174.5"
+ y="763.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8472"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="111"
+ height="87"
+ id="rect10" /><g
+ display="none"
+ id="g12"><g
+ display="inline"
+ id="g14"><g
+ id="g16"><defs
+ id="defs18"><rect
+ id="SVGID_2_"
+ x="152"
+ y="346"
+ width="158"
+ height="232" /></defs><clipPath
+ id="SVGID_3_"><use
+ xlink:href="#SVGID_2_"
+ overflow="visible"
+ id="use22" /></clipPath><g
+ clip-path="url(#SVGID_3_)"
+ id="g24"><text
+ transform="matrix(1 0 0 1 160.3643 784.9795)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text26">20°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 888.7236)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text28">21°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 689.0361)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text30">19°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 591.3809)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text32">18°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 496.998)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text34">17°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 403.3945)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text36">16°</text>
+</g></g></g></g><rect
+ x="174.5"
+ y="763.5"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8472"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="111"
+ height="87"
+ id="rect38" /><g
+ display="none"
+ id="g40"><g
+ display="inline"
+ id="g42"><path
+ display="none"
+ fill="#31ABFF"
+ d="M212.333,810.863l-1.711,5.637h-3.748l6.375-19.89h4.633l6.463,19.89h-3.896l-1.801-5.637 H212.333z M218.027,808.119l-1.563-4.898c-0.383-1.21-0.708-2.565-1.003-3.719h-0.059c-0.295,1.151-0.59,2.538-0.944,3.719 l-1.535,4.898H218.027z"
+ id="path44" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M225.262,817.681l7.2-21.396H235l-7.201,21.396H225.262z"
+ id="path46" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M251.32,815.91c-0.854,0.44-2.743,0.885-5.135,0.885c-6.314,0-10.15-3.954-10.15-10.004 c0-6.552,4.544-10.506,10.624-10.506c2.391,0,4.103,0.502,4.84,0.886l-0.797,2.892c-0.944-0.411-2.243-0.768-3.896-0.768 c-4.043,0-6.966,2.538-6.966,7.319c0,4.366,2.567,7.171,6.937,7.171c1.476,0,3.01-0.295,3.955-0.738L251.32,815.91z"
+ id="path48" /></g></g><rect
+ style="opacity:0.80000000000000004;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:0;filter:url(#filter7065)"
+ x="0.5"
+ y="0.5"
+ width="111"
+ height="87"
+ id="rect54" /><rect
+ x="0.5"
+ y="0.5"
+ mask="url(#SVGID_4_)"
+ width="111"
+ height="87"
+ id="rect66"
+ style="opacity:0.80000000000000004;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:0;filter:url(#filter7065)" /><rect
+ x="0.5"
+ y="0.5"
+ fill="none"
+ stroke="#FFFFFF"
+ stroke-miterlimit="10"
+ width="111"
+ height="87"
+ id="rect68" /><g
+ id="g70"><g
+ id="g72"><path
+ fill="#FFFFFF"
+ d="M38.333,47.863L36.622,53.5h-3.748l6.375-19.89h4.633l6.463,19.89h-3.896l-1.801-5.637H38.333z M44.027,45.119l-1.563-4.898c-0.383-1.21-0.708-2.565-1.003-3.719h-0.059c-0.295,1.151-0.59,2.538-0.944,3.719l-1.535,4.898 H44.027z"
+ id="path74" /><path
+ fill="#FFFFFF"
+ d="M51.262,54.681l7.2-21.396H61l-7.201,21.396H51.262z"
+ id="path76" /><path
+ fill="#FFFFFF"
+ d="M77.32,52.91c-0.854,0.44-2.743,0.885-5.135,0.885c-6.314,0-10.15-3.954-10.15-10.004 c0-6.552,4.544-10.506,10.624-10.506c2.391,0,4.103,0.502,4.84,0.886l-0.797,2.892c-0.944-0.411-2.243-0.768-3.896-0.768 c-4.043,0-6.966,2.538-6.966,7.319c0,4.366,2.567,7.171,6.937,7.171c1.476,0,3.01-0.295,3.955-0.738L77.32,52.91z"
+ id="path78" /></g></g><g
+ display="none"
+ id="g80"><text
+ transform="matrix(1 0 0 1 206.2539 816.5)"
+ display="inline"
+ fill="#31ABFF"
+ font-family="'MyriadPro-Semibold'"
+ font-size="29.5171"
+ id="text82">A/C</text>
+</g></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC/images/fan_control_auto_off.png b/sample-qml/apps/HVAC/images/fan_control_auto_off.png
new file mode 100644
index 0000000..a98dae7
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_control_auto_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/fan_control_auto_off.svg b/sample-qml/apps/HVAC/images/fan_control_auto_off.svg
new file mode 100644
index 0000000..f560a54
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_control_auto_off.svg
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="111px" height="88px" viewBox="0 0 111 88" enable-background="new 0 0 111 88" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-107.9995" y1="1649" x2="-107.9997" y2="749.8912" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<rect x="305.25" y="763.898" display="none" fill="#31ABFF" fill-opacity="0.29" stroke="#31ABFF" stroke-width="0.8472" stroke-miterlimit="10" stroke-opacity="0.64" width="110.5" height="86.563"/>
+<g display="none">
+ <g display="inline">
+ <g>
+ <defs>
+ <rect id="SVGID_2_" x="152" y="346" width="158" height="232"/>
+ </defs>
+ <clipPath id="SVGID_3_">
+ <use xlink:href="#SVGID_2_" overflow="visible"/>
+ </clipPath>
+ <g clip-path="url(#SVGID_3_)">
+ <text transform="matrix(1 0 0 1 160.3643 784.9795)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">20°</text>
+ <text transform="matrix(1 0 0 1 160.3643 888.7236)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">21°</text>
+ <text transform="matrix(1 0 0 1 160.3643 689.0361)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">19°</text>
+ <text transform="matrix(1 0 0 1 160.3643 591.3809)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">18°</text>
+ <text transform="matrix(1 0 0 1 160.3643 496.998)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">17°</text>
+ <text transform="matrix(1 0 0 1 160.3643 403.3945)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">16°</text>
+ </g>
+ </g>
+ </g>
+</g>
+<g>
+
+ <rect x="0.25" y="0.719" fill-opacity="0.29" stroke="#B2F0FF" stroke-width="0.8472" stroke-miterlimit="10" stroke-opacity="0.64" width="110.5" height="86.563"/>
+ <path fill="#B2F0FF" d="M25.526,47.684l-1.711,5.637h-3.748l6.375-19.89h4.633l6.463,19.89h-3.896l-1.8-5.637H25.526z
+ M31.222,44.939l-1.563-4.898c-0.383-1.21-0.708-2.565-1.003-3.719h-0.061c-0.295,1.151-0.59,2.538-0.942,3.719l-1.535,4.898
+ H31.222z"/>
+ <path fill="#B2F0FF" d="M42.971,33.431v11.598c0,3.896,1.623,5.695,4.073,5.695c2.626,0,4.19-1.803,4.19-5.695V33.431h3.63V44.79
+ c0,6.14-3.158,8.854-7.938,8.854c-4.604,0-7.584-2.567-7.584-8.823V33.431H42.971z"/>
+ <path fill="#B2F0FF" d="M62.835,36.47h-5.666v-3.039H72.19v3.039h-5.727V53.32h-3.63L62.835,36.47L62.835,36.47z"/>
+ <path fill="#B2F0FF" d="M91.346,43.169c0,6.669-4.043,10.478-9.53,10.478c-5.606,0-9.147-4.278-9.147-10.122
+ c0-6.108,3.836-10.417,9.443-10.417C87.922,33.105,91.346,37.503,91.346,43.169z M76.502,43.464c0,4.044,2.036,7.262,5.518,7.262
+ c3.515,0,5.49-3.246,5.49-7.407c0-3.748-1.857-7.289-5.49-7.289C78.42,36.027,76.502,39.362,76.502,43.464z"/>
+</g>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-107.5005" y1="1468.6846" x2="-107.5005" y2="1552.0071" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0.5092" style="stop-color:#31ABFF;stop-opacity:0"/>
+ <stop offset="0.9018" style="stop-color:#31ABFF"/>
+ <stop offset="1" style="stop-color:#63E6FF"/>
+</linearGradient>
+<rect x="305.5" y="763.5" display="none" fill="url(#SVGID_4_)" stroke="#31ABFF" stroke-miterlimit="10" width="110" height="87"/>
+<path display="none" fill="#FFFFFF" d="M330.526,810.863l-1.711,5.637h-3.748l6.375-19.89h4.633l6.463,19.89h-3.896l-1.8-5.637
+ H330.526z M336.222,808.119l-1.563-4.898c-0.383-1.21-0.708-2.565-1.003-3.719h-0.061c-0.295,1.151-0.59,2.538-0.942,3.719
+ l-1.535,4.898H336.222z"/>
+<path display="none" fill="#FFFFFF" d="M347.971,796.61v11.598c0,3.896,1.623,5.695,4.073,5.695c2.626,0,4.19-1.803,4.19-5.695
+ V796.61h3.63v11.359c0,6.14-3.158,8.854-7.938,8.854c-4.604,0-7.584-2.567-7.584-8.823V796.61H347.971z"/>
+<path display="none" fill="#FFFFFF" d="M367.835,799.649h-5.666v-3.039h15.021v3.039h-5.727V816.5h-3.63L367.835,799.649
+ L367.835,799.649z"/>
+<path display="none" fill="#FFFFFF" d="M396.346,806.349c0,6.669-4.043,10.478-9.53,10.478c-5.606,0-9.147-4.278-9.147-10.122
+ c0-6.108,3.836-10.417,9.443-10.417C392.922,796.285,396.346,800.683,396.346,806.349z M381.502,806.644
+ c0,4.044,2.036,7.262,5.518,7.262c3.515,0,5.49-3.246,5.49-7.407c0-3.748-1.857-7.289-5.49-7.289
+ C383.42,799.207,381.502,802.542,381.502,806.644z"/>
+<text transform="matrix(1 0 0 1 324.4473 816.5)" display="none" fill="#31ABFF" enable-background="new " font-family="'MyriadPro-Semibold'" font-size="29.5171">AUTO</text>
+</svg>
diff --git a/sample-qml/apps/HVAC/images/fan_control_auto_on.png b/sample-qml/apps/HVAC/images/fan_control_auto_on.png
new file mode 100644
index 0000000..65a799a
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_control_auto_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/fan_control_auto_on.svg b/sample-qml/apps/HVAC/images/fan_control_auto_on.svg
new file mode 100644
index 0000000..2cdc613
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_control_auto_on.svg
@@ -0,0 +1,282 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="111px"
+ height="88px"
+ viewBox="0 0 111 88"
+ enable-background="new 0 0 111 88"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="fan_control_auto_on.svg"><metadata
+ id="metadata3153"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1167"
+ inkscape:window-height="584"
+ id="namedview3151"
+ showgrid="false"
+ inkscape:zoom="2.6306306"
+ inkscape:cx="1.7106156"
+ inkscape:cy="59.205475"
+ inkscape:window-x="350"
+ inkscape:window-y="75"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="-107.9995"
+ y1="1649"
+ x2="-107.9997"
+ y2="749.8912"
+ gradientTransform="matrix(1 0 0 1 468 -703)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop3067" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop3069" /></linearGradient><rect
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect3071" /><rect
+ x="305.25"
+ y="763.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8472"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="110.5"
+ height="86.563"
+ id="rect3073" /><g
+ display="none"
+ id="g3075"><g
+ display="inline"
+ id="g3077"><g
+ id="g3079"><defs
+ id="defs3081"><rect
+ id="SVGID_2_"
+ x="152"
+ y="346"
+ width="158"
+ height="232" /></defs><clipPath
+ id="SVGID_3_"><use
+ xlink:href="#SVGID_2_"
+ overflow="visible"
+ id="use3085" /></clipPath><g
+ clip-path="url(#SVGID_3_)"
+ id="g3087"><text
+ transform="matrix(1 0 0 1 160.3643 784.9795)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3089">20°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 888.7236)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3091">21°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 689.0361)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3093">19°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 591.3809)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3095">18°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 496.998)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3097">17°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 403.3945)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3099">16°</text>
+</g></g></g></g><rect
+ x="305.25"
+ y="763.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8472"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="110.5"
+ height="86.563"
+ id="rect3101" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M330.526,810.863l-1.711,5.637h-3.748l6.375-19.89h4.633l6.463,19.89h-3.896l-1.8-5.637 H330.526z M336.222,808.119l-1.563-4.898c-0.383-1.21-0.708-2.565-1.003-3.719h-0.061c-0.295,1.151-0.59,2.538-0.942,3.719 l-1.535,4.898H336.222z"
+ id="path3103" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M347.971,796.61v11.598c0,3.896,1.623,5.695,4.073,5.695c2.626,0,4.19-1.803,4.19-5.695 V796.61h3.63v11.359c0,6.14-3.158,8.854-7.938,8.854c-4.604,0-7.584-2.567-7.584-8.823V796.61H347.971z"
+ id="path3105" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M367.835,799.649h-5.666v-3.039h15.021v3.039h-5.727V816.5h-3.63L367.835,799.649 L367.835,799.649z"
+ id="path3107" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M396.346,806.349c0,6.669-4.043,10.478-9.53,10.478c-5.606,0-9.147-4.278-9.147-10.122 c0-6.108,3.836-10.417,9.443-10.417C392.922,796.285,396.346,800.683,396.346,806.349z M381.502,806.644 c0,4.044,2.036,7.262,5.518,7.262c3.515,0,5.49-3.246,5.49-7.407c0-3.748-1.857-7.289-5.49-7.289 C383.42,799.207,381.502,802.542,381.502,806.644z"
+ id="path3109" /><rect
+ style="opacity:0.80000000000000004;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:1;filter:url(#filter6490)"
+ x="0.5"
+ y="0.5"
+ width="110"
+ height="87"
+ id="rect3115" /><rect
+ x="0.5"
+ y="0.5"
+ mask="url(#SVGID_5_)"
+ width="110"
+ height="87"
+ id="rect3127"
+ style="opacity:0.80000000000000004;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:0" /><defs
+ id="defs3129"><defs
+ id="defs3117"><filter
+ id="Adobe_OpacityMaskFilter"
+ filterUnits="userSpaceOnUse"
+ x="0.5"
+ y="0.5"
+ width="110"
+ height="87"
+ color-interpolation-filters="sRGB"
+ inkscape:label="Adobe_OpacityMaskFilter"><feColorMatrix
+ type="matrix"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"
+ color-interpolation-filters="sRGB"
+ result="source"
+ id="feColorMatrix3120" /></filter></defs><filter
+ id="filter6490"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur6492"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite6494"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite6496"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood6498"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend6500"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite6502"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter><filter
+ id="filter6490-1"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur6492-9"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite6494-1"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite6496-4"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood6498-8"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend6500-6"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite6502-0"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><rect
+ x="0.5"
+ y="0.5"
+ display="none"
+ mask="url(#SVGID_4_)"
+ fill="#53B5CE"
+ width="110"
+ height="87"
+ id="rect3139" /><path
+ fill="#FFFFFF"
+ d="M25.526,47.863L23.815,53.5h-3.748l6.375-19.89h4.633l6.463,19.89h-3.896l-1.8-5.637H25.526z M31.222,45.119 l-1.563-4.898c-0.383-1.21-0.708-2.565-1.003-3.719h-0.061c-0.295,1.151-0.59,2.538-0.942,3.719l-1.535,4.898H31.222z"
+ id="path3141" /><path
+ fill="#FFFFFF"
+ d="M42.971,33.61v11.598c0,3.896,1.623,5.695,4.073,5.695c2.626,0,4.19-1.803,4.19-5.695V33.61h3.63V44.97 c0,6.14-3.158,8.854-7.938,8.854c-4.604,0-7.584-2.567-7.584-8.823V33.61H42.971z"
+ id="path3143" /><path
+ fill="#FFFFFF"
+ d="M62.835,36.649h-5.666V33.61H72.19v3.039h-5.727V53.5h-3.63L62.835,36.649L62.835,36.649z"
+ id="path3145" /><path
+ fill="#FFFFFF"
+ d="M91.346,43.349c0,6.669-4.043,10.478-9.53,10.478c-5.606,0-9.147-4.278-9.147-10.122 c0-6.108,3.836-10.417,9.443-10.417C87.922,33.285,91.346,37.683,91.346,43.349z M76.502,43.644c0,4.044,2.036,7.262,5.518,7.262 c3.515,0,5.49-3.246,5.49-7.407c0-3.748-1.857-7.289-5.49-7.289C78.42,36.207,76.502,39.542,76.502,43.644z"
+ id="path3147" /><text
+ transform="matrix(1 0 0 1 324.4473 816.5)"
+ display="none"
+ fill="#31ABFF"
+ enable-background="new "
+ font-family="'MyriadPro-Semibold'"
+ font-size="29.5171"
+ id="text3149">AUTO</text>
+<rect
+ style="opacity:0.8;fill:none;fill-opacity:1;stroke:#ffffff;stroke-opacity:1"
+ x="0.56164414"
+ y="0.84589106"
+ width="110"
+ height="87"
+ id="rect3115-8" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC/images/fan_control_circ_off.png b/sample-qml/apps/HVAC/images/fan_control_circ_off.png
new file mode 100644
index 0000000..27745f7
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_control_circ_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/fan_control_circ_off.svg b/sample-qml/apps/HVAC/images/fan_control_circ_off.svg
new file mode 100644
index 0000000..d37814b
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_control_circ_off.svg
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="112px" height="88px" viewBox="0 0 112 88" enable-background="new 0 0 112 88" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-107.9995" y1="1649" x2="-107.9997" y2="749.8912" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<rect x="436" y="763.898" display="none" fill="#31ABFF" fill-opacity="0.29" stroke="#31ABFF" stroke-width="0.8472" stroke-miterlimit="10" stroke-opacity="0.64" width="110.5" height="86.563"/>
+<g>
+
+ <rect x="0.75" y="0.719" fill-opacity="0.29" stroke="#B2F0FF" stroke-width="0.8472" stroke-miterlimit="10" stroke-opacity="0.64" width="110.5" height="86.563"/>
+ <path fill="#B2F0FF" d="M78.881,63.463c-3.802,0-6.805-2.762-7.491-6.643H34.5l-0.288-0.267c-0.001-0.001-0.14-0.118-0.378-0.207
+ c-0.67,3.74-3.627,6.273-7.49,6.273c-3.139,0-5.975-2.248-7.109-5.55c-0.758-0.104-2.006-0.408-2.383-1.285
+ c-0.2-0.147-0.755-0.396-1.169-0.582c-0.405-0.183-0.849-0.381-1.28-0.604c-2.414-1.254-1.729-8.89-1.722-8.964
+ c0.161-1.384,0.531-2.293,0.892-3.176c0.177-0.433,0.343-0.843,0.481-1.307c0.55-1.818,1.523-2.813,3.861-3.943
+ c2.149-1.035,15.707-2.548,18.307-2.828c3.779-2.869,9.729-7.446,10.271-8.022c1.157-1.229,4.437-2.538,8.232-2.538l26.052,0.006
+ c9.494,1.017,10.104,1.436,10.336,1.591c0.786,0.536,0.847,1.469,0.54,2.313c0.687,1.097,2.567,4.021,4.767,6.741
+ c1.461,0.885,1.531,2.373,1.33,3.194v7.488l1,0.582v5.14l-0.585,0.27c-0.036,0.016-3.613,1.644-7.973,3.282
+ c-0.97,0.362-2.26,0.65-3.696,0.83C86.17,59.846,82.879,63.463,78.881,63.463z M72.255,54.107l0.982,0.014l0.004,1.069
+ c0.034,3.573,2.571,6.271,5.753,6.271c3.059,0,5.756-3.186,5.756-6.957v-0.915l0.795-0.23c1.619-0.146,3.003-0.431,4.001-0.806
+ c3.269-1.229,6.028-2.448,7.204-2.971v-2.697l-1-0.581v-8.938l0.051-0.153c0.061-0.2,0.137-0.747-0.504-1.084l-0.181-0.095
+ l-0.129-0.158c-2.904-3.563-5.229-7.402-5.324-7.563l-0.311-0.514l0.307-0.515c0.04-0.07,0.08-0.161,0.109-0.246
+ c-1.272-0.287-5.417-0.816-9.151-1.219H54.726c-3.521,0-6.149,1.243-6.775,1.908c-0.832,0.884-9.095,7.164-10.74,8.414
+ l-0.222,0.168l-0.276,0.027c-6.159,0.661-16.474,1.973-17.927,2.674c-1.999,0.966-2.484,1.618-2.817,2.721
+ c-0.167,0.554-0.357,1.025-0.545,1.48c-0.322,0.792-0.626,1.539-0.756,2.651c-0.272,2.331,0.044,6.406,0.688,6.979
+ c0.363,0.186,0.771,0.365,1.146,0.533c1.043,0.469,1.824,0.817,2.134,1.479c0.271,0.135,0.93,0.27,1.196,0.27l0.85-0.081
+ l0.274,0.816c0.726,2.803,2.939,4.761,5.389,4.761c3.197,0,5.402-2.127,5.617-5.419l0.054-0.819l0.815-0.105
+ c1.106-0.143,1.945,0.255,2.391,0.544h36.021l-0.003-0.64L72.255,54.107z"/>
+ <path fill="#B2F0FF" d="M81.559,43.424L71.75,36.59v4.23H56.32c-2.555,0-3.57-1.224-3.57-2v-6h-5v6.131l0.354,0.112
+ c0.197,2.366,2.441,6.757,8.219,6.757H71.75v4.439L81.559,43.424z"/>
+</g>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="22.9995" y1="1468.6846" x2="22.9995" y2="1552.0071" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0.5092" style="stop-color:#31ABFF;stop-opacity:0"/>
+ <stop offset="0.9018" style="stop-color:#31ABFF"/>
+ <stop offset="1" style="stop-color:#63E6FF"/>
+</linearGradient>
+<rect x="435.5" y="763.5" display="none" fill="url(#SVGID_2_)" stroke="#31ABFF" stroke-miterlimit="10" width="111" height="87"/>
+<path display="none" fill="#FFFFFF" d="M514.131,826.643c-3.802,0-6.805-2.762-7.491-6.643h-36.89l-0.288-0.267
+ c-0.001-0.001-0.14-0.118-0.378-0.207c-0.67,3.74-3.627,6.273-7.49,6.273c-3.139,0-5.975-2.248-7.109-5.55
+ c-0.758-0.104-2.006-0.408-2.383-1.285c-0.2-0.147-0.755-0.396-1.169-0.582c-0.405-0.183-0.849-0.381-1.28-0.604
+ c-2.414-1.254-1.729-8.89-1.722-8.964c0.161-1.384,0.531-2.293,0.892-3.176c0.177-0.433,0.343-0.843,0.481-1.307
+ c0.55-1.818,1.523-2.813,3.861-3.943c2.149-1.035,15.707-2.548,18.307-2.828c3.779-2.869,9.729-7.446,10.271-8.022
+ c1.157-1.229,4.437-2.538,8.232-2.538l26.052,0.006c9.494,1.017,10.104,1.436,10.336,1.591c0.786,0.536,0.847,1.469,0.54,2.313
+ c0.687,1.097,2.567,4.021,4.767,6.741c1.461,0.885,1.531,2.373,1.33,3.194v7.488l1,0.582v5.14l-0.585,0.27
+ c-0.036,0.016-3.613,1.644-7.973,3.282c-0.97,0.362-2.26,0.65-3.696,0.83C521.42,823.025,518.129,826.643,514.131,826.643z
+ M507.505,817.287l0.982,0.014l0.004,1.069c0.034,3.573,2.571,6.271,5.753,6.271c3.059,0,5.756-3.186,5.756-6.957v-0.915l0.795-0.23
+ c1.619-0.146,3.003-0.431,4.001-0.806c3.269-1.229,6.028-2.448,7.204-2.971v-2.697l-1-0.581v-8.938l0.051-0.153
+ c0.061-0.2,0.137-0.747-0.504-1.084l-0.181-0.095l-0.129-0.158c-2.904-3.563-5.229-7.402-5.324-7.563l-0.311-0.514l0.307-0.515
+ c0.04-0.07,0.08-0.161,0.109-0.246c-1.272-0.287-5.417-0.816-9.151-1.219h-25.892c-3.521,0-6.149,1.243-6.775,1.908
+ c-0.832,0.884-9.095,7.164-10.74,8.414l-0.222,0.168l-0.276,0.027c-6.159,0.661-16.474,1.973-17.927,2.674
+ c-1.999,0.966-2.484,1.618-2.817,2.721c-0.167,0.554-0.357,1.025-0.545,1.48c-0.322,0.792-0.626,1.539-0.756,2.651
+ c-0.272,2.331,0.044,6.406,0.688,6.979c0.363,0.186,0.771,0.365,1.146,0.533c1.043,0.469,1.824,0.817,2.134,1.479
+ c0.271,0.135,0.93,0.27,1.196,0.27l0.85-0.081l0.274,0.816c0.726,2.803,2.939,4.761,5.389,4.761c3.197,0,5.402-2.127,5.617-5.419
+ l0.054-0.819l0.815-0.105c1.106-0.143,1.945,0.255,2.391,0.544h36.021l-0.003-0.64L507.505,817.287z"/>
+<path display="none" fill="#FFFFFF" d="M516.809,806.604L507,799.77V804h-15.43c-2.555,0-3.57-1.224-3.57-2v-6h-5v6.131l0.354,0.112
+ c0.197,2.366,2.441,6.757,8.219,6.757H507v4.439L516.809,806.604z"/>
+<path display="none" fill="none" stroke="#31ABFF" stroke-width="2" stroke-miterlimit="10" d="M532,808.908v-8.2
+ c0,0,0.497-1.502-0.987-2.283c-2.894-3.552-5.243-7.45-5.243-7.45s0.663-1.119,0.029-1.553S515.921,788,515.921,788h-25.942
+ c-3.782,0-6.689,1.356-7.507,2.224c-0.814,0.867-10.614,8.304-10.614,8.304s-16.104,1.728-18.256,2.766
+ c-2.151,1.04-2.896,1.86-3.341,3.332c-0.443,1.474-1.113,2.401-1.337,4.308c-0.223,1.907-0.146,7.269,1.188,7.96
+ c1.336,0.692,2.746,1.118,2.895,1.642c0.148,0.52,1.631,0.773,2.076,0.773c0.021,0,0.074-0.007,0.156-0.015
+ c0.823,3.188,3.355,5.511,6.354,5.511c3.494,0,6.354-2.351,6.615-6.354c1.175-0.152,1.934,0.552,1.934,0.552h35.021h2.332
+ c0,0-0.003-0.743-0.003-0.713c0,4.284,2.972,7.354,6.64,7.354c3.669,0,6.644-3.674,6.644-7.957c0-0.019-0.003-0.135-0.003-0.149
+ c1.687-0.15,3.227-0.454,4.319-0.865c4.378-1.646,7.909-3.257,7.909-3.257v-3.922L532,808.908z"/>
+<path display="none" fill="#31ABFF" d="M516.809,806.604L507,799.77V804h-15.43c-2.555,0-3.57-1.224-3.57-2v-6h-5v6.131l0.354,0.112
+ c0.197,2.366,2.441,6.757,8.219,6.757H507v4.439L516.809,806.604z"/>
+</svg>
diff --git a/sample-qml/apps/HVAC/images/fan_control_circ_on.png b/sample-qml/apps/HVAC/images/fan_control_circ_on.png
new file mode 100644
index 0000000..5d19029
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_control_circ_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/fan_control_circ_on.svg b/sample-qml/apps/HVAC/images/fan_control_circ_on.svg
new file mode 100644
index 0000000..a55b0aa
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_control_circ_on.svg
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="112px"
+ height="88px"
+ viewBox="0 0 112 88"
+ enable-background="new 0 0 112 88"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="fan_control_circ_off.svg"><metadata
+ id="metadata41"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs39"><filter
+ id="filter3829"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur3831"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite3833"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3835"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3837"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend3839"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite3841"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="922"
+ inkscape:window-height="771"
+ id="namedview37"
+ showgrid="false"
+ inkscape:zoom="3.6870568"
+ inkscape:cx="4.4156844"
+ inkscape:cy="44.840276"
+ inkscape:window-x="696"
+ inkscape:window-y="164"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="-107.9995"
+ y1="1649"
+ x2="-107.9997"
+ y2="749.8912"
+ gradientTransform="matrix(1 0 0 1 468 -703)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><rect
+ x="436"
+ y="763.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8472"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="110.5"
+ height="86.563"
+ id="rect10" /><rect
+ style="fill-opacity:1;stroke:#ffffff;stroke-width:0.84719997999999985;stroke-miterlimit:10;stroke-opacity:1;fill:#000000;opacity:0.80000000000000004;filter:url(#filter3829)"
+ id="rect14"
+ height="86.563004"
+ width="110.5"
+ stroke-miterlimit="10"
+ y="0.71899998"
+ x="0.75" /><path
+ style="fill:#ffffff;fill-opacity:1"
+ inkscape:connector-curvature="0"
+ id="path16"
+ d="m 78.881,63.463 c -3.802,0 -6.805,-2.762 -7.491,-6.643 H 34.5 l -0.288,-0.267 c -0.001,-10e-4 -0.14,-0.118 -0.378,-0.207 -0.67,3.74 -3.627,6.273 -7.49,6.273 -3.139,0 -5.975,-2.248 -7.109,-5.55 -0.758,-0.104 -2.006,-0.408 -2.383,-1.285 -0.2,-0.147 -0.755,-0.396 -1.169,-0.582 -0.405,-0.183 -0.849,-0.381 -1.28,-0.604 -2.414,-1.254 -1.729,-8.89 -1.722,-8.964 0.161,-1.384 0.531,-2.293 0.892,-3.176 0.177,-0.433 0.343,-0.843 0.481,-1.307 0.55,-1.818 1.523,-2.813 3.861,-3.943 2.149,-1.035 15.707,-2.548 18.307,-2.828 3.779,-2.869 9.729,-7.446 10.271,-8.022 1.157,-1.229 4.437,-2.538 8.232,-2.538 l 26.052,0.006 c 9.494,1.017 10.104,1.436 10.336,1.591 0.786,0.536 0.847,1.469 0.54,2.313 0.687,1.097 2.567,4.021 4.767,6.741 1.461,0.885 1.531,2.373 1.33,3.194 v 7.488 l 1,0.582 v 5.14 l -0.585,0.27 c -0.036,0.016 -3.613,1.644 -7.973,3.282 -0.97,0.362 -2.26,0.65 -3.696,0.83 -0.326,4.589 -3.617,8.206 -7.615,8.206 z m -6.626,-9.356 0.982,0.014 0.004,1.069 c 0.034,3.573 2.571,6.271 5.753,6.271 3.059,0 5.756,-3.186 5.756,-6.957 v -0.915 l 0.795,-0.23 c 1.619,-0.146 3.003,-0.431 4.001,-0.806 3.269,-1.229 6.028,-2.448 7.204,-2.971 v -2.697 l -1,-0.581 v -8.938 l 0.051,-0.153 c 0.061,-0.2 0.137,-0.747 -0.504,-1.084 l -0.181,-0.095 -0.129,-0.158 c -2.904,-3.563 -5.229,-7.402 -5.324,-7.563 l -0.311,-0.514 0.307,-0.515 c 0.04,-0.07 0.08,-0.161 0.109,-0.246 -1.272,-0.287 -5.417,-0.816 -9.151,-1.219 H 54.726 c -3.521,0 -6.149,1.243 -6.775,1.908 -0.832,0.884 -9.095,7.164 -10.74,8.414 l -0.222,0.168 -0.276,0.027 c -6.159,0.661 -16.474,1.973 -17.927,2.674 -1.999,0.966 -2.484,1.618 -2.817,2.721 -0.167,0.554 -0.357,1.025 -0.545,1.48 -0.322,0.792 -0.626,1.539 -0.756,2.651 -0.272,2.331 0.044,6.406 0.688,6.979 0.363,0.186 0.771,0.365 1.146,0.533 1.043,0.469 1.824,0.817 2.134,1.479 0.271,0.135 0.93,0.27 1.196,0.27 l 0.85,-0.081 0.274,0.816 c 0.726,2.803 2.939,4.761 5.389,4.761 3.197,0 5.402,-2.127 5.617,-5.419 l 0.054,-0.819 0.815,-0.105 c 1.106,-0.143 1.945,0.255 2.391,0.544 h 36.021 l -0.003,-0.64 1.015,-0.073 z" /><path
+ style="fill:#ffffff;fill-opacity:1"
+ inkscape:connector-curvature="0"
+ id="path18"
+ d="M 81.559,43.424 71.75,36.59 v 4.23 H 56.32 c -2.555,0 -3.57,-1.224 -3.57,-2 v -6 h -5 v 6.131 l 0.354,0.112 c 0.197,2.366 2.441,6.757 8.219,6.757 H 71.75 v 4.439 l 9.809,-6.835 z" /><linearGradient
+ id="SVGID_2_"
+ gradientUnits="userSpaceOnUse"
+ x1="22.9995"
+ y1="1468.6846"
+ x2="22.9995"
+ y2="1552.0071"
+ gradientTransform="matrix(1 0 0 1 468 -703)"><stop
+ offset="0.5092"
+ style="stop-color:#31ABFF;stop-opacity:0"
+ id="stop21" /><stop
+ offset="0.9018"
+ style="stop-color:#31ABFF"
+ id="stop23" /><stop
+ offset="1"
+ style="stop-color:#63E6FF"
+ id="stop25" /></linearGradient><rect
+ x="435.5"
+ y="763.5"
+ display="none"
+ fill="url(#SVGID_2_)"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ width="111"
+ height="87"
+ id="rect27" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M514.131,826.643c-3.802,0-6.805-2.762-7.491-6.643h-36.89l-0.288-0.267 c-0.001-0.001-0.14-0.118-0.378-0.207c-0.67,3.74-3.627,6.273-7.49,6.273c-3.139,0-5.975-2.248-7.109-5.55 c-0.758-0.104-2.006-0.408-2.383-1.285c-0.2-0.147-0.755-0.396-1.169-0.582c-0.405-0.183-0.849-0.381-1.28-0.604 c-2.414-1.254-1.729-8.89-1.722-8.964c0.161-1.384,0.531-2.293,0.892-3.176c0.177-0.433,0.343-0.843,0.481-1.307 c0.55-1.818,1.523-2.813,3.861-3.943c2.149-1.035,15.707-2.548,18.307-2.828c3.779-2.869,9.729-7.446,10.271-8.022 c1.157-1.229,4.437-2.538,8.232-2.538l26.052,0.006c9.494,1.017,10.104,1.436,10.336,1.591c0.786,0.536,0.847,1.469,0.54,2.313 c0.687,1.097,2.567,4.021,4.767,6.741c1.461,0.885,1.531,2.373,1.33,3.194v7.488l1,0.582v5.14l-0.585,0.27 c-0.036,0.016-3.613,1.644-7.973,3.282c-0.97,0.362-2.26,0.65-3.696,0.83C521.42,823.025,518.129,826.643,514.131,826.643z M507.505,817.287l0.982,0.014l0.004,1.069c0.034,3.573,2.571,6.271,5.753,6.271c3.059,0,5.756-3.186,5.756-6.957v-0.915l0.795-0.23 c1.619-0.146,3.003-0.431,4.001-0.806c3.269-1.229,6.028-2.448,7.204-2.971v-2.697l-1-0.581v-8.938l0.051-0.153 c0.061-0.2,0.137-0.747-0.504-1.084l-0.181-0.095l-0.129-0.158c-2.904-3.563-5.229-7.402-5.324-7.563l-0.311-0.514l0.307-0.515 c0.04-0.07,0.08-0.161,0.109-0.246c-1.272-0.287-5.417-0.816-9.151-1.219h-25.892c-3.521,0-6.149,1.243-6.775,1.908 c-0.832,0.884-9.095,7.164-10.74,8.414l-0.222,0.168l-0.276,0.027c-6.159,0.661-16.474,1.973-17.927,2.674 c-1.999,0.966-2.484,1.618-2.817,2.721c-0.167,0.554-0.357,1.025-0.545,1.48c-0.322,0.792-0.626,1.539-0.756,2.651 c-0.272,2.331,0.044,6.406,0.688,6.979c0.363,0.186,0.771,0.365,1.146,0.533c1.043,0.469,1.824,0.817,2.134,1.479 c0.271,0.135,0.93,0.27,1.196,0.27l0.85-0.081l0.274,0.816c0.726,2.803,2.939,4.761,5.389,4.761c3.197,0,5.402-2.127,5.617-5.419 l0.054-0.819l0.815-0.105c1.106-0.143,1.945,0.255,2.391,0.544h36.021l-0.003-0.64L507.505,817.287z"
+ id="path29" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M516.809,806.604L507,799.77V804h-15.43c-2.555,0-3.57-1.224-3.57-2v-6h-5v6.131l0.354,0.112 c0.197,2.366,2.441,6.757,8.219,6.757H507v4.439L516.809,806.604z"
+ id="path31" /><path
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="2"
+ stroke-miterlimit="10"
+ d="M532,808.908v-8.2 c0,0,0.497-1.502-0.987-2.283c-2.894-3.552-5.243-7.45-5.243-7.45s0.663-1.119,0.029-1.553S515.921,788,515.921,788h-25.942 c-3.782,0-6.689,1.356-7.507,2.224c-0.814,0.867-10.614,8.304-10.614,8.304s-16.104,1.728-18.256,2.766 c-2.151,1.04-2.896,1.86-3.341,3.332c-0.443,1.474-1.113,2.401-1.337,4.308c-0.223,1.907-0.146,7.269,1.188,7.96 c1.336,0.692,2.746,1.118,2.895,1.642c0.148,0.52,1.631,0.773,2.076,0.773c0.021,0,0.074-0.007,0.156-0.015 c0.823,3.188,3.355,5.511,6.354,5.511c3.494,0,6.354-2.351,6.615-6.354c1.175-0.152,1.934,0.552,1.934,0.552h35.021h2.332 c0,0-0.003-0.743-0.003-0.713c0,4.284,2.972,7.354,6.64,7.354c3.669,0,6.644-3.674,6.644-7.957c0-0.019-0.003-0.135-0.003-0.149 c1.687-0.15,3.227-0.454,4.319-0.865c4.378-1.646,7.909-3.257,7.909-3.257v-3.922L532,808.908z"
+ id="path33" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M516.809,806.604L507,799.77V804h-15.43c-2.555,0-3.57-1.224-3.57-2v-6h-5v6.131l0.354,0.112 c0.197,2.366,2.441,6.757,8.219,6.757H507v4.439L516.809,806.604z"
+ id="path35" /><rect
+ style="opacity:0.8;fill:none;stroke:#ffffff;stroke-width:0.84719998;stroke-miterlimit:10;stroke-opacity:1"
+ id="rect14-6"
+ height="86.563004"
+ width="110.5"
+ stroke-miterlimit="10"
+ y="0.89658129"
+ x="0.55821991" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC/images/fan_dir_down_off.png b/sample-qml/apps/HVAC/images/fan_dir_down_off.png
new file mode 100644
index 0000000..cbbc22a
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_dir_down_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/fan_dir_down_off.svg b/sample-qml/apps/HVAC/images/fan_dir_down_off.svg
new file mode 100644
index 0000000..616162b
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_dir_down_off.svg
@@ -0,0 +1,196 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="123px"
+ height="97px"
+ viewBox="0 0 123 97"
+ enable-background="new 0 0 123 97"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="fan_dir_down_off.svg"><metadata
+ id="metadata67"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs65"><filter
+ id="filter3837"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur3839"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite3841"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3843"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3845"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend3847"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite3849"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1616"
+ inkscape:window-height="903"
+ id="namedview63"
+ showgrid="false"
+ inkscape:zoom="6.71464"
+ inkscape:cx="0.48403811"
+ inkscape:cy="16.592146"
+ inkscape:window-x="75"
+ inkscape:window-y="34"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="15.1289"
+ y1="1640"
+ x2="15.1288"
+ y2="740.8912"
+ gradientTransform="matrix(1 0 0 1 468 -694)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ x="123.129"
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M268.629,643.039V738.5h-122v-80.76C186.629,651.722,227.629,646.832,268.629,643.039z"
+ id="path10" /><path
+ style="fill-opacity:0.29019609;stroke:#b2f0ff;stroke-width:0.84719997999999985;stroke-miterlimit:10;stroke-opacity:1;fill:#000000;opacity:0.80000000000000004"
+ inkscape:connector-curvature="0"
+ id="path14"
+ d="M 122.5,0.77 V 96.23 H 0.5 V 15.47 c 40,-6.018 81,-10.907 122,-14.7 z"
+ stroke-miterlimit="10" /><g
+ id="g16"
+ style="fill:#b2f0ff;fill-opacity:1"><g
+ id="g18"
+ style="fill:#b2f0ff;fill-opacity:1"><g
+ id="g20"
+ style="fill:#b2f0ff;fill-opacity:1"><circle
+ style="fill:#b2f0ff;fill-opacity:1"
+ sodipodi:ry="8.2349997"
+ sodipodi:rx="8.2349997"
+ sodipodi:cy="34.188999"
+ sodipodi:cx="90.862"
+ id="circle22"
+ r="8.2349997"
+ cy="34.188999"
+ cx="90.862" /><path
+ style="fill:#b2f0ff;fill-opacity:1"
+ inkscape:connector-curvature="0"
+ id="path24"
+ d="m 93.139,45.619 -1.035,-0.568 c -2.859,-1.577 -6.457,-0.536 -8.033,2.321 L 77.426,59.427 64.268,55.112 c -3.01,-0.986 -6.571,0.18 -9.143,3.18 l 0.004,0.004 c -0.449,0.408 -0.876,0.873 -1.262,1.396 L 42.975,74.434 c -1.681,2.271 -1.607,5.14 0.098,6.484 l 0.617,0.487 c 1.707,1.351 4.513,0.756 6.334,-1.401 L 61.529,66.383 76.69,72.204 c 1.32,0.509 2.729,0.665 4.067,0.524 2.313,0.265 4.662,-0.854 5.854,-3.02 l 8.852,-16.057 c 1.577,-2.858 0.536,-6.455 -2.324,-8.032 z" /></g><polygon
+ style="fill:#b2f0ff;fill-opacity:1"
+ id="polygon26"
+ points="47.739,39.73 41,39.73 41,23.73 26,23.73 26,39.73 19.219,39.73 33.479,57.43 " /></g></g><linearGradient
+ id="SVGID_2_"
+ gradientUnits="userSpaceOnUse"
+ x1="-260.3716"
+ y1="1337.627"
+ x2="-260.3716"
+ y2="1431.4371"
+ gradientTransform="matrix(1 0 0 1 468 -694)"><stop
+ offset="0.5092"
+ style="stop-color:#31ABFF;stop-opacity:0"
+ id="stop29" /><stop
+ offset="0.9018"
+ style="stop-color:#31ABFF"
+ id="stop31" /><stop
+ offset="1"
+ style="stop-color:#63E6FF"
+ id="stop33" /></linearGradient><path
+ display="none"
+ fill="url(#SVGID_2_)"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ d="M268.629,643.039V738.5h-122v-80.76 C186.629,651.722,227.629,646.832,268.629,643.039z"
+ id="path35" /><g
+ display="none"
+ id="g37"><g
+ display="inline"
+ id="g39"><g
+ id="g41"><circle
+ fill="#FFFFFF"
+ cx="236.991"
+ cy="676.459"
+ r="8.235"
+ id="circle43" /><path
+ fill="#FFFFFF"
+ d="M239.268,687.889l-1.035-0.568c-2.859-1.577-6.457-0.536-8.033,2.321l-6.645,12.055l-13.158-4.315 c-3.01-0.986-6.571,0.18-9.143,3.18l0.004,0.004c-0.449,0.408-0.876,0.873-1.262,1.396l-10.893,14.743 c-1.681,2.271-1.607,5.14,0.098,6.484l0.617,0.487c1.707,1.351,4.513,0.756,6.334-1.401l11.505-13.621l15.161,5.821 c1.32,0.509,2.729,0.665,4.067,0.524c2.313,0.265,4.662-0.854,5.854-3.02l8.852-16.057 C243.169,693.063,242.128,689.466,239.268,687.889z"
+ id="path45" /></g><polygon
+ fill="#FFFFFF"
+ points="165.348,682 179.607,699.699 193.868,682 187.129,682 187.129,666 172.129,666 172.129,682 "
+ id="polygon47" /></g></g><g
+ display="none"
+ id="g49"><g
+ display="inline"
+ id="g51"><g
+ display="none"
+ id="g53"><circle
+ display="inline"
+ fill="#31ABFF"
+ cx="236.991"
+ cy="676.459"
+ r="8.235"
+ id="circle55" /><path
+ display="inline"
+ fill="#31ABFF"
+ d="M239.268,687.889l-1.035-0.568c-2.859-1.577-6.457-0.536-8.033,2.321l-6.645,12.055 l-13.158-4.315c-3.01-0.986-6.571,0.18-9.143,3.18l0.004,0.004c-0.449,0.408-0.876,0.873-1.262,1.396l-10.893,14.743 c-1.681,2.271-1.607,5.14,0.098,6.484l0.617,0.487c1.707,1.351,4.513,0.756,6.334-1.401l11.505-13.621l15.161,5.821 c1.32,0.509,2.729,0.665,4.067,0.524c2.313,0.265,4.662-0.854,5.854-3.02l8.852-16.057 C243.169,693.063,242.128,689.466,239.268,687.889z"
+ id="path57" /></g><polygon
+ display="none"
+ fill="#31ABFF"
+ points="165.348,682 179.607,699.699 193.868,682 187.129,682 187.129,666 172.129,666 172.129,682 "
+ id="polygon59" /></g></g><path
+ display="none"
+ fill="none"
+ stroke="#00507F"
+ stroke-miterlimit="10"
+ d="M968.129,664.752 C828.971,627.465,638.581,610,484.129,610s-344.841,17.465-484,54.752"
+ id="path61" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC/images/fan_dir_down_on.png b/sample-qml/apps/HVAC/images/fan_dir_down_on.png
new file mode 100644
index 0000000..71407e6
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_dir_down_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/fan_dir_down_on.svg b/sample-qml/apps/HVAC/images/fan_dir_down_on.svg
new file mode 100644
index 0000000..f5e5771
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_dir_down_on.svg
@@ -0,0 +1,201 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="123px"
+ height="97px"
+ viewBox="0 0 123 97"
+ enable-background="new 0 0 123 97"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="fan_dir_down_off.svg"><metadata
+ id="metadata67"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs65"><filter
+ id="filter3837"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur3839"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite3841"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3843"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3845"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend3847"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite3849"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1616"
+ inkscape:window-height="903"
+ id="namedview63"
+ showgrid="false"
+ inkscape:zoom="6.71464"
+ inkscape:cx="52.906804"
+ inkscape:cy="16.592146"
+ inkscape:window-x="75"
+ inkscape:window-y="34"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="15.1289"
+ y1="1640"
+ x2="15.1288"
+ y2="740.8912"
+ gradientTransform="matrix(1 0 0 1 468 -694)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ x="123.129"
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M268.629,643.039V738.5h-122v-80.76C186.629,651.722,227.629,646.832,268.629,643.039z"
+ id="path10" /><path
+ style="fill-opacity:1;stroke:#b2f0ff;stroke-width:0.84719997999999985;stroke-miterlimit:10;stroke-opacity:0.63999998999999996;fill:#000000;opacity:0.80000000000000004;filter:url(#filter3837)"
+ inkscape:connector-curvature="0"
+ id="path14"
+ d="M 122.5,0.77 V 96.23 H 0.5 V 15.47 c 40,-6.018 81,-10.907 122,-14.7 z"
+ stroke-miterlimit="10" /><g
+ id="g16"
+ style="fill:#ffffff;fill-opacity:1"><g
+ id="g18"
+ style="fill:#ffffff;fill-opacity:1"><g
+ id="g20"
+ style="fill:#ffffff;fill-opacity:1"><circle
+ style="fill:#ffffff;fill-opacity:1"
+ sodipodi:ry="8.2349997"
+ sodipodi:rx="8.2349997"
+ sodipodi:cy="34.188999"
+ sodipodi:cx="90.862"
+ id="circle22"
+ r="8.2349997"
+ cy="34.188999"
+ cx="90.862" /><path
+ style="fill:#ffffff;fill-opacity:1"
+ inkscape:connector-curvature="0"
+ id="path24"
+ d="m 93.139,45.619 -1.035,-0.568 c -2.859,-1.577 -6.457,-0.536 -8.033,2.321 L 77.426,59.427 64.268,55.112 c -3.01,-0.986 -6.571,0.18 -9.143,3.18 l 0.004,0.004 c -0.449,0.408 -0.876,0.873 -1.262,1.396 L 42.975,74.434 c -1.681,2.271 -1.607,5.14 0.098,6.484 l 0.617,0.487 c 1.707,1.351 4.513,0.756 6.334,-1.401 L 61.529,66.383 76.69,72.204 c 1.32,0.509 2.729,0.665 4.067,0.524 2.313,0.265 4.662,-0.854 5.854,-3.02 l 8.852,-16.057 c 1.577,-2.858 0.536,-6.455 -2.324,-8.032 z" /></g><polygon
+ style="fill:#ffffff;fill-opacity:1"
+ id="polygon26"
+ points="47.739,39.73 41,39.73 41,23.73 26,23.73 26,39.73 19.219,39.73 33.479,57.43 " /></g></g><linearGradient
+ id="SVGID_2_"
+ gradientUnits="userSpaceOnUse"
+ x1="-260.3716"
+ y1="1337.627"
+ x2="-260.3716"
+ y2="1431.4371"
+ gradientTransform="matrix(1 0 0 1 468 -694)"><stop
+ offset="0.5092"
+ style="stop-color:#31ABFF;stop-opacity:0"
+ id="stop29" /><stop
+ offset="0.9018"
+ style="stop-color:#31ABFF"
+ id="stop31" /><stop
+ offset="1"
+ style="stop-color:#63E6FF"
+ id="stop33" /></linearGradient><path
+ display="none"
+ fill="url(#SVGID_2_)"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ d="M268.629,643.039V738.5h-122v-80.76 C186.629,651.722,227.629,646.832,268.629,643.039z"
+ id="path35" /><g
+ display="none"
+ id="g37"><g
+ display="inline"
+ id="g39"><g
+ id="g41"><circle
+ fill="#FFFFFF"
+ cx="236.991"
+ cy="676.459"
+ r="8.235"
+ id="circle43" /><path
+ fill="#FFFFFF"
+ d="M239.268,687.889l-1.035-0.568c-2.859-1.577-6.457-0.536-8.033,2.321l-6.645,12.055l-13.158-4.315 c-3.01-0.986-6.571,0.18-9.143,3.18l0.004,0.004c-0.449,0.408-0.876,0.873-1.262,1.396l-10.893,14.743 c-1.681,2.271-1.607,5.14,0.098,6.484l0.617,0.487c1.707,1.351,4.513,0.756,6.334-1.401l11.505-13.621l15.161,5.821 c1.32,0.509,2.729,0.665,4.067,0.524c2.313,0.265,4.662-0.854,5.854-3.02l8.852-16.057 C243.169,693.063,242.128,689.466,239.268,687.889z"
+ id="path45" /></g><polygon
+ fill="#FFFFFF"
+ points="165.348,682 179.607,699.699 193.868,682 187.129,682 187.129,666 172.129,666 172.129,682 "
+ id="polygon47" /></g></g><g
+ display="none"
+ id="g49"><g
+ display="inline"
+ id="g51"><g
+ display="none"
+ id="g53"><circle
+ display="inline"
+ fill="#31ABFF"
+ cx="236.991"
+ cy="676.459"
+ r="8.235"
+ id="circle55" /><path
+ display="inline"
+ fill="#31ABFF"
+ d="M239.268,687.889l-1.035-0.568c-2.859-1.577-6.457-0.536-8.033,2.321l-6.645,12.055 l-13.158-4.315c-3.01-0.986-6.571,0.18-9.143,3.18l0.004,0.004c-0.449,0.408-0.876,0.873-1.262,1.396l-10.893,14.743 c-1.681,2.271-1.607,5.14,0.098,6.484l0.617,0.487c1.707,1.351,4.513,0.756,6.334-1.401l11.505-13.621l15.161,5.821 c1.32,0.509,2.729,0.665,4.067,0.524c2.313,0.265,4.662-0.854,5.854-3.02l8.852-16.057 C243.169,693.063,242.128,689.466,239.268,687.889z"
+ id="path57" /></g><polygon
+ display="none"
+ fill="#31ABFF"
+ points="165.348,682 179.607,699.699 193.868,682 187.129,682 187.129,666 172.129,666 172.129,682 "
+ id="polygon59" /></g></g><path
+ display="none"
+ fill="none"
+ stroke="#00507F"
+ stroke-miterlimit="10"
+ d="M968.129,664.752 C828.971,627.465,638.581,610,484.129,610s-344.841,17.465-484,54.752"
+ id="path61" /><path
+ style="fill-opacity:0.28999998999999999;stroke:#ffffff;stroke-width:0.84719997999999985;stroke-miterlimit:10;stroke-opacity:1;fill:none"
+ inkscape:connector-curvature="0"
+ id="path14-7"
+ d="M 122.42013,0.71937186 V 96.179366 H 0.42018397 V 15.419371 C 40.42019,9.4013718 81.420188,4.5123718 122.42013,0.71937186 z"
+ stroke-miterlimit="10" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC/images/fan_dir_right_off.png b/sample-qml/apps/HVAC/images/fan_dir_right_off.png
new file mode 100644
index 0000000..90a0acf
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_dir_right_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/fan_dir_right_off.svg b/sample-qml/apps/HVAC/images/fan_dir_right_off.svg
new file mode 100644
index 0000000..7df2d2a
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_dir_right_off.svg
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="123px" height="88px" viewBox="0 0 123 88" enable-background="new 0 0 123 88" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-107.9995" y1="1649" x2="-107.9997" y2="749.8912" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<rect x="24" y="763.898" display="none" fill="#31ABFF" fill-opacity="0.29" stroke="#31ABFF" stroke-width="0.8902" stroke-miterlimit="10" stroke-opacity="0.64" width="122" height="86.563"/>
+<g>
+
+ <rect x="0.5" y="0.719" fill-opacity="0.29" stroke="#B2F0FF" stroke-width="0.8902" stroke-miterlimit="10" stroke-opacity="0.64" width="122" height="86.563"/>
+ <g>
+ <g>
+ <g>
+ <circle fill="#B2F0FF" cx="90.361" cy="26.764" r="8.235"/>
+ </g>
+ <g>
+ <path fill="#B2F0FF" d="M92.639,38.193l-1.035-0.57c-2.859-1.577-6.457-0.535-8.035,2.323l-6.644,12.053l-13.157-4.313
+ c-3.01-0.986-6.572,0.181-9.143,3.181l0.004,0.002c-0.451,0.41-0.877,0.874-1.263,1.396L42.473,67.006
+ c-1.68,2.271-1.606,5.141,0.098,6.486l0.617,0.486c1.707,1.349,4.513,0.756,6.334-1.401l11.504-13.622l15.162,5.822
+ c1.318,0.507,2.729,0.665,4.067,0.525c2.313,0.265,4.661-0.854,5.854-3.021l8.853-16.056
+ C96.539,43.368,95.499,39.771,92.639,38.193z"/>
+ </g>
+ </g>
+ </g>
+ <polygon fill="#B2F0FF" points="32.5,48.931 50.199,34.67 32.5,20.41 32.5,26.82 16.5,26.82 16.5,41.82 32.5,41.82 "/>
+</g>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-383.5005" y1="1468.6846" x2="-383.5005" y2="1552.0071" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0.5092" style="stop-color:#31ABFF;stop-opacity:0"/>
+ <stop offset="0.9018" style="stop-color:#31ABFF"/>
+ <stop offset="1" style="stop-color:#63E6FF"/>
+</linearGradient>
+<rect x="23.5" y="763.5" display="none" fill="url(#SVGID_2_)" stroke="#31ABFF" stroke-miterlimit="10" width="122" height="87"/>
+<g display="none">
+ <g display="inline">
+ <g>
+ <circle fill="#FFFFFF" cx="113.861" cy="789.944" r="8.235"/>
+ </g>
+ <g>
+ <path fill="#FFFFFF" d="M116.139,801.373l-1.035-0.57c-2.859-1.577-6.457-0.535-8.035,2.323l-6.644,12.053l-13.157-4.313
+ c-3.01-0.986-6.572,0.181-9.143,3.181l0.004,0.002c-0.451,0.41-0.877,0.874-1.263,1.396l-10.894,14.741
+ c-1.68,2.271-1.606,5.141,0.098,6.486l0.617,0.486c1.707,1.349,4.513,0.756,6.334-1.401l11.504-13.622l15.162,5.822
+ c1.318,0.507,2.729,0.665,4.067,0.525c2.313,0.265,4.661-0.854,5.854-3.021l8.853-16.056
+ C120.039,806.548,118.999,802.951,116.139,801.373z"/>
+ </g>
+ </g>
+</g>
+<polygon display="none" fill="#FFFFFF" points="56,812.11 73.699,797.85 56,783.59 56,790 40,790 40,805 56,805 "/>
+<g display="none">
+ <g display="inline">
+ <g display="none">
+ <circle display="inline" fill="#31ABFF" cx="113.861" cy="789.944" r="8.235"/>
+ </g>
+ <g display="none">
+ <path display="inline" fill="#31ABFF" d="M116.139,801.373l-1.035-0.57c-2.859-1.577-6.457-0.535-8.035,2.323l-6.644,12.053
+ l-13.157-4.313c-3.01-0.986-6.572,0.181-9.143,3.181l0.004,0.002c-0.451,0.41-0.877,0.874-1.263,1.396l-10.894,14.741
+ c-1.68,2.271-1.606,5.141,0.098,6.486l0.617,0.486c1.707,1.349,4.513,0.756,6.334-1.401l11.504-13.622l15.162,5.822
+ c1.318,0.507,2.729,0.665,4.067,0.525c2.313,0.265,4.661-0.854,5.854-3.021l8.853-16.056
+ C120.039,806.548,118.999,802.951,116.139,801.373z"/>
+ </g>
+ </g>
+</g>
+<polygon display="none" fill="#31ABFF" points="56,812.11 73.699,797.85 56,783.59 56,790 40,790 40,805 56,805 "/>
+</svg>
diff --git a/sample-qml/apps/HVAC/images/fan_dir_right_on.png b/sample-qml/apps/HVAC/images/fan_dir_right_on.png
new file mode 100644
index 0000000..7f59d9e
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_dir_right_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/fan_dir_right_on.svg b/sample-qml/apps/HVAC/images/fan_dir_right_on.svg
new file mode 100644
index 0000000..585dc61
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_dir_right_on.svg
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="123px"
+ height="88px"
+ viewBox="0 0 123 88"
+ enable-background="new 0 0 123 88"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="fan_dir_right_on.svg"><metadata
+ id="metadata3361"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs3359"><defs
+ id="defs3313"><filter
+ height="88"
+ width="123"
+ y="0"
+ x="0"
+ filterUnits="userSpaceOnUse"
+ id="Adobe_OpacityMaskFilter"><feColorMatrix
+ id="feColorMatrix3316"
+ result="source"
+ color-interpolation-filters="sRGB"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"
+ type="matrix" /></filter></defs><filter
+ id="filter4814"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur4816"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite4818"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite4820"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood4822"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend4824"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite4826"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="996"
+ inkscape:window-height="683"
+ id="namedview3357"
+ showgrid="false"
+ inkscape:zoom="6.71464"
+ inkscape:cx="33.276827"
+ inkscape:cy="27.647221"
+ inkscape:window-x="407"
+ inkscape:window-y="88"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="-107.9995"
+ y1="1649"
+ x2="-107.9997"
+ y2="749.8912"
+ gradientTransform="matrix(1 0 0 1 468 -703)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop3281" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop3283" /></linearGradient><rect
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect3285" /><rect
+ x="24"
+ y="763.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="122"
+ height="86.563"
+ id="rect3287" /><rect
+ x="24"
+ y="763.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="122"
+ height="86.563"
+ id="rect3289" /><g
+ display="none"
+ id="g3291"><g
+ display="inline"
+ id="g3293"><g
+ display="none"
+ id="g3295"><circle
+ display="inline"
+ fill="#31ABFF"
+ cx="113.861"
+ cy="789.944"
+ r="8.235"
+ id="circle3297" /></g><g
+ display="none"
+ id="g3299"><path
+ display="inline"
+ fill="#31ABFF"
+ d="M116.139,801.373l-1.035-0.57c-2.859-1.577-6.457-0.535-8.035,2.323l-6.644,12.053 l-13.157-4.313c-3.01-0.986-6.572,0.181-9.143,3.181l0.004,0.002c-0.451,0.41-0.877,0.874-1.263,1.396l-10.894,14.741 c-1.68,2.271-1.606,5.141,0.098,6.486l0.617,0.486c1.707,1.349,4.513,0.756,6.334-1.401l11.504-13.622l15.162,5.822 c1.318,0.507,2.729,0.665,4.067,0.525c2.313,0.265,4.661-0.854,5.854-3.021l8.853-16.056 C120.039,806.548,118.999,802.951,116.139,801.373z"
+ id="path3301" /></g></g></g><polygon
+ display="none"
+ fill="#31ABFF"
+ points="56,812.11 73.699,797.85 56,783.59 56,790 40,790 40,805 56,805 "
+ id="polygon3303" /><rect
+ x="0.5"
+ y="0.5"
+ width="122"
+ height="87"
+ id="rect3309"
+ style="opacity:0.80000000000000004;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:0;filter:url(#filter4828)" /><rect
+ x="0.5"
+ y="0.5"
+ stroke-miterlimit="10"
+ width="122"
+ height="87"
+ id="rect3311"
+ style="fill:#000000;stroke:#ffffff;stroke-miterlimit:10;fill-opacity:1;opacity:0.80000000000000004;stroke-opacity:1;filter:url(#filter4814)" /><g
+ style="opacity:0.75"
+ id="g3323"
+ mask="url(#SVGID_2_)"><rect
+ style="opacity:0.8;fill:#53b5ce"
+ id="rect3325"
+ height="87"
+ width="122"
+ y="0.5"
+ x="0.5" /><rect
+ style="fill:none;stroke:#53b5ce;stroke-miterlimit:10"
+ id="rect3327"
+ height="87"
+ width="122"
+ stroke-miterlimit="10"
+ y="0.5"
+ x="0.5" /></g><g
+ id="g3329"><g
+ id="g3331"><g
+ id="g3333"><circle
+ fill="#FFFFFF"
+ cx="90.861"
+ cy="26.944"
+ r="8.235"
+ id="circle3335" /></g><g
+ id="g3337"><path
+ fill="#FFFFFF"
+ d="M93.139,38.373l-1.035-0.57c-2.859-1.577-6.457-0.535-8.035,2.323l-6.644,12.053l-13.157-4.313 c-3.01-0.986-6.572,0.181-9.143,3.181l0.004,0.002c-0.451,0.41-0.877,0.874-1.263,1.396L42.973,67.186 c-1.68,2.271-1.606,5.141,0.098,6.486l0.617,0.486c1.707,1.349,4.513,0.756,6.334-1.401l11.504-13.622l15.162,5.822 c1.318,0.507,2.729,0.665,4.067,0.525c2.313,0.265,4.661-0.854,5.854-3.021l8.853-16.056 C97.039,43.548,95.999,39.951,93.139,38.373z"
+ id="path3339" /></g></g></g><polygon
+ fill="#FFFFFF"
+ points="33,49.11 50.699,34.85 33,20.59 33,27 17,27 17,42 33,42 "
+ id="polygon3341" /><g
+ display="none"
+ id="g3343"><g
+ display="inline"
+ id="g3345"><g
+ display="none"
+ id="g3347"><circle
+ display="inline"
+ fill="#31ABFF"
+ cx="113.861"
+ cy="789.944"
+ r="8.235"
+ id="circle3349" /></g><g
+ display="none"
+ id="g3351"><path
+ display="inline"
+ fill="#31ABFF"
+ d="M116.139,801.373l-1.035-0.57c-2.859-1.577-6.457-0.535-8.035,2.323l-6.644,12.053 l-13.157-4.313c-3.01-0.986-6.572,0.181-9.143,3.181l0.004,0.002c-0.451,0.41-0.877,0.874-1.263,1.396l-10.894,14.741 c-1.68,2.271-1.606,5.141,0.098,6.486l0.617,0.486c1.707,1.349,4.513,0.756,6.334-1.401l11.504-13.622l15.162,5.822 c1.318,0.507,2.729,0.665,4.067,0.525c2.313,0.265,4.661-0.854,5.854-3.021l8.853-16.056 C120.039,806.548,118.999,802.951,116.139,801.373z"
+ id="path3353" /></g></g></g><polygon
+ display="none"
+ fill="#31ABFF"
+ points="56,812.11 73.699,797.85 56,783.59 56,790 40,790 40,805 56,805 "
+ id="polygon3355" /><rect
+ x="0.57227302"
+ y="0.86626279"
+ stroke-miterlimit="10"
+ width="122"
+ height="87"
+ id="rect3311-4"
+ style="opacity:0.80000000000000004;fill:none;fill-opacity:1;stroke:#ffffff;stroke-miterlimit:10;stroke-opacity:1;" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC/images/fan_dir_up_off.png b/sample-qml/apps/HVAC/images/fan_dir_up_off.png
new file mode 100644
index 0000000..f5a0189
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_dir_up_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/fan_dir_up_off.svg b/sample-qml/apps/HVAC/images/fan_dir_up_off.svg
new file mode 100644
index 0000000..a89f804
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_dir_up_off.svg
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="123px" height="88px" viewBox="0 0 123 88" enable-background="new 0 0 123 88" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-342" y1="-996" x2="-342.0004" y2="-96.8916" gradientTransform="matrix(1 0 0 -1 702 -50)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<rect x="24" y="876.898" display="none" fill="#31ABFF" fill-opacity="0.29" stroke="#31ABFF" stroke-width="0.8902" stroke-miterlimit="10" stroke-opacity="0.64" width="122" height="86.563"/>
+<rect x="0.5" y="0.719" fill-opacity="0.29" stroke="#B2F0FF" stroke-width="0.8902" stroke-miterlimit="10" stroke-opacity="0.64" width="122" height="86.563"/>
+<g>
+ <g>
+ <g>
+ <circle fill="#B2F0FF" cx="90.361" cy="25.457" r="8.235"/>
+ </g>
+ <g>
+ <path fill="#B2F0FF" d="M92.639,36.886l-1.035-0.57c-2.858-1.577-6.457-0.536-8.035,2.323l-6.644,12.052l-13.157-4.314
+ c-3.01-0.984-6.572,0.184-9.143,3.184l0.004,0.002c-0.451,0.41-0.877,0.873-1.263,1.396L42.473,65.699
+ c-1.68,2.271-1.606,5.139,0.098,6.486l0.617,0.483c1.707,1.351,4.513,0.758,6.334-1.399l11.504-13.621l15.162,5.821
+ c1.318,0.507,2.729,0.664,4.067,0.523c2.313,0.266,4.661-0.854,5.854-3.021l8.853-16.057
+ C96.539,42.061,95.499,38.464,92.639,36.886z"/>
+ </g>
+ </g>
+</g>
+<polygon fill="#B2F0FF" points="47.238,34.82 32.978,17.121 18.718,34.82 25.5,34.82 25.5,50.82 40.5,50.82 40.5,34.82 "/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-617.5" y1="-927.6396" x2="-617.5" y2="-1012.9438" gradientTransform="matrix(1 0 0 -1 702 -50)">
+ <stop offset="0.5092" style="stop-color:#31ABFF;stop-opacity:0"/>
+ <stop offset="0.9018" style="stop-color:#31ABFF"/>
+ <stop offset="1" style="stop-color:#63E6FF"/>
+</linearGradient>
+<rect x="23.5" y="876.5" display="none" fill="url(#SVGID_2_)" stroke="#31ABFF" stroke-miterlimit="10" width="122" height="87"/>
+<g display="none">
+ <g display="inline">
+ <g>
+ <circle fill="#FFFFFF" cx="113.861" cy="901.636" r="8.235"/>
+ </g>
+ <g>
+ <path fill="#FFFFFF" d="M116.139,913.065l-1.035-0.57c-2.858-1.577-6.457-0.536-8.035,2.323l-6.644,12.053l-13.157-4.315
+ c-3.01-0.983-6.572,0.184-9.143,3.184l0.004,0.002c-0.451,0.41-0.877,0.873-1.263,1.396L65.973,941.88
+ c-1.681,2.271-1.606,5.139,0.098,6.486l0.617,0.483c1.707,1.352,4.513,0.759,6.334-1.398l11.504-13.622l15.162,5.822
+ c1.317,0.507,2.729,0.664,4.066,0.522c2.313,0.267,4.661-0.854,5.854-3.02l8.854-16.058
+ C120.039,918.24,118.999,914.644,116.139,913.065z"/>
+ </g>
+ </g>
+</g>
+<polygon display="none" fill="#FFFFFF" points="70.738,911 56.478,893.301 42.218,911 49,911 49,927 64,927 64,911 "/>
+<g display="none">
+ <g display="inline">
+ <g display="none">
+ <circle display="inline" fill="#31ABFF" cx="113.861" cy="901.636" r="8.235"/>
+ </g>
+ <g display="none">
+ <path display="inline" fill="#31ABFF" d="M116.139,913.065l-1.035-0.57c-2.858-1.577-6.457-0.536-8.035,2.323l-6.644,12.053
+ l-13.157-4.315c-3.01-0.983-6.572,0.184-9.143,3.184l0.004,0.002c-0.451,0.41-0.877,0.873-1.263,1.396L65.973,941.88
+ c-1.681,2.271-1.606,5.139,0.098,6.486l0.617,0.483c1.707,1.352,4.513,0.759,6.334-1.398l11.504-13.622l15.162,5.822
+ c1.317,0.507,2.729,0.664,4.066,0.522c2.313,0.267,4.661-0.854,5.854-3.02l8.854-16.058
+ C120.039,918.24,118.999,914.644,116.139,913.065z"/>
+ </g>
+ </g>
+</g>
+<polygon display="none" fill="#31ABFF" points="70.738,911 56.478,893.301 42.218,911 49,911 49,927 64,927 64,911 "/>
+</svg>
diff --git a/sample-qml/apps/HVAC/images/fan_dir_up_on.png b/sample-qml/apps/HVAC/images/fan_dir_up_on.png
new file mode 100644
index 0000000..e6dcb48
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_dir_up_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/fan_dir_up_on.svg b/sample-qml/apps/HVAC/images/fan_dir_up_on.svg
new file mode 100644
index 0000000..e17278b
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_dir_up_on.svg
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="123px"
+ height="88px"
+ viewBox="0 0 123 88"
+ enable-background="new 0 0 123 88"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="fan_dir_up_off.svg"><metadata
+ id="metadata69"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs67"><filter
+ id="filter3814"
+ inkscape:label="filter3814"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur3816"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite3818"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3820"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3822"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend3824"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite3826"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter><filter
+ id="filter3814-9"
+ inkscape:label="filter3814"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur3816-2"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite3818-0"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3820-7"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3822-0"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend3824-4"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite3826-2"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1725"
+ inkscape:window-height="868"
+ id="namedview65"
+ showgrid="false"
+ inkscape:zoom="4.7479675"
+ inkscape:cx="44.992291"
+ inkscape:cy="47.049892"
+ inkscape:window-x="75"
+ inkscape:window-y="34"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="-342"
+ y1="-996"
+ x2="-342.0004"
+ y2="-96.8916"
+ gradientTransform="matrix(1 0 0 -1 702 -50)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><rect
+ x="24"
+ y="876.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="122"
+ height="86.563"
+ id="rect10" /><rect
+ x="0.5"
+ y="0.719"
+ stroke-miterlimit="10"
+ width="122"
+ height="86.563"
+ id="rect12"
+ style="fill:#000000;fill-opacity:1;opacity:0.80000000000000004;stroke:#ffffff;stroke-opacity:1;filter:url(#filter3814)"
+ stroke-opacity="0.64"
+ stroke-width="0.8902"
+ stroke="#B2F0FF"
+ fill-opacity="0.29" /><g
+ id="g14"
+ style="fill:#ffffff;fill-opacity:1"><g
+ id="g16"
+ style="fill:#ffffff;fill-opacity:1"><g
+ id="g18"
+ style="fill:#ffffff;fill-opacity:1"><circle
+ fill="#B2F0FF"
+ cx="90.361"
+ cy="25.457"
+ r="8.235"
+ id="circle20"
+ style="fill:#ffffff;fill-opacity:1" /></g><g
+ id="g22"
+ style="fill:#ffffff;fill-opacity:1"><path
+ fill="#B2F0FF"
+ d="M92.639,36.886l-1.035-0.57c-2.858-1.577-6.457-0.536-8.035,2.323l-6.644,12.052l-13.157-4.314 c-3.01-0.984-6.572,0.184-9.143,3.184l0.004,0.002c-0.451,0.41-0.877,0.873-1.263,1.396L42.473,65.699 c-1.68,2.271-1.606,5.139,0.098,6.486l0.617,0.483c1.707,1.351,4.513,0.758,6.334-1.399l11.504-13.621l15.162,5.821 c1.318,0.507,2.729,0.664,4.067,0.523c2.313,0.266,4.661-0.854,5.854-3.021l8.853-16.057 C96.539,42.061,95.499,38.464,92.639,36.886z"
+ id="path24"
+ style="fill:#ffffff;fill-opacity:1" /></g></g></g><polygon
+ fill="#B2F0FF"
+ points="47.238,34.82 32.978,17.121 18.718,34.82 25.5,34.82 25.5,50.82 40.5,50.82 40.5,34.82 "
+ id="polygon26"
+ style="fill:#ffffff;fill-opacity:1" /><linearGradient
+ id="SVGID_2_"
+ gradientUnits="userSpaceOnUse"
+ x1="-617.5"
+ y1="-927.6396"
+ x2="-617.5"
+ y2="-1012.9438"
+ gradientTransform="matrix(1 0 0 -1 702 -50)"><stop
+ offset="0.5092"
+ style="stop-color:#31ABFF;stop-opacity:0"
+ id="stop29" /><stop
+ offset="0.9018"
+ style="stop-color:#31ABFF"
+ id="stop31" /><stop
+ offset="1"
+ style="stop-color:#63E6FF"
+ id="stop33" /></linearGradient><rect
+ x="23.5"
+ y="876.5"
+ display="none"
+ fill="url(#SVGID_2_)"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ width="122"
+ height="87"
+ id="rect35" /><g
+ display="none"
+ id="g37"><g
+ display="inline"
+ id="g39"><g
+ id="g41"><circle
+ fill="#FFFFFF"
+ cx="113.861"
+ cy="901.636"
+ r="8.235"
+ id="circle43" /></g><g
+ id="g45"><path
+ fill="#FFFFFF"
+ d="M116.139,913.065l-1.035-0.57c-2.858-1.577-6.457-0.536-8.035,2.323l-6.644,12.053l-13.157-4.315 c-3.01-0.983-6.572,0.184-9.143,3.184l0.004,0.002c-0.451,0.41-0.877,0.873-1.263,1.396L65.973,941.88 c-1.681,2.271-1.606,5.139,0.098,6.486l0.617,0.483c1.707,1.352,4.513,0.759,6.334-1.398l11.504-13.622l15.162,5.822 c1.317,0.507,2.729,0.664,4.066,0.522c2.313,0.267,4.661-0.854,5.854-3.02l8.854-16.058 C120.039,918.24,118.999,914.644,116.139,913.065z"
+ id="path47" /></g></g></g><polygon
+ display="none"
+ fill="#FFFFFF"
+ points="70.738,911 56.478,893.301 42.218,911 49,911 49,927 64,927 64,911 "
+ id="polygon49" /><g
+ display="none"
+ id="g51"><g
+ display="inline"
+ id="g53"><g
+ display="none"
+ id="g55"><circle
+ display="inline"
+ fill="#31ABFF"
+ cx="113.861"
+ cy="901.636"
+ r="8.235"
+ id="circle57" /></g><g
+ display="none"
+ id="g59"><path
+ display="inline"
+ fill="#31ABFF"
+ d="M116.139,913.065l-1.035-0.57c-2.858-1.577-6.457-0.536-8.035,2.323l-6.644,12.053 l-13.157-4.315c-3.01-0.983-6.572,0.184-9.143,3.184l0.004,0.002c-0.451,0.41-0.877,0.873-1.263,1.396L65.973,941.88 c-1.681,2.271-1.606,5.139,0.098,6.486l0.617,0.483c1.707,1.352,4.513,0.759,6.334-1.398l11.504-13.622l15.162,5.822 c1.317,0.507,2.729,0.664,4.066,0.522c2.313,0.267,4.661-0.854,5.854-3.02l8.854-16.058 C120.039,918.24,118.999,914.644,116.139,913.065z"
+ id="path61" /></g></g></g><polygon
+ display="none"
+ fill="#31ABFF"
+ points="70.738,911 56.478,893.301 42.218,911 49,911 49,927 64,927 64,911 "
+ id="polygon63" /><rect
+ x="0.81678134"
+ y="0.8058303"
+ stroke-miterlimit="10"
+ width="122"
+ height="86.563004"
+ id="rect12-6"
+ style="opacity:0.8;fill:none;stroke:#ffffff;stroke-width:0.89020002;stroke-miterlimit:10;stroke-opacity:1" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC/images/fan_icon_off.png b/sample-qml/apps/HVAC/images/fan_icon_off.png
new file mode 100644
index 0000000..a579c25
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/fan_icon_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/hazard_blink.png b/sample-qml/apps/HVAC/images/hazard_blink.png
new file mode 100644
index 0000000..bda2c88
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/hazard_blink.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/hazard_blink.svg b/sample-qml/apps/HVAC/images/hazard_blink.svg
new file mode 100644
index 0000000..983c8e1
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/hazard_blink.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="416px" height="81px" viewBox="0 0 416 81" enable-background="new 0 0 416 81" xml:space="preserve">
+<rect x="152.053" y="17.5" display="none" fill="#31ABFF" fill-opacity="0.29" stroke="#31ABFF" stroke-width="0.6866" stroke-miterlimit="10" stroke-opacity="0.64" width="415.947" height="79.5"/>
+<g>
+ <rect x="0.5" y="0.5" fill-opacity="0.8" stroke="#FFFFFF" stroke-miterlimit="10" width="415" height="80"/>
+ <path fill="none" stroke="#FE9C00" stroke-width="6" stroke-miterlimit="10" d="M236.906,70h-57.737
+ c-1.891,0-3.421-1.535-4.2-2.883s-0.683-3.441,0.265-5.079l28.867-50.193c0.945-1.638,2.381-2.671,3.938-2.671
+ c1.557,0,2.992,0.892,3.937,2.529l28.869,49.979c0.945,1.637,1.041,4.101,0.265,5.446C240.327,68.479,238.798,70,236.906,70z"/>
+ <polygon fill="none" stroke="#FE9C00" stroke-width="6" stroke-miterlimit="10" points="186.375,61 207.958,23.616 229.541,61 "/>
+</g>
+</svg>
diff --git a/sample-qml/apps/HVAC/images/hazard_off.png b/sample-qml/apps/HVAC/images/hazard_off.png
new file mode 100644
index 0000000..923bfb5
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/hazard_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/hazard_off.svg b/sample-qml/apps/HVAC/images/hazard_off.svg
new file mode 100644
index 0000000..e9ad198
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/hazard_off.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="416px" height="81px" viewBox="0 0 416 81" enable-background="new 0 0 416 81" xml:space="preserve">
+<g>
+
+ <rect x="0.026" y="0.75" fill-opacity="0.29" stroke="#B2F0FF" stroke-width="0.6866" stroke-miterlimit="10" stroke-opacity="0.64" width="415.947" height="79.5"/>
+ <path fill="none" stroke="#B2F0FF" stroke-width="6" stroke-miterlimit="10" d="M236.88,70.25h-57.737
+ c-1.891,0-3.421-1.535-4.2-2.883s-0.683-3.441,0.265-5.079l28.867-50.193c0.945-1.638,2.381-2.671,3.938-2.671
+ c1.557,0,2.992,0.892,3.937,2.529l28.869,49.979c0.945,1.637,1.041,4.101,0.265,5.446C240.301,68.729,238.771,70.25,236.88,70.25z"
+ />
+ <polygon fill="none" stroke="#B2F0FF" stroke-width="6" stroke-miterlimit="10" points="186.349,61.25 207.932,23.866
+ 229.515,61.25 "/>
+</g>
+<g>
+ <g>
+ <defs>
+ <rect id="SVGID_1_" x="280.783" y="949.047" width="517.319" height="21.96"/>
+ </defs>
+ <clipPath id="SVGID_2_">
+ <use xlink:href="#SVGID_1_" overflow="visible"/>
+ </clipPath>
+ <g clip-path="url(#SVGID_2_)">
+ <text transform="matrix(1 0 0 1 280.7813 957.2031)"><tspan x="0" y="0" font-family="'Arial-BoldMT'" font-size="9">53</tspan><tspan x="10.064" y="0" font-family="'Arial-BoldMT'" font-size="9">b</tspan><tspan x="15.58" y="0" font-family="'Arial-BoldMT'" font-size="9">5</tspan><tspan x="20.613" y="0" font-family="'Arial-BoldMT'" font-size="9">c</tspan><tspan x="25.537" y="0" font-family="'Arial-BoldMT'" font-size="9">e</tspan></text>
+ </g>
+ </g>
+ <g>
+ <defs>
+ <rect id="SVGID_3_" x="280.783" y="949.047" width="517.319" height="21.96"/>
+ </defs>
+ <clipPath id="SVGID_4_">
+ <use xlink:href="#SVGID_3_" overflow="visible"/>
+ </clipPath>
+ <g clip-path="url(#SVGID_4_)">
+ <text transform="matrix(1 0 0 1 311.2734 957.2188)" font-family="'Calibri'" font-size="9.96"> </text>
+ </g>
+ </g>
+</g>
+</svg>
diff --git a/sample-qml/apps/HVAC/images/hazard_on.png b/sample-qml/apps/HVAC/images/hazard_on.png
new file mode 100644
index 0000000..7c5e314
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/hazard_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/hazard_on.svg b/sample-qml/apps/HVAC/images/hazard_on.svg
new file mode 100644
index 0000000..f2ba8e0
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/hazard_on.svg
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="416px"
+ height="81px"
+ viewBox="0 0 416 81"
+ enable-background="new 0 0 416 81"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="hazard_on.svg"><metadata
+ id="metadata3476"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs3474"><defs
+ id="defs3452"><filter
+ id="Adobe_OpacityMaskFilter"
+ filterUnits="userSpaceOnUse"
+ x="1"
+ y="1"
+ width="415"
+ height="80"
+ color-interpolation-filters="sRGB"><feColorMatrix
+ type="matrix"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"
+ color-interpolation-filters="sRGB"
+ result="source"
+ id="feColorMatrix3455" /></filter></defs><filter
+ id="filter7619"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur7621"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite7623"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite7625"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood7627"
+ result="result10"
+ flood-opacity="1"
+ flood-color="rgb(254,156,0)" /><feBlend
+ id="feBlend7629"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite7631"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter><filter
+ id="filter7633"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur7635"
+ stdDeviation="10"
+ result="result8" /><feComposite
+ id="feComposite7637"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite7639"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood7641"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(255,222,85)" /><feBlend
+ id="feBlend7643"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite7645"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="927"
+ inkscape:window-height="1388"
+ id="namedview3472"
+ showgrid="false"
+ inkscape:zoom="0.70192308"
+ inkscape:cx="208.00001"
+ inkscape:cy="40.5"
+ inkscape:window-x="334"
+ inkscape:window-y="24"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><rect
+ x="152.053"
+ y="17.5"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.6866"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="415.947"
+ height="79.5"
+ id="rect3444" /><rect
+ style="opacity:0.80000000000000004;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:1;filter:url(#filter7619)"
+ x="1"
+ y="1"
+ width="415"
+ height="80"
+ id="rect3450" /><rect
+ x="1"
+ y="1"
+ mask="url(#SVGID_1_)"
+ width="415"
+ height="80"
+ id="rect3462"
+ style="opacity:0.80000000000000004;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:0;filter:url(#filter7619)" /><rect
+ style="fill:none;stroke:#ffffff;stroke-miterlimit:10"
+ id="rect3464"
+ height="80"
+ width="415"
+ stroke-miterlimit="10"
+ y="1"
+ x="1" /><rect
+ x="1"
+ y="1"
+ fill="none"
+ stroke="#FFFFFF"
+ stroke-miterlimit="10"
+ width="415"
+ height="80"
+ id="rect3466" /><path
+ fill="none"
+ stroke="#FFFFFF"
+ stroke-width="6"
+ stroke-miterlimit="10"
+ d="M237.406,70.5h-57.737 c-1.891,0-3.421-1.535-4.2-2.883s-0.683-3.441,0.265-5.079l28.867-50.193c0.945-1.638,2.381-2.671,3.938-2.671 c1.557,0,2.992,0.892,3.937,2.529l28.869,49.979c0.945,1.637,1.041,4.101,0.265,5.446C240.827,68.979,239.298,70.5,237.406,70.5z"
+ id="path3468" /><polygon
+ fill="none"
+ stroke="#FFFFFF"
+ stroke-width="6"
+ stroke-miterlimit="10"
+ points="186.875,61.5 208.458,24.116 230.041,61.5 "
+ id="polygon3470" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC/images/left_heat_seat_off.png b/sample-qml/apps/HVAC/images/left_heat_seat_off.png
new file mode 100644
index 0000000..ee3444b
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/left_heat_seat_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/left_heat_seat_off.svg b/sample-qml/apps/HVAC/images/left_heat_seat_off.svg
new file mode 100644
index 0000000..5823221
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/left_heat_seat_off.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="159px" height="129px" viewBox="0 0 159 129" enable-background="new 0 0 159 129" xml:space="preserve">
+<rect x="0.522" y="0.733" opacity="0.8" fill-opacity="0.29" stroke="#B2F0FF" stroke-miterlimit="10" stroke-opacity="0.64" enable-background="new " width="157.957" height="127.535"/>
+<path fill="#53B5CE" fill-opacity="0.29" stroke="#B2F0FF" stroke-width="0.8243" stroke-miterlimit="10" stroke-opacity="0.64" d="
+ M63.616,80.979l-51.053-3.021c-3.593-0.146-5.474,3.104-4.104,7.17l2.857,10.824c1.527,4.528,5.986,9.041,9.908,9.041h62.59
+ c5.252,0,6.744-6.563,6.744-11.152c-0.119-25.828,4.733-52.385,14.563-78.247c0.953-2.52-0.951-5.045-4.299-5.7
+ c-1.814-0.356-3.633-0.713-5.449-1.069c-3.336-0.654-7.049,0.768-8.258,3.236C76.077,34.622,68.843,55.84,65.418,78.618
+ C65.419,78.613,64.755,81.047,63.616,80.979z"/>
+<path fill="#B2F0FF" d="M30.449,123.025c-18.859,0,15.646,0-3.215,0c10.184-23-10.184-45,0-67c18.859,0-15.645,0,3.215,0
+ C20.265,78.025,40.632,100.025,30.449,123.025z"/>
+<polygon fill="#B2F0FF" points="22.459,56.313 29.96,48.476 32.997,58.891 "/>
+<path fill="#B2F0FF" d="M43.308,123.025c-18.86,0,15.646,0-3.215,0c10.184-23-10.186-45,0-67c18.858,0-15.646,0,3.215,0
+ C33.124,78.025,53.492,100.025,43.308,123.025z"/>
+<polygon fill="#B2F0FF" points="35.319,56.313 42.82,48.476 45.856,58.891 "/>
+<path fill="#B2F0FF" d="M56.808,123.025c-18.858,0,15.646,0-3.213,0c10.184-23-10.186-45,0-67c18.858,0-15.646,0,3.213,0
+ C46.625,78.025,66.994,100.025,56.808,123.025z"/>
+<polygon fill="#B2F0FF" points="48.821,56.313 56.322,48.476 59.358,58.891 "/>
+<path opacity="0.29" stroke="#FE9C00" stroke-miterlimit="10" enable-background="new " d="M150.949,44.025v-22H110.51
+ c-2.568,7-4.732,14-6.518,22H150.949z"/>
+<path opacity="0.29" stroke="#FE9C00" stroke-miterlimit="10" enable-background="new " d="M150.949,69.025v-21h-47.871
+ c-1.629,7-2.879,14-3.729,21H150.949z"/>
+<path opacity="0.29" stroke="#FE9C00" stroke-miterlimit="10" enable-background="new " d="M97.936,95.025h53.017v-22H98.939
+ c-0.67,7-1.002,13.871-0.973,20.758C97.969,94.18,97.951,95.025,97.936,95.025z"/>
+</svg>
diff --git a/sample-qml/apps/HVAC/images/left_heat_seat_on.png b/sample-qml/apps/HVAC/images/left_heat_seat_on.png
new file mode 100644
index 0000000..02627f9
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/left_heat_seat_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/left_heat_seat_on.svg b/sample-qml/apps/HVAC/images/left_heat_seat_on.svg
new file mode 100644
index 0000000..4cd0841
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/left_heat_seat_on.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="159px"
+ height="129px"
+ viewBox="0 0 159 129"
+ enable-background="new 0 0 159 129"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="left_heat_seat_on.svg"><metadata
+ id="metadata29"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs27" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1186"
+ inkscape:window-height="735"
+ id="namedview25"
+ showgrid="false"
+ inkscape:zoom="1.8294574"
+ inkscape:cx="-16.703388"
+ inkscape:cy="64.500002"
+ inkscape:window-x="399"
+ inkscape:window-y="127"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><path
+ opacity="0.29"
+ stroke="#FE9C00"
+ stroke-miterlimit="10"
+ enable-background="new "
+ d="M150.949,44.025v-22H110.51 c-2.568,7-4.732,14-6.518,22H150.949z"
+ id="path19"
+ style="fill:#fe9c00;fill-opacity:1;stroke:#ffd38c;stroke-opacity:1;opacity:0.8" /><path
+ opacity="0.29"
+ stroke="#FE9C00"
+ stroke-miterlimit="10"
+ enable-background="new "
+ d="M150.949,69.025v-21h-47.871 c-1.629,7-2.879,14-3.729,21H150.949z"
+ id="path21"
+ style="fill:#fe9c00;fill-opacity:1;stroke:#ffd38c;stroke-opacity:1;opacity:0.8" /><path
+ opacity="0.29"
+ stroke="#FE9C00"
+ stroke-miterlimit="10"
+ enable-background="new "
+ d="M97.936,95.025h53.017v-22H98.939 c-0.67,7-1.002,13.871-0.973,20.758C97.969,94.18,97.951,95.025,97.936,95.025z"
+ id="path23"
+ style="fill:#fe9c00;fill-opacity:1;stroke:#ffd38c;stroke-opacity:1;opacity:0.8" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC/images/left_number_bg.svg b/sample-qml/apps/HVAC/images/left_number_bg.svg
new file mode 100644
index 0000000..cdba6d5
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/left_number_bg.svg
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="158px" height="231px" viewBox="0 0 158 231" enable-background="new 0 0 158 231" xml:space="preserve">
+<polygon fill-opacity="0.8" points="158,89.703 158,0 0.436,0 0.436,231.668 158,231.668 158,141.186 132.26,115.444 "/>
+<g display="none">
+ <g display="inline">
+ <g>
+ <defs>
+ <rect id="SVGID_1_" x="152" y="346" width="158" height="232"/>
+ </defs>
+ <clipPath id="SVGID_2_">
+ <use xlink:href="#SVGID_1_" overflow="visible"/>
+ </clipPath>
+ <g clip-path="url(#SVGID_2_)">
+ <text transform="matrix(1 0 0 1 160.3643 784.9795)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">20°</text>
+ <text transform="matrix(1 0 0 1 160.3643 888.7236)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">21°</text>
+ <text transform="matrix(1 0 0 1 160.3643 689.0361)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">19°</text>
+ <text transform="matrix(1 0 0 1 160.3643 591.3809)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">18°</text>
+ <text transform="matrix(1 0 0 1 160.3643 496.998)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">17°</text>
+ <text transform="matrix(1 0 0 1 160.3643 403.3945)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">16°</text>
+ </g>
+ </g>
+ </g>
+</g>
+<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-237.0005" y1="909.6602" x2="-237.0005" y2="1134.0173" gradientTransform="matrix(1 0 0 1 468 -560)">
+ <stop offset="0" style="stop-color:#2175AD"/>
+ <stop offset="0.2822" style="stop-color:#2175AD;stop-opacity:0"/>
+ <stop offset="0.7055" style="stop-color:#2175AD;stop-opacity:0"/>
+ <stop offset="1" style="stop-color:#2175AD"/>
+</linearGradient>
+<polygon display="none" fill="url(#SVGID_3_)" stroke="#31ABFF" stroke-miterlimit="10" points="309.5,435.516 309.5,345.5
+ 152.5,345.5 152.5,577.5 309.5,577.5 309.5,486.998 283.759,461.257 "/>
+</svg>
diff --git a/sample-qml/apps/HVAC/images/left_number_cover.svg b/sample-qml/apps/HVAC/images/left_number_cover.svg
new file mode 100644
index 0000000..6bcfc16
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/left_number_cover.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="158px" height="233px" viewBox="0 0 158 233" enable-background="new 0 0 158 233" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-107.9995" y1="1503.999" x2="-107.9997" y2="604.89" gradientTransform="matrix(1 0 0 1 468 -558)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-388.5005" y1="563.1602" x2="-388.5005" y2="787.5173" gradientTransform="matrix(1 0 0 1 468 -558)">
+ <stop offset="0" style="stop-color:#53B5CE"/>
+ <stop offset="0.2822" style="stop-color:#53B5CE;stop-opacity:0"/>
+ <stop offset="0.7055" style="stop-color:#53B5CE;stop-opacity:0"/>
+ <stop offset="1" style="stop-color:#53B5CE"/>
+</linearGradient>
+<polygon fill="url(#SVGID_2_)" stroke="#B2F0FF" stroke-miterlimit="10" points="158,91.016 158,1 1,1 1,233 158,233 158,142.498
+ 132.259,116.757 "/>
+</svg>
diff --git a/sample-qml/apps/HVAC/images/right_heat_seat_off.png b/sample-qml/apps/HVAC/images/right_heat_seat_off.png
new file mode 100644
index 0000000..b803ea0
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/right_heat_seat_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/right_heat_seat_off.svg b/sample-qml/apps/HVAC/images/right_heat_seat_off.svg
new file mode 100644
index 0000000..a260e8a
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/right_heat_seat_off.svg
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="159px" height="129px" viewBox="0 0 159 129" enable-background="new 0 0 159 129" xml:space="preserve">
+<g display="none">
+ <g display="inline">
+ <g>
+ <g>
+ <g>
+ <g>
+ <defs>
+ <rect id="SVGID_1_" x="410" y="346" width="158" height="232"/>
+ </defs>
+ <clipPath id="SVGID_2_">
+ <use xlink:href="#SVGID_1_" overflow="visible"/>
+ </clipPath>
+ <g clip-path="url(#SVGID_2_)">
+ <text transform="matrix(1 0 0 1 427.5938 489.4902)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">20°</text>
+ <text transform="matrix(1 0 0 1 427.5938 593.2334)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">21°</text>
+ <text transform="matrix(1 0 0 1 427.5938 393.5469)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">19°</text>
+ <text transform="matrix(1 0 0 1 427.5938 295.8906)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">18°</text>
+ <text transform="matrix(1 0 0 1 427.5938 201.5078)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">17°</text>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</g>
+<rect x="0.522" y="0.733" fill-opacity="0.29" stroke="#B2F0FF" stroke-miterlimit="10" stroke-opacity="0.64" width="157.955" height="127.535"/>
+<path fill="#53B5CE" fill-opacity="0.29" stroke="#B2F0FF" stroke-width="0.8243" stroke-miterlimit="10" stroke-opacity="0.64" d="
+ M95.384,80.979l51.054-3.021c3.598-0.146,5.479,3.104,4.104,7.17l-2.858,10.824c-1.522,4.528-5.98,9.041-9.908,9.041H75.187
+ c-5.254,0-6.745-6.563-6.745-11.152c0.12-25.828-4.733-52.385-14.563-78.247c-0.953-2.52,0.953-5.045,4.299-5.7
+ c1.817-0.356,3.634-0.713,5.448-1.069c3.337-0.654,7.051,0.768,8.26,3.236c11.037,22.562,18.271,43.78,21.695,66.558
+ C93.58,78.613,94.244,81.047,95.384,80.979z"/>
+<path fill="#B2F0FF" d="M128.551,123.025c18.86,0-15.645,0,3.215,0c-10.184-23,10.188-45,0-67c-18.854,0,15.646,0-3.215,0
+ C138.734,78.025,118.367,100.025,128.551,123.025z"/>
+<polygon fill="#B2F0FF" points="136.54,56.313 129.039,48.476 126.003,58.891 "/>
+<path fill="#B2F0FF" d="M115.691,123.025c18.857,0-15.646,0,3.217,0c-10.186-23,10.186-45,0-67c-18.86,0,15.646,0-3.217,0
+ C125.876,78.025,105.508,100.025,115.691,123.025z"/>
+<polygon fill="#B2F0FF" points="123.682,56.313 116.18,48.476 113.145,58.891 "/>
+<path fill="#B2F0FF" d="M102.189,123.025c18.858,0-15.646,0,3.215,0c-10.184-23,10.187-45,0-67c-18.857,0,15.646,0-3.215,0
+ C112.374,78.025,92.006,100.025,102.189,123.025z"/>
+<polygon fill="#B2F0FF" points="110.18,56.313 102.678,48.476 99.643,58.891 "/>
+<path opacity="0.29" stroke="#FE9C00" stroke-miterlimit="10" enable-background="new " d="M54.895,44.025
+ c-1.785-8-3.949-15-6.518-22H7.938v22H54.895z"/>
+<path opacity="0.29" stroke="#FE9C00" stroke-miterlimit="10" enable-background="new " d="M59.537,69.025
+ c-0.85-7-2.1-14-3.729-21H7.938v21H59.537z"/>
+<path opacity="0.29" stroke="#FE9C00" stroke-miterlimit="10" enable-background="new " d="M60.92,93.783
+ c0.029-6.887-0.303-13.758-0.973-20.758H7.935v22h53.017C60.936,95.025,60.918,94.18,60.92,93.783z"/>
+</svg>
diff --git a/sample-qml/apps/HVAC/images/right_heat_seat_on.png b/sample-qml/apps/HVAC/images/right_heat_seat_on.png
new file mode 100644
index 0000000..60fb43b
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/right_heat_seat_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/right_heat_seat_on.svg b/sample-qml/apps/HVAC/images/right_heat_seat_on.svg
new file mode 100644
index 0000000..893a546
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/right_heat_seat_on.svg
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="159px"
+ height="129px"
+ viewBox="0 0 159 129"
+ enable-background="new 0 0 159 129"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="right_heat_seat_on.svg"><metadata
+ id="metadata3063"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs3061" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="918"
+ inkscape:window-height="726"
+ id="namedview3059"
+ showgrid="false"
+ inkscape:zoom="1.8294574"
+ inkscape:cx="82.456483"
+ inkscape:cy="64.500003"
+ inkscape:window-x="983"
+ inkscape:window-y="182"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><g
+ display="none"
+ id="g3007"><g
+ display="inline"
+ id="g3009"><g
+ id="g3011"><g
+ id="g3013"><g
+ id="g3015"><g
+ id="g3017"><defs
+ id="defs3019"><rect
+ id="SVGID_1_"
+ x="410"
+ y="346"
+ width="158"
+ height="232" /></defs><clipPath
+ id="SVGID_2_"><use
+ xlink:href="#SVGID_1_"
+ overflow="visible"
+ id="use3023" /></clipPath><g
+ clip-path="url(#SVGID_2_)"
+ id="g3025"><text
+ transform="matrix(1 0 0 1 427.5938 489.4902)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3027">20°</text>
+<text
+ transform="matrix(1 0 0 1 427.5938 593.2334)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3029">21°</text>
+<text
+ transform="matrix(1 0 0 1 427.5938 393.5469)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3031">19°</text>
+<text
+ transform="matrix(1 0 0 1 427.5938 295.8906)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3033">18°</text>
+<text
+ transform="matrix(1 0 0 1 427.5938 201.5078)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3035">17°</text>
+</g></g></g></g></g></g></g><path
+ opacity="0.29"
+ stroke="#FE9C00"
+ stroke-miterlimit="10"
+ enable-background="new "
+ d="M54.895,44.025 c-1.785-8-3.949-15-6.518-22H7.938v22H54.895z"
+ id="path3053"
+ style="fill:#fe9c00;fill-opacity:1;opacity:0.8;stroke:#ffd38c;stroke-opacity:1" /><path
+ opacity="0.29"
+ stroke="#FE9C00"
+ stroke-miterlimit="10"
+ enable-background="new "
+ d="M59.537,69.025 c-0.85-7-2.1-14-3.729-21H7.938v21H59.537z"
+ id="path3055"
+ style="fill:#fe9c00;fill-opacity:1;opacity:0.8;stroke:#ffd38c;stroke-opacity:1" /><path
+ opacity="0.29"
+ stroke="#FE9C00"
+ stroke-miterlimit="10"
+ enable-background="new "
+ d="M60.92,93.783 c0.029-6.887-0.303-13.758-0.973-20.758H7.935v22h53.017C60.936,95.025,60.918,94.18,60.92,93.783z"
+ id="path3057"
+ style="fill:#fe9c00;fill-opacity:1;opacity:0.8;stroke:#ffd38c;stroke-opacity:1" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC/images/right_number_bg.svg b/sample-qml/apps/HVAC/images/right_number_bg.svg
new file mode 100644
index 0000000..f9b7d71
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/right_number_bg.svg
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="159px" height="232px" viewBox="0 0 159 232" enable-background="new 0 0 159 232" xml:space="preserve">
+<polygon fill-opacity="0.8" points="0.717,89.869 0.717,0.166 158.283,0.166 158.283,231.834 0.717,231.834 0.717,141.352
+ 26.459,115.61 "/>
+<g display="none">
+ <g display="inline">
+ <g>
+ <g>
+ <defs>
+ <rect id="SVGID_1_" x="410" y="346" width="158" height="232"/>
+ </defs>
+ <clipPath id="SVGID_2_">
+ <use xlink:href="#SVGID_1_" overflow="visible"/>
+ </clipPath>
+ <g clip-path="url(#SVGID_2_)">
+ <text transform="matrix(1 0 0 1 427.5938 489.4902)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">20°</text>
+ <text transform="matrix(1 0 0 1 427.5938 593.2334)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">21°</text>
+ <text transform="matrix(1 0 0 1 427.5938 393.5469)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">19°</text>
+ <text transform="matrix(1 0 0 1 427.5938 295.8906)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">18°</text>
+ <text transform="matrix(1 0 0 1 427.5938 201.5078)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">17°</text>
+ </g>
+ </g>
+ </g>
+ </g>
+</g>
+<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-1828.5005" y1="-111.6597" x2="-1828.5005" y2="-336.0165" gradientTransform="matrix(-1 0 0 -1 -1339 238)">
+ <stop offset="0" style="stop-color:#2175AD"/>
+ <stop offset="0.2822" style="stop-color:#2175AD;stop-opacity:0"/>
+ <stop offset="0.7055" style="stop-color:#2175AD;stop-opacity:0"/>
+ <stop offset="1" style="stop-color:#2175AD"/>
+</linearGradient>
+<polygon display="none" fill="url(#SVGID_3_)" stroke="#31ABFF" stroke-miterlimit="10" points="410.5,435.516 410.5,345.5
+ 568.5,345.5 568.5,577.5 410.5,577.5 410.5,486.998 436.241,461.257 "/>
+</svg>
diff --git a/sample-qml/apps/HVAC/images/right_number_cover.svg b/sample-qml/apps/HVAC/images/right_number_cover.svg
new file mode 100644
index 0000000..370acd3
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/right_number_cover.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="159px" height="233px" viewBox="0 0 159 233" enable-background="new 0 0 159 233" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-107.9995" y1="1503.999" x2="-107.9997" y2="604.8902" gradientTransform="matrix(1 0 0 1 468 -558)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<polygon display="none" fill="#31ABFF" fill-opacity="0.29" stroke="#FFFFFF" stroke-width="1.3481" stroke-miterlimit="10" stroke-opacity="0.64" points="
+ 410.861,435.516 410.861,345.813 568.427,345.813 568.427,577.48 410.861,577.48 410.861,486.998 436.604,461.257 "/>
+<g display="none">
+ <g display="inline">
+ <g>
+ <defs>
+ <rect id="SVGID_2_" x="410" y="346" width="158" height="232"/>
+ </defs>
+ <clipPath id="SVGID_3_">
+ <use xlink:href="#SVGID_2_" overflow="visible"/>
+ </clipPath>
+ <g clip-path="url(#SVGID_3_)">
+ <text transform="matrix(1 0 0 1 427.5938 489.4902)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">20°</text>
+ <text transform="matrix(1 0 0 1 427.5938 593.2334)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">21°</text>
+ <text transform="matrix(1 0 0 1 427.5938 393.5469)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">19°</text>
+ <text transform="matrix(1 0 0 1 427.5938 295.8906)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">18°</text>
+ <text transform="matrix(1 0 0 1 427.5938 201.5078)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">17°</text>
+ </g>
+ </g>
+ </g>
+</g>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-732.5005" y1="562.6602" x2="-732.5005" y2="787.016" gradientTransform="matrix(-1 0 0 1 -653 -558)">
+ <stop offset="0" style="stop-color:#53B5CE"/>
+ <stop offset="0.2822" style="stop-color:#53B5CE;stop-opacity:0"/>
+ <stop offset="0.7055" style="stop-color:#53B5CE;stop-opacity:0"/>
+ <stop offset="1" style="stop-color:#53B5CE"/>
+</linearGradient>
+<polygon fill="url(#SVGID_4_)" stroke="#B2F0FF" stroke-miterlimit="10" points="0.5,90.516 0.5,0.5 158.5,0.5 158.5,232.5
+ 0.5,232.5 0.5,141.998 26.241,116.257 "/>
+</svg>
diff --git a/sample-qml/apps/HVAC/images/separator.png b/sample-qml/apps/HVAC/images/separator.png
new file mode 100644
index 0000000..02466ff
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/separator.png
Binary files differ
diff --git a/sample-qml/apps/HVAC/images/static_parts_bg.svg b/sample-qml/apps/HVAC/images/static_parts_bg.svg
new file mode 100644
index 0000000..f850fcb
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/static_parts_bg.svg
@@ -0,0 +1,1031 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="720px"
+ height="601px"
+ viewBox="0 0 720 601"
+ enable-background="new 0 0 720 601"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="static_parts_bg.svg"><metadata
+ id="metadata438"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs436" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1068"
+ inkscape:window-height="480"
+ id="namedview434"
+ showgrid="false"
+ inkscape:zoom="1.5707155"
+ inkscape:cx="86.949065"
+ inkscape:cy="-11.125082"
+ inkscape:window-x="639"
+ inkscape:window-y="324"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ showguides="true"
+ inkscape:guide-bbox="true"><sodipodi:guide
+ orientation="0,1"
+ position="620.09958,601"
+ id="guide3776" /><sodipodi:guide
+ orientation="0,1"
+ position="669.44015,597.18009"
+ id="guide3778" /></sodipodi:namedview><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="249.1294"
+ y1="220.0005"
+ x2="249.1293"
+ y2="1119.1094"
+ gradientTransform="matrix(1 0 0 -1 234 1166)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><path
+ d="m 383.38834,582.66088 h 157.53014 v -65.64949 c -9.10944,-0.78829 -69.02402,-7.00169 -157.53014,-7.42264 l -26.86507,-0.1465 c -47.51394,0 -75.23906,1.9968 -118.27077,3.4333 v 69.78533 h 118.6982 26.43764 z"
+ id="path46"
+ inkscape:connector-curvature="0"
+ style="fill:#53b5ce;opacity:1;fill-opacity:0.29019609" /><polyline
+ style="fill:#53b5ce;fill-opacity:0.28999998999999999;stroke:none;stroke-width:0.23190000999999999;stroke-miterlimit:10;stroke-opacity:0.63999998999999996"
+ transform="matrix(0.98240426,0,0,18.495948,637.45692,-8480.4544)"
+ id="polyline3791"
+ points=" 63,474.719 63,484.688 20,484.688 20,458.768 63,458.768 63,474.719 "
+ stroke-miterlimit="10" /><rect
+ x="123.129"
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><polygon
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#FFFFFF"
+ stroke-width="1.3481"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 533.991,435.516 533.991,345.813 691.556,345.813 691.556,577.48 533.991,577.48 533.991,486.998 559.732,461.257 "
+ id="polygon10" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M268.629,643.039V738.5h-122v-80.76C186.629,651.722,227.629,646.832,268.629,643.039z"
+ id="path12" /><polygon
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#FFFFFF"
+ stroke-width="1.3481"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 433.048,435.516 433.048,345.813 275.482,345.813 275.482,577.48 433.048,577.48 433.048,486.998 407.307,461.257 "
+ id="polygon14" /><g
+ display="none"
+ id="g16"><g
+ display="inline"
+ id="g18"><defs
+ id="defs20"><rect
+ id="SVGID_2_"
+ x="275.129"
+ y="346"
+ width="158"
+ height="232" /></defs><clipPath
+ id="SVGID_3_"><use
+ xlink:href="#SVGID_2_"
+ overflow="visible"
+ id="use24" /></clipPath><g
+ clip-path="url(#SVGID_3_)"
+ id="g26"><text
+ transform="matrix(1 0 0 1 283.4937 784.9795)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text28">20°</text>
+<text
+ transform="matrix(1 0 0 1 283.4937 888.7236)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text30">21°</text>
+<text
+ transform="matrix(1 0 0 1 283.4937 689.0361)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text32">19°</text>
+<text
+ transform="matrix(1 0 0 1 283.4937 591.3809)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text34">18°</text>
+<text
+ transform="matrix(1 0 0 1 283.4937 496.998)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text36">17°</text>
+<text
+ transform="matrix(1 0 0 1 283.4937 403.3945)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text38">16°</text>
+</g></g></g><line
+ display="none"
+ fill="none"
+ stroke="#00507F"
+ stroke-miterlimit="10"
+ x1="483.629"
+ y1="98"
+ x2="483.629"
+ y2="610"
+ id="line40" /><linearGradient
+ id="SVGID_4_"
+ gradientUnits="userSpaceOnUse"
+ x1="120.1284"
+ y1="816.3398"
+ x2="120.1284"
+ y2="591.9827"
+ gradientTransform="matrix(1 0 0 -1 234 1166)"><stop
+ offset="0"
+ style="stop-color:#2175AD"
+ id="stop43" /><stop
+ offset="0.2822"
+ style="stop-color:#2175AD;stop-opacity:0"
+ id="stop45" /><stop
+ offset="0.7055"
+ style="stop-color:#2175AD;stop-opacity:0"
+ id="stop47" /><stop
+ offset="1"
+ style="stop-color:#2175AD"
+ id="stop49" /></linearGradient><polygon
+ display="none"
+ fill="url(#SVGID_4_)"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ points="432.629,435.516 432.629,345.5 275.629,345.5 275.629,577.5 432.629,577.5 432.629,486.998 406.889,461.257 "
+ id="polygon51" /><g
+ display="none"
+ id="g53"><g
+ display="inline"
+ id="g55"><defs
+ id="defs57"><rect
+ id="SVGID_5_"
+ x="533.129"
+ y="346"
+ width="158"
+ height="232" /></defs><clipPath
+ id="SVGID_6_"><use
+ xlink:href="#SVGID_5_"
+ overflow="visible"
+ id="use61" /></clipPath><g
+ clip-path="url(#SVGID_6_)"
+ id="g63"><text
+ transform="matrix(1 0 0 1 550.7227 489.4902)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text65">20°</text>
+<text
+ transform="matrix(1 0 0 1 550.7227 593.2334)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text67">21°</text>
+<text
+ transform="matrix(1 0 0 1 550.7227 393.5469)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text69">19°</text>
+<text
+ transform="matrix(1 0 0 1 550.7227 295.8906)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text71">18°</text>
+<text
+ transform="matrix(1 0 0 1 550.7227 201.5078)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text73">17°</text>
+</g></g></g><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M698.129,643.039v95.783h122V657.74C780.41,651.722,739.326,646.832,698.129,643.039z"
+ id="path75" /><circle
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.5936"
+ stroke-miterlimit="10"
+ cx="756.627"
+ cy="420.198"
+ r="6.141"
+ id="circle77" /><circle
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.45"
+ cx="756.627"
+ cy="420.198"
+ r="10.912"
+ id="circle79" /><line
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="2"
+ stroke-miterlimit="10"
+ x1="756.129"
+ y1="419"
+ x2="756.129"
+ y2="607"
+ id="line81" /><circle
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.5936"
+ stroke-miterlimit="10"
+ cx="494.93"
+ cy="726.5"
+ r="6.141"
+ id="circle83" /><circle
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.45"
+ cx="494.93"
+ cy="726.5"
+ r="10.912"
+ id="circle85" /><circle
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.5936"
+ stroke-miterlimit="10"
+ cx="210.631"
+ cy="524.197"
+ r="6.141"
+ id="circle87" /><circle
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.45"
+ cx="210.631"
+ cy="524.197"
+ r="10.912"
+ id="circle89" /><line
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="2"
+ stroke-miterlimit="10"
+ x1="211.129"
+ y1="529"
+ x2="211.129"
+ y2="607"
+ id="line91" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8472"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M268.629,643.039V738.5h-122v-80.76C186.629,651.722,227.629,646.832,268.629,643.039z"
+ id="path93" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M698.129,643.039v95.783h122V657.74C780.41,651.722,739.326,646.832,698.129,643.039z"
+ id="path95" /><g
+ display="none"
+ id="g97"><g
+ display="inline"
+ id="g99"><g
+ display="none"
+ id="g101"><circle
+ display="inline"
+ fill="#31ABFF"
+ cx="236.991"
+ cy="676.459"
+ r="8.235"
+ id="circle103" /><path
+ display="inline"
+ fill="#31ABFF"
+ d="M239.268,687.889l-1.035-0.569c-2.861-1.577-6.458-0.536-8.035,2.322l-6.644,12.054 l-13.158-4.315c-3.009-0.986-6.572,0.18-9.142,3.18l0.004,0.003c-0.45,0.409-0.876,0.873-1.262,1.396l-10.893,14.743 c-1.679,2.271-1.607,5.14,0.098,6.485l0.618,0.487c1.706,1.35,4.512,0.756,6.334-1.402l11.504-13.621l15.161,5.822 c1.32,0.508,2.731,0.665,4.069,0.524c2.312,0.265,4.662-0.854,5.854-3.02l8.852-16.056 C243.169,693.063,242.128,689.466,239.268,687.889z"
+ id="path105" /></g><polygon
+ display="none"
+ fill="#31ABFF"
+ points="165.347,682 179.608,699.699 193.868,682 187.129,682 187.129,666 172.129,666 172.129,682 "
+ id="polygon107" /></g></g><path
+ display="none"
+ fill="#31ABFF"
+ d="M747.514,675.48c-0.104-2.278-0.234-5.027-0.209-7.41h-0.079 c-0.575,2.146-1.31,4.528-2.095,6.755l-2.565,7.646h-2.487l-2.356-7.541c-0.681-2.251-1.309-4.66-1.779-6.858h-0.054 c-0.078,2.304-0.183,5.104-0.313,7.515l-0.395,7.096h-3.011l1.178-17.647h4.242l2.306,7.097c0.628,2.068,1.178,4.163,1.623,6.127 h0.077c0.473-1.912,1.074-4.085,1.755-6.152l2.436-7.07h4.189l1.021,17.647h-3.142L747.514,675.48z"
+ id="path109" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M757.646,677.68l-1.519,5.001h-3.325l5.656-17.647h4.11l5.733,17.647h-3.456l-1.598-5.001 H757.646z M762.701,675.244l-1.389-4.347c-0.34-1.073-0.628-2.277-0.891-3.3h-0.052c-0.262,1.021-0.523,2.252-0.838,3.3 l-1.361,4.347H762.701z"
+ id="path111" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M779.695,682.681l-1.911-3.509c-0.76-1.361-1.257-2.304-1.755-3.325h-0.078 c-0.419,1.021-0.892,1.964-1.599,3.325l-1.754,3.509h-3.691l5.236-8.929l-5.026-8.72h3.69l1.912,3.64 c0.575,1.101,0.995,1.964,1.466,2.959h0.054c0.471-1.1,0.838-1.885,1.388-2.959l1.885-3.64h3.692l-5.158,8.615l5.367,9.032 L779.695,682.681L779.695,682.681z"
+ id="path113" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M773.577,723.188c-0.509,0-1.007-0.109-1.483-0.324c-8.057-3.664-16.873-3.663-24.926-0.001 c-0.478,0.216-0.977,0.325-1.484,0.325c-1.701,0-3.187-1.207-3.779-3.075l-6.004-19.563c-0.773-2.435,0.854-5.537,3.557-6.764 c13.016-5.92,27.331-5.92,40.349,0c2.702,1.227,4.329,4.329,3.553,6.775l-5.996,19.539 C776.762,721.979,775.279,723.188,773.577,723.188z M759.629,717.658c4.595,0,9.127,1.002,13.473,2.979 c0.757,0.344,1.593-0.218,1.927-1.266l5.996-19.54c0.37-1.165-0.508-3.04-2.23-3.822c-12.381-5.631-25.948-5.631-38.327,0 c-1.725,0.782-2.602,2.657-2.234,3.812l6.004,19.563c0.328,1.032,1.156,1.604,1.923,1.253 C750.501,718.66,755.035,717.658,759.629,717.658z"
+ id="path115" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M750.686,703.627l3.011,0.176l-1.854-5.906l-6.055,4.575l2.897,0.903 c-6.05,8.577,7.235,16.625,0.381,26.625c0.572,0,1.298,0,2.209,0C758.053,720,745.121,712.109,750.686,703.627z"
+ id="path117" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M759.294,703.627l3.01,0.176l-1.854-5.906l-6.057,4.575l2.897,0.903 c-6.049,8.577,7.235,16.625,0.382,26.625c0.574,0,1.297,0,2.209,0C766.661,720,753.73,712.109,759.294,703.627z"
+ id="path119" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M767.904,703.627l3.008,0.176l-1.854-5.906l-6.055,4.575l2.897,0.903 c-6.051,8.577,7.234,16.625,0.38,26.625c0.572,0,1.298,0,2.209,0C775.269,720,762.336,712.109,767.904,703.627z"
+ id="path121" /><linearGradient
+ id="SVGID_7_"
+ gradientUnits="userSpaceOnUse"
+ x1="-26.3711"
+ y1="522.374"
+ x2="-26.3711"
+ y2="428.5638"
+ gradientTransform="matrix(1 0 0 -1 234 1166)"><stop
+ offset="0.5092"
+ style="stop-color:#31ABFF;stop-opacity:0"
+ id="stop124" /><stop
+ offset="0.9018"
+ style="stop-color:#31ABFF"
+ id="stop126" /><stop
+ offset="1"
+ style="stop-color:#63E6FF"
+ id="stop128" /></linearGradient><path
+ display="none"
+ fill="url(#SVGID_7_)"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ d="M268.629,643.039V738.5h-122v-80.76 C186.629,651.722,227.629,646.832,268.629,643.039z"
+ id="path130" /><linearGradient
+ id="SVGID_8_"
+ gradientUnits="userSpaceOnUse"
+ x1="524.6279"
+ y1="522.374"
+ x2="524.6279"
+ y2="428.5638"
+ gradientTransform="matrix(1 0 0 -1 234 1166)"><stop
+ offset="0.5092"
+ style="stop-color:#31ABFF;stop-opacity:0"
+ id="stop133" /><stop
+ offset="0.9018"
+ style="stop-color:#31ABFF"
+ id="stop135" /><stop
+ offset="1"
+ style="stop-color:#63E6FF"
+ id="stop137" /></linearGradient><path
+ display="none"
+ fill="url(#SVGID_8_)"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ d="M697.629,643.039V738.5h122v-80.76 C780.629,651.722,739.629,646.832,697.629,643.039z"
+ id="path139" /><g
+ display="none"
+ id="g141"><g
+ display="inline"
+ id="g143"><g
+ id="g145"><circle
+ fill="#FFFFFF"
+ cx="236.991"
+ cy="676.459"
+ r="8.235"
+ id="circle147" /><path
+ fill="#FFFFFF"
+ d="M239.268,687.889l-1.035-0.569c-2.861-1.577-6.458-0.536-8.035,2.322l-6.644,12.054l-13.158-4.315 c-3.009-0.986-6.572,0.18-9.142,3.18l0.004,0.003c-0.45,0.409-0.876,0.873-1.262,1.396l-10.893,14.743 c-1.679,2.271-1.607,5.14,0.098,6.485l0.618,0.487c1.706,1.35,4.512,0.756,6.334-1.402l11.504-13.621l15.161,5.822 c1.32,0.508,2.731,0.665,4.069,0.524c2.312,0.265,4.662-0.854,5.854-3.02l8.852-16.056 C243.169,693.063,242.128,689.466,239.268,687.889z"
+ id="path149" /></g><polygon
+ fill="#FFFFFF"
+ points="165.347,682 179.608,699.699 193.868,682 187.129,682 187.129,666 172.129,666 172.129,682 "
+ id="polygon151" /></g></g><path
+ display="none"
+ fill="#FFFFFF"
+ d="M747.514,675.48c-0.104-2.278-0.234-5.027-0.209-7.41h-0.079 c-0.575,2.146-1.31,4.528-2.095,6.755l-2.565,7.646h-2.487l-2.356-7.541c-0.681-2.251-1.309-4.66-1.779-6.858h-0.054 c-0.078,2.304-0.183,5.104-0.313,7.515l-0.395,7.096h-3.011l1.178-17.647h4.242l2.306,7.097c0.628,2.068,1.178,4.163,1.623,6.127 h0.077c0.473-1.912,1.074-4.085,1.755-6.152l2.436-7.07h4.189l1.021,17.647h-3.142L747.514,675.48z"
+ id="path153" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M757.646,677.68l-1.519,5.001h-3.325l5.656-17.647h4.11l5.733,17.647h-3.456l-1.598-5.001 H757.646z M762.701,675.244l-1.389-4.347c-0.34-1.073-0.628-2.277-0.891-3.3h-0.052c-0.262,1.021-0.523,2.252-0.838,3.3 l-1.361,4.347H762.701z"
+ id="path155" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M779.695,682.681l-1.911-3.509c-0.76-1.361-1.257-2.304-1.755-3.325h-0.078 c-0.419,1.021-0.892,1.964-1.599,3.325l-1.754,3.509h-3.691l5.236-8.929l-5.026-8.72h3.69l1.912,3.64 c0.575,1.101,0.995,1.964,1.466,2.959h0.054c0.471-1.1,0.838-1.885,1.388-2.959l1.885-3.64h3.692l-5.158,8.615l5.367,9.032 L779.695,682.681L779.695,682.681z"
+ id="path157" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M773.577,723.188c-0.509,0-1.007-0.109-1.483-0.324c-8.057-3.664-16.873-3.663-24.926-0.001 c-0.478,0.216-0.977,0.325-1.484,0.325c-1.701,0-3.187-1.207-3.779-3.075l-6.004-19.563c-0.773-2.435,0.854-5.537,3.557-6.764 c13.016-5.92,27.331-5.92,40.349,0c2.702,1.227,4.329,4.329,3.553,6.775l-5.996,19.539 C776.762,721.979,775.279,723.188,773.577,723.188z M759.629,717.658c4.595,0,9.127,1.002,13.473,2.979 c0.757,0.344,1.593-0.218,1.927-1.266l5.996-19.54c0.37-1.165-0.508-3.04-2.23-3.822c-12.381-5.631-25.948-5.631-38.327,0 c-1.725,0.782-2.602,2.657-2.234,3.812l6.004,19.563c0.328,1.032,1.156,1.604,1.923,1.253 C750.501,718.66,755.035,717.658,759.629,717.658z"
+ id="path159" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M750.686,703.627l3.011,0.176l-1.854-5.906l-6.055,4.575l2.897,0.903 c-6.05,8.577,7.235,16.625,0.381,26.625c0.572,0,1.298,0,2.209,0C758.053,720,745.121,712.109,750.686,703.627z"
+ id="path161" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M759.294,703.627l3.01,0.176l-1.854-5.906l-6.057,4.575l2.897,0.903 c-6.049,8.577,7.235,16.625,0.382,26.625c0.574,0,1.297,0,2.209,0C766.661,720,753.73,712.109,759.294,703.627z"
+ id="path163" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M767.904,703.627l3.008,0.176l-1.854-5.906l-6.055,4.575l2.897,0.903 c-6.051,8.577,7.234,16.625,0.38,26.625c0.572,0,1.298,0,2.209,0C775.269,720,762.336,712.109,767.904,703.627z"
+ id="path165" /><g
+ display="none"
+ id="g167"><g
+ display="inline"
+ id="g169"><g
+ display="none"
+ id="g171"><circle
+ display="inline"
+ fill="#31ABFF"
+ cx="236.991"
+ cy="676.459"
+ r="8.235"
+ id="circle173" /><path
+ display="inline"
+ fill="#31ABFF"
+ d="M239.268,687.889l-1.035-0.569c-2.861-1.577-6.458-0.536-8.035,2.322l-6.644,12.054 l-13.158-4.315c-3.009-0.986-6.572,0.18-9.142,3.18l0.004,0.003c-0.45,0.409-0.876,0.873-1.262,1.396l-10.893,14.743 c-1.679,2.271-1.607,5.14,0.098,6.485l0.618,0.487c1.706,1.35,4.512,0.756,6.334-1.402l11.504-13.621l15.161,5.822 c1.32,0.508,2.731,0.665,4.069,0.524c2.312,0.265,4.662-0.854,5.854-3.02l8.852-16.056 C243.169,693.063,242.128,689.466,239.268,687.889z"
+ id="path175" /></g><polygon
+ display="none"
+ fill="#31ABFF"
+ points="165.347,682 179.608,699.699 193.868,682 187.129,682 187.129,666 172.129,666 172.129,682 "
+ id="polygon177" /></g></g><text
+ transform="matrix(1 0 0 1 730.7559 682.6807)"
+ display="none"
+ fill="#31ABFF"
+ enable-background="new "
+ font-family="'MyriadPro-Semibold'"
+ font-size="26.1844"
+ id="text179">MAX</text>
+<path
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="2.4433"
+ stroke-miterlimit="10"
+ d="M776.192,719.741 c-0.579,1.821-2.173,2.649-3.597,2.008c-8.41-3.825-17.522-3.825-25.935,0c-1.42,0.643-3.017-0.187-3.595-2.008 c-2-6.519-3.999-13.035-6-19.552c-0.577-1.816,0.695-4.297,2.894-5.293c12.758-5.804,26.58-5.804,39.338,0 c2.197,0.996,3.472,3.477,2.895,5.293C780.191,706.706,778.192,713.224,776.192,719.741z"
+ id="path181" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M750.686,703.627l3.011,0.176l-1.854-5.906l-6.055,4.575l2.897,0.903 c-6.05,8.577,7.235,16.625,0.381,26.625c0.572,0,1.298,0,2.209,0C758.053,720,745.121,712.109,750.686,703.627z"
+ id="path183" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M759.294,703.627l3.01,0.176l-1.854-5.906l-6.057,4.575l2.897,0.903 c-6.049,8.577,7.235,16.625,0.382,26.625c0.574,0,1.297,0,2.209,0C766.661,720,753.73,712.109,759.294,703.627z"
+ id="path185" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M767.904,703.627l3.008,0.176l-1.854-5.906l-6.055,4.575l2.897,0.903 c-6.051,8.577,7.234,16.625,0.38,26.625c0.572,0,1.298,0,2.209,0C775.269,720,762.336,712.109,767.904,703.627z"
+ id="path187" /><linearGradient
+ id="SVGID_9_"
+ gradientUnits="userSpaceOnUse"
+ x1="227.6294"
+ y1="816.3398"
+ x2="227.6294"
+ y2="591.984"
+ gradientTransform="matrix(-1 0 0 -1 840.2578 1166)"><stop
+ offset="0"
+ style="stop-color:#2175AD"
+ id="stop190" /><stop
+ offset="0.2822"
+ style="stop-color:#2175AD;stop-opacity:0"
+ id="stop192" /><stop
+ offset="0.7055"
+ style="stop-color:#2175AD;stop-opacity:0"
+ id="stop194" /><stop
+ offset="1"
+ style="stop-color:#2175AD"
+ id="stop196" /></linearGradient><polygon
+ display="none"
+ fill="url(#SVGID_9_)"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ points="533.629,435.516 533.629,345.5 691.629,345.5 691.629,577.5 533.629,577.5 533.629,486.998 559.371,461.257 "
+ id="polygon198" /><path
+ fill="none"
+ stroke="#B2F0FF"
+ stroke-miterlimit="10"
+ d="M844,542.502c-139.158-37.287-329.548-54.752-484-54.752 s-344.841,17.465-484,54.752"
+ id="path200" /><polyline
+ stroke-miterlimit="10"
+ points=" 63,474.719 63,484.688 20,484.688 20,458.768 63,458.768 63,474.719 "
+ id="polyline202"
+ transform="matrix(0.98240426,0,0,18.495948,0.73022345,-8480.4544)"
+ style="fill:#53b5ce;fill-opacity:0.28999998999999999;stroke:none;stroke-width:0.23190000999999999;stroke-miterlimit:10;stroke-opacity:0.63999998999999996" /><path
+ fill="#B5B5B5"
+ d="M208.089,536.85c-2.009-2.358-5.185-3.605-8.527-3.605c-1.786-0.001-3.478,0.394-4.998,1.096 c0,0-1.44,0.746-3.202-1.096s-5.605-8.78-1.645-10.731c15.362-7.283,32.982,0.008,37.59,10.775 C229.739,537.861,212.352,541.854,208.089,536.85z"
+ id="path264" /><path
+ opacity="0.64"
+ fill="#B2F0FF"
+ enable-background="new "
+ d="M208.089,536.85c-2.009-2.358-5.185-3.605-8.527-3.605 c-1.786-0.001-3.478,0.394-4.998,1.096c0,0-1.44,0.746-3.202-1.096s-5.605-8.78-1.645-10.731 c15.362-7.283,32.982,0.008,37.59,10.775C229.739,537.861,212.352,541.854,208.089,536.85z"
+ id="path266" /><path
+ fill="#B5B5B5"
+ d="M188.729,542.391c-1.04,2.922-0.532,6.294,1.14,9.189c0.891,1.547,2.078,2.814,3.448,3.779 c0,0,1.363,0.875,0.651,3.321c-0.715,2.446-4.801,9.245-8.473,6.791c-13.987-9.664-16.484-28.568-9.462-37.943 C178.778,523.136,190.929,536.196,188.729,542.391z"
+ id="path268" /><path
+ opacity="0.64"
+ fill="#B2F0FF"
+ enable-background="new "
+ d="M188.729,542.391c-1.04,2.922-0.532,6.294,1.14,9.189 c0.891,1.547,2.078,2.814,3.448,3.779c0,0,1.363,0.875,0.651,3.321c-0.715,2.446-4.801,9.245-8.473,6.791 c-13.987-9.664-16.484-28.568-9.462-37.943C178.778,523.136,190.929,536.196,188.729,542.391z"
+ id="path270" /><path
+ fill="#B5B5B5"
+ d="M203.207,556.387c3.049-0.561,5.715-2.686,7.388-5.581c0.894-1.547,1.397-3.208,1.548-4.876 c0,0,0.076-1.617,2.552-2.226c2.474-0.604,10.405-0.465,10.116,3.942c-1.375,16.943-16.498,28.562-28.129,27.167 C191.507,574.632,196.743,557.578,203.207,556.387z"
+ id="path272" /><path
+ opacity="0.64"
+ fill="#B2F0FF"
+ enable-background="new "
+ d="M203.207,556.387c3.049-0.561,5.715-2.686,7.388-5.581 c0.894-1.547,1.397-3.208,1.548-4.876c0,0,0.076-1.617,2.552-2.226c2.474-0.604,10.405-0.465,10.116,3.942 c-1.375,16.943-16.498,28.562-28.129,27.167C191.507,574.632,196.743,557.578,203.207,556.387z"
+ id="path274" /><circle
+ fill="#B5B5B5"
+ cx="199.561"
+ cy="545.272"
+ r="7.302"
+ id="circle276" /><circle
+ opacity="0.64"
+ fill="#B2F0FF"
+ enable-background="new "
+ cx="199.561"
+ cy="545.272"
+ r="7.302"
+ id="circle278" /><rect
+ x="210.129"
+ y="127"
+ display="none"
+ fill="#31ABFF"
+ width="2"
+ height="482"
+ id="rect296" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,596.969 187.129,606.938 144.129,606.938 144.129,581.018 187.129,581.018 187.129,596.969 "
+ id="polyline298" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,561.967 187.129,571.938 144.129,571.938 144.129,546.016 187.129,546.016 187.129,561.967 "
+ id="polyline300" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,526.966 187.129,536.935 144.129,536.935 144.129,511.015 187.129,511.015 187.129,526.966 "
+ id="polyline302" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,491.964 187.129,501.934 144.129,501.934 144.129,476.014 187.129,476.014 187.129,491.964 "
+ id="polyline304" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,456.963 187.129,466.932 144.129,466.932 144.129,441.012 187.129,441.012 187.129,456.963 "
+ id="polyline306" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,421.961 187.129,431.931 144.129,431.931 144.129,406.01 187.129,406.01 187.129,421.961 "
+ id="polyline308" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,386.96 187.129,396.929 144.129,396.929 144.129,371.009 187.129,371.009 187.129,386.96 "
+ id="polyline310" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,351.959 187.129,361.928 144.129,361.928 144.129,336.008 187.129,336.008 187.129,351.959 "
+ id="polyline312" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,316.958 187.129,326.927 144.129,326.927 144.129,301.007 187.129,301.007 187.129,316.958 "
+ id="polyline314" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,281.956 187.129,291.925 144.129,291.925 144.129,266.005 187.129,266.005 187.129,281.956 "
+ id="polyline316" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,246.955 187.129,256.924 144.129,256.924 144.129,231.004 187.129,231.004 187.129,246.955 "
+ id="polyline318" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,211.954 187.129,221.923 144.129,221.923 144.129,196.003 187.129,196.003 187.129,211.954 "
+ id="polyline320" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,176.952 187.129,186.921 144.129,186.921 144.129,161.001 187.129,161.001 187.129,176.952 "
+ id="polyline322" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,141.951 187.129,151.92 144.129,151.92 144.129,126 187.129,126 187.129,141.951 "
+ id="polyline324" /><rect
+ x="755.129"
+ y="127"
+ display="none"
+ fill="#31ABFF"
+ width="2"
+ height="482"
+ id="rect326" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,596.969 780.129,606.938 823.129,606.938 823.129,581.018 780.129,581.018 780.129,596.969 "
+ id="polyline328" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,561.967 780.129,571.938 823.129,571.938 823.129,546.016 780.129,546.016 780.129,561.967 "
+ id="polyline330" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,526.966 780.129,536.935 823.129,536.935 823.129,511.015 780.129,511.015 780.129,526.966 "
+ id="polyline332" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,491.964 780.129,501.934 823.129,501.934 823.129,476.014 780.129,476.014 780.129,491.964 "
+ id="polyline334" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,456.963 780.129,466.932 823.129,466.932 823.129,441.012 780.129,441.012 780.129,456.963 "
+ id="polyline336" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,421.961 780.129,431.931 823.129,431.931 823.129,406.01 780.129,406.01 780.129,421.961 "
+ id="polyline338" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,386.96 780.129,396.929 823.129,396.929 823.129,371.009 780.129,371.009 780.129,386.96 "
+ id="polyline340" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,351.959 780.129,361.928 823.129,361.928 823.129,336.008 780.129,336.008 780.129,351.959 "
+ id="polyline342" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,316.958 780.129,326.927 823.129,326.927 823.129,301.007 780.129,301.007 780.129,316.958 "
+ id="polyline344" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,281.956 780.129,291.925 823.129,291.925 823.129,266.005 780.129,266.005 780.129,281.956 "
+ id="polyline346" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,246.955 780.129,256.924 823.129,256.924 823.129,231.004 780.129,231.004 780.129,246.955 "
+ id="polyline348" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,211.954 780.129,221.923 823.129,221.923 823.129,196.003 780.129,196.003 780.129,211.954 "
+ id="polyline350" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,176.952 780.129,186.921 823.129,186.921 823.129,161.001 780.129,161.001 780.129,176.952 "
+ id="polyline352" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,141.951 780.129,151.92 823.129,151.92 823.129,126 780.129,126 780.129,141.951 "
+ id="polyline354" /><rect
+ x="274.702"
+ y="175.708"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="157.956"
+ height="127.534"
+ id="rect356" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8243"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M337.796,255.953l-51.053-3.023c-3.593-0.142-5.474,3.107-4.104,7.17l2.857,10.824c1.528,4.532,5.986,9.041,9.909,9.041h62.589 c5.253,0,6.745-6.561,6.745-11.152c-0.12-25.828,4.734-52.385,14.563-78.246c0.954-2.52-0.953-5.045-4.298-5.702 c-1.817-0.356-3.633-0.713-5.449-1.069c-3.336-0.655-7.05,0.767-8.259,3.236c-11.038,22.563-18.271,43.783-21.696,66.559 C339.6,253.589,338.936,256.021,337.796,255.953z"
+ id="path358" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M304.629,298c-18.86,0,15.646,0-3.215,0c10.184-23-10.184-45,0-67c18.86,0-15.645,0,3.215,0 C294.445,253,314.813,275,304.629,298z"
+ id="path360" /><polygon
+ display="none"
+ fill="#31ABFF"
+ points="296.641,231.288 304.142,223.451 307.177,233.866 "
+ id="polygon362" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M317.488,298c-18.86,0,15.646,0-3.215,0c10.184-23-10.185-45,0-67c18.859,0-15.646,0,3.215,0 C307.304,253,327.672,275,317.488,298z"
+ id="path364" /><polygon
+ display="none"
+ fill="#31ABFF"
+ points="309.5,231.288 317,223.451 320.037,233.866 "
+ id="polygon366" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M330.99,298c-18.859,0,15.646,0-3.214,0c10.184-23-10.185-45,0-67c18.859,0-15.646,0,3.214,0 C320.806,253,341.174,275,330.99,298z"
+ id="path368" /><polygon
+ display="none"
+ fill="#31ABFF"
+ points="323.001,231.288 330.502,223.451 333.538,233.866 "
+ id="polygon370" /><g
+ display="none"
+ id="g372"><g
+ display="inline"
+ id="g374"><g
+ display="none"
+ id="g376"><path
+ display="inline"
+ fill="#31ABFF"
+ d="M425.129,219v-22h-40.439c-2.568,7-4.733,14-6.517,22H425.129z"
+ id="path378" /><path
+ display="inline"
+ opacity="0.64"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ enable-background="new "
+ d=" M425.629,218.5v-22h-40.939c-2.568,8-4.733,15-6.517,22H425.629z"
+ id="path380" /></g><g
+ display="none"
+ id="g382"><path
+ display="inline"
+ fill="#31ABFF"
+ d="M425.129,244v-21h-47.87c-1.63,7-2.88,14-3.729,21H425.129z"
+ id="path384" /><path
+ display="inline"
+ opacity="0.64"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ enable-background="new "
+ d=" M425.629,244.5v-22h-48.37c-1.63,7-2.88,15-3.729,22H425.629z"
+ id="path386" /></g><g
+ display="none"
+ id="g388"><path
+ display="inline"
+ fill="#31ABFF"
+ d="M372.116,270h53.013v-22H373.12c-0.671,7-1.003,13.871-0.971,20.759 C372.149,269.155,372.131,270,372.116,270z"
+ id="path390" /><path
+ display="inline"
+ opacity="0.64"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ enable-background="new "
+ d=" M372.116,270.5h53.513v-22H373.12c-0.671,7-1.003,13.871-0.971,20.759C372.149,269.655,372.131,269.5,372.116,270.5z"
+ id="path392" /></g></g></g><rect
+ x="533.601"
+ y="175.708"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="157.955"
+ height="127.534"
+ id="rect394" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8243"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M628.462,255.953l51.054-3.023c3.594-0.142,5.476,3.107,4.104,7.17l-2.858,10.824c-1.526,4.532-5.984,9.041-9.908,9.041h-62.589 c-5.254,0-6.745-6.561-6.745-11.152c0.12-25.828-4.734-52.385-14.563-78.246c-0.953-2.52,0.953-5.045,4.299-5.702 c1.817-0.356,3.634-0.713,5.448-1.069c3.337-0.655,7.051,0.767,8.26,3.236c11.037,22.563,18.271,43.783,21.695,66.559 C626.659,253.589,627.323,256.021,628.462,255.953z"
+ id="path396" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M661.629,298c18.86,0-15.645,0,3.215,0c-10.184-23,10.185-45,0-67 c-18.858,0,15.646,0-3.215,0C671.814,253,651.446,275,661.629,298z"
+ id="path398" /><polygon
+ display="none"
+ fill="#31ABFF"
+ points="669.619,231.288 662.118,223.451 659.082,233.866 "
+ id="polygon400" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M648.771,298c18.858,0-15.646,0,3.214,0c-10.185-23,10.186-45,0-67 c-18.86,0,15.646,0-3.214,0C658.955,253,638.586,275,648.771,298z"
+ id="path402" /><polygon
+ display="none"
+ fill="#31ABFF"
+ points="656.759,231.288 649.258,223.451 646.222,233.866 "
+ id="polygon404" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M635.269,298c18.86,0-15.646,0,3.215,0c-10.185-23,10.185-45,0-67 c-18.859,0,15.646,0-3.215,0C645.453,253,625.084,275,635.269,298z"
+ id="path406" /><polygon
+ display="none"
+ fill="#31ABFF"
+ points="643.257,231.288 635.756,223.451 632.721,233.866 "
+ id="polygon408" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8243"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M541.011,218.609v-21.841h40.56c2.567,7.243,4.732,14.529,6.516,21.841H541.011z"
+ id="path410" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8243"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M541.011,244.35v-21.841h47.987c1.63,7.263,2.881,14.548,3.729,21.841H541.011z"
+ id="path412" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8243"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M594.143,270.091h-53.132V248.25h52.128c0.67,6.894,1.002,13.792,0.972,20.679C594.11,269.325,594.127,269.707,594.143,270.091z"
+ id="path414" /><line
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="3"
+ stroke-miterlimit="10"
+ x1="667.129"
+ y1="726.5"
+ x2="363.129"
+ y2="726.5"
+ id="line416" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M362.629,703.5h29v-68.552c-9.607,0.396-19.279,0.849-29,1.366V703.5z"
+ id="path418" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M401.629,703.5h29v-69.834c-9.582,0.234-19.253,0.529-29,0.89V703.5z"
+ id="path420" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M440.629,703.5h28v-70.443c-9.225,0.067-18.563,0.196-28,0.387V703.5z"
+ id="path422" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M479.629,633.008V703.5h29v-70.351c-8.34-0.099-16.598-0.149-24.75-0.149 C482.468,633,481.047,633.005,479.629,633.008z"
+ id="path424" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M519.629,703.5h28v-69.553c-9.42-0.273-18.76-0.488-28-0.644V703.5z"
+ id="path426" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M558.629,703.5h29v-68.051c-9.729-0.447-19.404-0.835-29-1.159V703.5z"
+ id="path428" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M597.629,703.5h28v-66.005c-9.371-0.578-18.71-1.104-28-1.567V703.5z"
+ id="path430" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M636.629,703.5h29v-63.205c-9.684-0.759-19.355-1.46-29-2.099V703.5z"
+ id="path432" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC/images/temp_bar_on_left.svg b/sample-qml/apps/HVAC/images/temp_bar_on_left.svg
new file mode 100644
index 0000000..66cac81
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/temp_bar_on_left.svg
@@ -0,0 +1,271 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="68px"
+ height="482px"
+ viewBox="0 0 68 482"
+ enable-background="new 0 0 68 482"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="temp_bar_on_left.svg"><metadata
+ id="metadata3871"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs3869"><filter
+ id="filter3773"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"
+ width="1.1799999999999999"
+ height="0.99999999999999978"
+ x="-0.11"
+ y="-1.0408340855860843e-17"><feGaussianBlur
+ id="feGaussianBlur3775"
+ stdDeviation="10.615"
+ result="result8" /><feComposite
+ id="feComposite3777"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3779"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3781"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(255,255,178)" /><feBlend
+ id="feBlend3783"
+ mode="normal"
+ in="result11"
+ result="result12"
+ in2="result10" /><feComposite
+ id="feComposite3785"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1513"
+ inkscape:window-height="859"
+ id="namedview3867"
+ showgrid="false"
+ inkscape:zoom="1.9585063"
+ inkscape:cx="-219.83983"
+ inkscape:cy="308.5784"
+ inkscape:window-x="75"
+ inkscape:window-y="34"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="-107.9995"
+ y1="1254.999"
+ x2="-107.9997"
+ y2="355.8898"
+ gradientTransform="matrix(1 0 0 1 468 -309)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop3795" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop3797" /></linearGradient><rect
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect3799" /><circle
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.5936"
+ stroke-miterlimit="10"
+ cx="87.502"
+ cy="524.197"
+ r="6.141"
+ id="circle3801" /><circle
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.45"
+ cx="87.502"
+ cy="524.197"
+ r="10.912"
+ id="circle3803" /><line
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="2"
+ stroke-miterlimit="10"
+ x1="88"
+ y1="529"
+ x2="88"
+ y2="607"
+ id="line3805" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,596.969 64,606.938 21,606.938 21,581.018 64,581.018 64,596.969 "
+ id="polyline3807" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,561.967 64,571.938 21,571.938 21,546.016 64,546.016 64,561.967 "
+ id="polyline3809" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,526.966 64,536.935 21,536.935 21,511.015 64,511.015 64,526.966 "
+ id="polyline3811" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,491.964 64,501.934 21,501.934 21,476.014 64,476.014 64,491.964 "
+ id="polyline3813" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,456.963 64,466.932 21,466.932 21,441.012 64,441.012 64,456.963 "
+ id="polyline3815" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,421.961 64,431.931 21,431.931 21,406.01 64,406.01 64,421.961 "
+ id="polyline3817" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,386.96 64,396.929 21,396.929 21,371.009 64,371.009 64,386.96 "
+ id="polyline3819" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,351.959 64,361.928 21,361.928 21,336.008 64,336.008 64,351.959 "
+ id="polyline3821" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,316.958 64,326.927 21,326.927 21,301.007 64,301.007 64,316.958 "
+ id="polyline3823" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,281.956 64,291.925 21,291.925 21,266.005 64,266.005 64,281.956 "
+ id="polyline3825" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,246.955 64,256.924 21,256.924 21,231.004 64,231.004 64,246.955 "
+ id="polyline3827" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,211.954 64,221.923 21,221.923 21,196.003 64,196.003 64,211.954 "
+ id="polyline3829" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,176.952 64,186.921 21,186.921 21,161.001 64,161.001 64,176.952 "
+ id="polyline3831" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,141.951 64,151.92 21,151.92 21,126 64,126 64,141.951 "
+ id="polyline3833" /><line
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ x1="80.5"
+ y1="126"
+ x2="80.5"
+ y2="607"
+ id="line3835" /><rect
+ x="66"
+ y="0.5"
+ fill="#FFD38C"
+ width="2"
+ height="482"
+ id="rect3837" /><polyline
+ stroke-miterlimit="10"
+ points="43,15.451 43,25.42 0,25.42 0,-0.5 43,-0.5 43,15.451 "
+ id="polyline3865"
+ transform="matrix(0.92698774,0,0,18.485339,1.5697635,10.312433)"
+ style="fill:#fe9c00;stroke:none;stroke-miterlimit:10;opacity:1;" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC/images/temp_bar_on_right.svg b/sample-qml/apps/HVAC/images/temp_bar_on_right.svg
new file mode 100644
index 0000000..95bd894
--- /dev/null
+++ b/sample-qml/apps/HVAC/images/temp_bar_on_right.svg
@@ -0,0 +1,282 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="68px"
+ height="481px"
+ viewBox="0 0 68 481"
+ enable-background="new 0 0 68 481"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="temp_bar_on_right.svg"><metadata
+ id="metadata80"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs78"><linearGradient
+ id="linearGradient3780"><stop
+ style="stop-color:#fe9c00;stop-opacity:1;"
+ offset="0"
+ id="stop3782" /><stop
+ id="stop3788"
+ offset="0.5"
+ style="stop-color:#fe9c00;stop-opacity:0;" /><stop
+ style="stop-color:#fe9c00;stop-opacity:1;"
+ offset="1"
+ id="stop3784" /></linearGradient><filter
+ id="filter3773"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"
+ width="1.1799999"
+ height="1"
+ x="-0.11"
+ y="-1.0408341e-17"><feGaussianBlur
+ id="feGaussianBlur3775"
+ stdDeviation="10.615"
+ result="result8" /><feComposite
+ id="feComposite3777"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3779"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3781"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(255,255,178)" /><feBlend
+ id="feBlend3783"
+ mode="normal"
+ in="result11"
+ result="result12"
+ in2="result10" /><feComposite
+ id="feComposite3785"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1214"
+ inkscape:window-height="736"
+ id="namedview76"
+ showgrid="false"
+ inkscape:zoom="1.962578"
+ inkscape:cx="-71.694992"
+ inkscape:cy="256.91159"
+ inkscape:window-x="75"
+ inkscape:window-y="34"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="126.001"
+ y1="100.0005"
+ x2="126.0009"
+ y2="999.1093"
+ gradientTransform="matrix(1 0 0 -1 234 1046)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><circle
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.5936"
+ stroke-miterlimit="10"
+ cx="633.498"
+ cy="420.198"
+ r="6.141"
+ id="circle10" /><circle
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.45"
+ cx="633.498"
+ cy="420.198"
+ r="10.912"
+ id="circle12" /><line
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="2"
+ stroke-miterlimit="10"
+ x1="633"
+ y1="419"
+ x2="633"
+ y2="607"
+ id="line14" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,596.969 657,606.938 700,606.938 700,581.018 657,581.018 657,596.969 "
+ id="polyline16" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,561.967 657,571.938 700,571.938 700,546.016 657,546.016 657,561.967 "
+ id="polyline18" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,526.966 657,536.935 700,536.935 700,511.015 657,511.015 657,526.966 "
+ id="polyline20" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,491.964 657,501.934 700,501.934 700,476.014 657,476.014 657,491.964 "
+ id="polyline22" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,456.963 657,466.932 700,466.932 700,441.012 657,441.012 657,456.963 "
+ id="polyline24" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,421.961 657,431.931 700,431.931 700,406.01 657,406.01 657,421.961 "
+ id="polyline26" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,386.96 657,396.929 700,396.929 700,371.009 657,371.009 657,386.96 "
+ id="polyline28" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,351.959 657,361.928 700,361.928 700,336.008 657,336.008 657,351.959 "
+ id="polyline30" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,316.958 657,326.927 700,326.927 700,301.007 657,301.007 657,316.958 "
+ id="polyline32" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,281.956 657,291.925 700,291.925 700,266.005 657,266.005 657,281.956 "
+ id="polyline34" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,246.955 657,256.924 700,256.924 700,231.004 657,231.004 657,246.955 "
+ id="polyline36" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,211.954 657,221.923 700,221.923 700,196.003 657,196.003 657,211.954 "
+ id="polyline38" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,176.952 657,186.921 700,186.921 700,161.001 657,161.001 657,176.952 "
+ id="polyline40" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,141.951 657,151.92 700,151.92 700,126 657,126 657,141.951 "
+ id="polyline42" /><line
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ x1="640.5"
+ y1="126"
+ x2="640.5"
+ y2="607"
+ id="line44" /><rect
+ style="fill:#ffd38c"
+ x="-3.426348"
+ y="0.4046613"
+ width="2"
+ height="482"
+ id="rect3837"
+ transform="scale(-1,1)" /><polyline
+ stroke-miterlimit="10"
+ points="43,15.451 43,25.42 0,25.42 0,-0.5 43,-0.5 43,15.451 "
+ id="polyline3865"
+ transform="matrix(-0.92698774,0,0,18.485339,67.85659,10.217094)"
+ style="fill:#fe9c00;stroke:none;fill-opacity:1" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC/models/HVACModel.qml b/sample-qml/apps/HVAC/models/HVACModel.qml
new file mode 100644
index 0000000..e737af4
--- /dev/null
+++ b/sample-qml/apps/HVAC/models/HVACModel.qml
@@ -0,0 +1,47 @@
+/* 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/. */
+
+pragma Singleton
+
+import QtQuick 2.0
+import vehicle 1.0
+
+Item {
+ property bool fanUp: false
+ property bool fanRight: false
+ property bool fanDown: false
+
+ property bool fanAC: false
+ property bool fanAuto: false
+ property bool fanRecirc: false
+
+ property real fanSpeed: 0
+
+ property bool defrostMax: false
+ property bool defrostFront: false
+ property bool defrostRear: false
+
+ property real leftTemperature: 0
+ property real rightTemperature: 0
+
+ property int leftSeatHeat: 0
+ property int rightSeatHeat: 0
+
+ onFanSpeedChanged: {
+ var currentFan = ClimateModel.getRangeValue(fanSpeed,ClimateModel.fanStepSize);
+ ClimateModel.fanSpeed = currentFan;
+ }
+
+ onLeftTemperatureChanged: {
+ var temperature = ClimateModel.getRangeValue(leftTemperature,ClimateModel.temperatureStepSize);
+ ClimateModel.leftTemp = temperature;
+ }
+
+ onRightTemperatureChanged: {
+ var temperature = ClimateModel.getRangeValue(rightTemperature,ClimateModel.temperatureStepSize);
+ ClimateModel.rightTemp = temperature;
+ }
+}
diff --git a/sample-qml/apps/HVAC/models/TemperatureModel.qml b/sample-qml/apps/HVAC/models/TemperatureModel.qml
new file mode 100644
index 0000000..85ca415
--- /dev/null
+++ b/sample-qml/apps/HVAC/models/TemperatureModel.qml
@@ -0,0 +1,28 @@
+/* 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/. */
+
+pragma Singleton
+
+import QtQuick 2.0
+
+ListModel {
+ ListElement { text: "LO" }
+ ListElement { text: "16\u00b0" }
+ ListElement { text: "17\u00b0" }
+ ListElement { text: "18\u00b0" }
+ ListElement { text: "19\u00b0" }
+ ListElement { text: "20\u00b0" }
+ ListElement { text: "21\u00b0" }
+ ListElement { text: "22\u00b0" }
+ ListElement { text: "23\u00b0" }
+ ListElement { text: "24\u00b0" }
+ ListElement { text: "25\u00b0" }
+ ListElement { text: "26\u00b0" }
+ ListElement { text: "27\u00b0" }
+ ListElement { text: "28\u00b0" }
+ ListElement { text: "29\u00b0" }
+ ListElement { text: "HI" }
+}
diff --git a/sample-qml/apps/HVAC/models/qmldir b/sample-qml/apps/HVAC/models/qmldir
new file mode 100644
index 0000000..d757168
--- /dev/null
+++ b/sample-qml/apps/HVAC/models/qmldir
@@ -0,0 +1,8 @@
+#/* 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/. */
+
+singleton HVACModel 1.0 HVACModel.qml
+singleton TemperatureModel 1.0 TemperatureModel.qml
diff --git a/sample-qml/apps/HVAC_org/ClimateButton.qml b/sample-qml/apps/HVAC_org/ClimateButton.qml
new file mode 100644
index 0000000..24802c7
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/ClimateButton.qml
@@ -0,0 +1,30 @@
+/* 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 "models"
+
+Rectangle {
+ id: root
+
+ width: imageItem.width
+ height: imageItem.height
+ color: "#aa000000"
+
+ property string target: ""
+ property string image: ""
+ property bool value: HVACModel[target]
+
+ Image {
+ id: imageItem
+ source: "images/" + image + "_" + (value ? "on" : "off") + ".png"
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: HVACModel[target] = !HVACModel[target]
+ }
+}
diff --git a/sample-qml/apps/HVAC_org/FanControl.qml b/sample-qml/apps/HVAC_org/FanControl.qml
new file mode 100644
index 0000000..00e6f9e
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/FanControl.qml
@@ -0,0 +1,54 @@
+/* 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 "models"
+
+Item {
+ width: childrenRect.width
+ height: childrenRect.height
+
+ property real value: 0
+
+ Image {
+ y: 15
+ source: "images/fan_icon_off.png"
+ }
+
+ Image {
+ id: fanBar
+ x: 100
+ source: "images/fan_bar_off.png"
+ }
+
+ Image {
+ x: 100
+ width: value * fanBar.width
+ fillMode: Image.PreserveAspectCrop
+ horizontalAlignment: Image.AlignLeft
+ source: "images/fan_bar_on.png"
+
+ Image {
+ width: 20
+ height: width
+ anchors.verticalCenter: parent.bottom
+ anchors.verticalCenterOffset: -1
+ anchors.horizontalCenter: parent.right
+ source: "images/drag_knob.svg"
+ }
+ }
+
+ MouseArea {
+ x: 100
+ width: fanBar.width
+ height: parent.height
+
+ onPositionChanged: {
+ value = Math.min(Math.max(mouse.x / fanBar.width, 0), 1)
+ HVACModel.fanSpeed = value;
+ }
+ }
+}
diff --git a/sample-qml/apps/HVAC_org/HVAC.qml b/sample-qml/apps/HVAC_org/HVAC.qml
new file mode 100644
index 0000000..8ca981e
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/HVAC.qml
@@ -0,0 +1,89 @@
+/* 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 system 1.0
+import utils 1.0
+import "models"
+
+App {
+ appId: "hvac"
+
+ HazardButton {
+ id: hazardButton
+ y: 100
+ anchors.horizontalCenter: parent.horizontalCenter
+ }
+
+ TempSlider {
+ id: lTempSlider
+ x: 30
+ anchors.top: hazardButton.bottom
+ anchors.topMargin: 115
+ side: "left"
+ }
+
+ Row {
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.top: hazardButton.bottom
+ anchors.topMargin: 90
+ spacing: 200
+
+ MiddleColumn { side: "left" }
+ MiddleColumn { side: "right" }
+ }
+
+ TempSlider {
+ id: rTempSlider
+ anchors.top: hazardButton.bottom
+ anchors.topMargin: 115
+ anchors.right: parent.right
+ anchors.rightMargin: 30
+ side: "right"
+ }
+
+ Image {
+ y: 1057
+ source: "images/separator.png"
+ }
+
+ FanControl {
+ x: 259
+ y: 1092
+ }
+
+ Item {
+ anchors.horizontalCenter: parent.horizontalCenter
+ width: childrenRect.width
+ height: childrenRect.height
+ anchors.bottom: parent.bottom
+ anchors.bottomMargin: 40
+
+ Row {
+ spacing: 20
+
+ Column {
+ spacing: 10
+
+ ClimateButton { image: "fan_dir_down"; target: "fanDown" }
+ ClimateButton { image: "fan_dir_right"; target: "fanRight" }
+ ClimateButton { image: "fan_dir_up"; target: "fanUp" }
+ }
+
+ ClimateButton { y: 156; image: "fan_control_ac"; target: "fanAC" }
+ ClimateButton { y: 156; image: "fan_control_auto"; target: "fanAuto" }
+ ClimateButton { y: 156; image: "fan_control_circ"; target: "fanRecirc" }
+
+ Column {
+ spacing: 10
+
+ ClimateButton { image: "defrost_max"; target: "defrostMax" }
+ ClimateButton { image: "defrost_rear"; target: "defrostRear" }
+ ClimateButton { image: "defrost_front"; target: "defrostFront" }
+ }
+ }
+ }
+}
diff --git a/sample-qml/apps/HVAC_org/HazardButton.qml b/sample-qml/apps/HVAC_org/HazardButton.qml
new file mode 100644
index 0000000..ffae370
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/HazardButton.qml
@@ -0,0 +1,37 @@
+/* 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
+
+Rectangle {
+ id: hazardButton
+ width: 624
+ height: 122
+ color: "#aa000000"
+ border.color: "#ff53b5ce"
+
+ property bool value: false
+ property bool flash: false
+
+ Image {
+ id: image
+ source: "./images/hazard_" + (value ? (flash ? "blink" : "on") : "off") + ".png"
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: value = !value
+ }
+
+ Timer {
+ id: timer
+ interval: 500
+ repeat: true
+ running: value
+
+ onTriggered: flash = !flash
+ }
+}
diff --git a/sample-qml/apps/HVAC_org/MiddleColumn.qml b/sample-qml/apps/HVAC_org/MiddleColumn.qml
new file mode 100644
index 0000000..89f0ebe
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/MiddleColumn.qml
@@ -0,0 +1,33 @@
+/* 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 components 1.0
+import utils 1.0
+
+Item {
+ id: root
+
+ width: 239
+ height: 800
+
+ property string side: "left"
+
+ Column {
+ spacing: 50
+
+ BoxHeading {
+ color: Style.orangeViv
+ boxWidth: 45
+ boxHeight: 19
+ fontSize: 27
+ text: (side === "left" ? "L" : "R" ) + " CLIMATE"
+ }
+
+ SeatHeatButton { side: root.side }
+ TemperatureWheel { side: root.side }
+ }
+}
diff --git a/sample-qml/apps/HVAC_org/SeatHeatButton.qml b/sample-qml/apps/HVAC_org/SeatHeatButton.qml
new file mode 100644
index 0000000..43645fb
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/SeatHeatButton.qml
@@ -0,0 +1,39 @@
+/* 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 "models"
+
+Rectangle {
+ width: 239
+ height: 194
+ color: "#aa000000"
+ border.color: "#ff53b5ce"
+
+ property string side: "left"
+ property string propertyName: side + "SeatHeat"
+ property int seatHeat: HVACModel[propertyName]
+
+ Image {
+ source: "./images/" + side + "_heat_seat_off.png"
+ }
+
+ Image {
+ y: 150 - seatHeat*40
+ height: implicitHeight - y
+ fillMode: Image.Tile
+ verticalAlignment: Image.AlignBottom
+ source: "./images/" + side + "_heat_seat_on.png"
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ var value = HVACModel[propertyName]
+ HVACModel[propertyName] = value > 0 ? value - 1 : 3
+ }
+ }
+}
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)
+ }
+}
+
diff --git a/sample-qml/apps/HVAC_org/TemperatureWheel.qml b/sample-qml/apps/HVAC_org/TemperatureWheel.qml
new file mode 100644
index 0000000..7a59dde
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/TemperatureWheel.qml
@@ -0,0 +1,56 @@
+/* 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 "models"
+
+Rectangle {
+ width: 237
+ height: 350
+ color: "#aa000000"
+
+ property string side: "left"
+ property string propertyName: side + "Temperature"
+ property real value: HVACModel[propertyName]
+
+ ListView {
+ anchors.fill: parent
+ clip: true
+ snapMode: ListView.SnapToItem
+ model: TemperatureModel
+ header: Item { height: 120 }
+ footer: Item { height: 120 }
+ currentIndex: Math.min(value * count, count - 1)
+ flickDeceleration: 5000
+ onContentYChanged: {
+ if (dragging || flicking) {
+ var item = Math.round((contentY + 120) / 110)
+ item = Math.max(Math.min(item, count - 1), 0)
+ if (item != currentIndex) {
+ var temperature = item / (count - 1)
+ HVACModel[propertyName] = temperature
+ }
+ }
+ }
+ highlightMoveDuration: 100
+ interactive: true
+
+ delegate: Text {
+ x: side === "right" ? 40 : 10
+ height: 110
+ verticalAlignment: Text.AlignVCenter
+ color: "white"
+ font.pixelSize: 70
+ text: model.text
+ }
+ }
+
+ Image {
+ mirror: side === "left"
+ source: "./images/right_number_cover.svg"
+ anchors.fill: parent
+ }
+}
diff --git a/sample-qml/apps/HVAC_org/images/defrost_front_off.png b/sample-qml/apps/HVAC_org/images/defrost_front_off.png
new file mode 100644
index 0000000..7f12e77
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/defrost_front_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/defrost_front_off.svg b/sample-qml/apps/HVAC_org/images/defrost_front_off.svg
new file mode 100644
index 0000000..d2f0a6a
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/defrost_front_off.svg
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="123px" height="88px" viewBox="0 0 123 88" enable-background="new 0 0 123 88" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-107.9995" y1="1649" x2="-107.9997" y2="749.8912" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<rect x="575" y="876.898" display="none" fill="#31ABFF" fill-opacity="0.29" stroke="#31ABFF" stroke-width="0.8902" stroke-miterlimit="10" stroke-opacity="0.64" width="122" height="86.563"/>
+<g>
+
+ <rect x="0.5" y="0.719" fill-opacity="0.29" stroke="#FFFFFF" stroke-width="0.8902" stroke-miterlimit="10" stroke-opacity="0.64" width="122" height="86.563"/>
+ <path fill="#B2F0FF" d="M23.32,11.06h10.186v2.645h-6.965v4.871h6.493v2.646h-6.493v7.486H23.32V11.06L23.32,11.06z"/>
+ <path fill="#B2F0FF" d="M36.646,11.296c1.203-0.21,3.012-0.365,4.869-0.365c2.54,0,4.27,0.419,5.446,1.414
+ c0.969,0.812,1.521,2.043,1.521,3.533c0,2.278-1.547,3.823-3.194,4.427v0.078c1.257,0.472,2.016,1.7,2.461,3.402
+ c0.55,2.199,1.021,4.242,1.388,4.923h-3.324c-0.263-0.521-0.682-1.964-1.18-4.163c-0.497-2.305-1.335-3.037-3.168-3.09h-1.623
+ v7.253h-3.192V11.296H36.646L36.646,11.296z M39.842,19.099h1.911c2.174,0,3.535-1.152,3.535-2.906
+ c0-1.938-1.361-2.828-3.456-2.828c-1.021,0-1.676,0.078-1.99,0.157V19.099z"/>
+ <path fill="#B2F0FF" d="M67.204,19.701c0,5.917-3.588,9.295-8.458,9.295c-4.975,0-8.117-3.797-8.117-8.979
+ c0-5.42,3.404-9.243,8.379-9.243C64.166,10.771,67.204,14.674,67.204,19.701z M54.033,19.963c0,3.589,1.807,6.441,4.896,6.441
+ c3.115,0,4.87-2.881,4.87-6.572c0-3.326-1.647-6.468-4.87-6.468C55.735,13.364,54.033,16.323,54.033,19.963z"/>
+ <path fill="#B2F0FF" d="M69.98,28.708V11.061h3.663l4.559,7.565c1.178,1.966,2.199,4.006,3.011,5.918h0.053
+ c-0.21-2.354-0.288-4.635-0.288-7.332v-6.151h2.985v17.646h-3.326l-4.606-7.751c-1.126-1.938-2.306-4.108-3.168-6.101l-0.078,0.025
+ c0.131,2.277,0.155,4.607,0.155,7.516v6.311L69.98,28.708L69.98,28.708z"/>
+ <path fill="#B2F0FF" d="M91.059,13.758h-5.025v-2.696H99.36v2.696h-5.08v14.95h-3.222V13.758L91.059,13.758z"/>
+ <path fill="#B2F0FF" d="M82.873,74.299c-0.681,0-1.354-0.109-2.002-0.326c-12.401-4.18-26.008-4.179-38.407-0.001
+ c-0.647,0.218-1.322,0.327-2.004,0.327c-2.411,0-4.556-1.367-5.463-3.484l-9.131-22.044c-0.485-1.127-0.442-2.462,0.128-3.738
+ c0.858-1.924,2.822-3.56,5.249-4.375c9.819-3.308,20.056-4.983,30.423-4.983s20.604,1.678,30.424,4.984
+ c2.427,0.814,4.389,2.451,5.249,4.375c0.57,1.276,0.612,2.61,0.12,3.758l-9.115,22.005C87.428,72.93,85.283,74.299,82.873,74.299z
+ M61.666,67.59c6.896,0,13.703,1.116,20.234,3.317c0.313,0.104,0.642,0.158,0.973,0.158c1.116,0,2.095-0.6,2.492-1.527
+ l9.115-22.007c0.178-0.413,0.047-0.868-0.095-1.181c-0.385-0.86-1.461-2.004-3.328-2.631c-9.487-3.196-19.378-4.817-29.394-4.817
+ s-19.904,1.621-29.393,4.816c-1.868,0.628-2.943,1.771-3.328,2.631c-0.142,0.312-0.271,0.768-0.103,1.162l9.131,22.045
+ c0.392,0.907,1.368,1.509,2.483,1.509c0.332,0,0.66-0.054,0.976-0.159C47.964,68.706,54.771,67.59,61.666,67.59z"/>
+ <path fill="#B2F0FF" d="M71.662,65.786c-0.538,0-1.034-0.288-1.302-0.755l-7.835-13.686l-7.836,13.686
+ c-0.269,0.467-0.765,0.755-1.303,0.755s-1.034-0.288-1.302-0.755l-7.858-13.726l-4.021,6.778c-0.271,0.455-0.761,0.734-1.29,0.734
+ H32.5c-0.828,0-1.5-0.672-1.5-1.5s0.672-1.5,1.5-1.5h5.563l4.832-8.148c0.019-0.033,0.035-0.067,0.057-0.104
+ c0.269-0.463,0.763-0.748,1.298-0.748c0.539,0,1.04,0.289,1.307,0.758c0.018,0.026,0.029,0.054,0.043,0.081l7.791,13.607
+ l7.771-13.572c0.02-0.043,0.042-0.085,0.063-0.126c0.271-0.463,0.765-0.748,1.3-0.748c0.533,0,1.031,0.285,1.301,0.748
+ c0.018,0.029,0.034,0.06,0.049,0.091l7.791,13.607l7.771-13.572c0.019-0.041,0.038-0.081,0.062-0.12
+ c0.268-0.466,0.764-0.754,1.302-0.754c0.535,0,1.033,0.285,1.302,0.748c0.016,0.023,0.028,0.051,0.043,0.077l4.789,8.175H90.5
+ c0.828,0,1.5,0.672,1.5,1.5s-0.672,1.5-1.5,1.5h-4.432c-0.532,0-1.025-0.282-1.294-0.741l-3.962-6.76l-7.851,13.712
+ C72.696,65.498,72.2,65.786,71.662,65.786z"/>
+</g>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="167.5" y1="1580.6396" x2="167.5" y2="1665.9438" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0.5092" style="stop-color:#31ABFF;stop-opacity:0"/>
+ <stop offset="0.9018" style="stop-color:#31ABFF"/>
+ <stop offset="1" style="stop-color:#63E6FF"/>
+</linearGradient>
+<rect x="574.5" y="876.5" display="none" fill="url(#SVGID_2_)" stroke="#31ABFF" stroke-miterlimit="10" width="122" height="87"/>
+<path display="none" fill="#FFFFFF" d="M597.82,887.239h10.186v2.645h-6.965v4.871h6.493v2.646h-6.493v7.486h-3.221V887.239
+ L597.82,887.239z"/>
+<path display="none" fill="#FFFFFF" d="M611.146,887.476c1.203-0.21,3.012-0.365,4.869-0.365c2.54,0,4.27,0.419,5.446,1.414
+ c0.969,0.812,1.521,2.043,1.521,3.533c0,2.278-1.547,3.823-3.194,4.427v0.078c1.257,0.472,2.016,1.7,2.461,3.402
+ c0.55,2.199,1.021,4.242,1.388,4.923h-3.324c-0.263-0.521-0.682-1.964-1.18-4.163c-0.497-2.305-1.335-3.037-3.168-3.09h-1.623v7.253
+ h-3.192v-17.412H611.146L611.146,887.476z M614.342,895.278h1.911c2.174,0,3.535-1.152,3.535-2.906c0-1.938-1.361-2.828-3.456-2.828
+ c-1.021,0-1.676,0.078-1.99,0.157V895.278z"/>
+<path display="none" fill="#FFFFFF" d="M641.704,895.881c0,5.917-3.588,9.295-8.458,9.295c-4.975,0-8.117-3.797-8.117-8.979
+ c0-5.42,3.404-9.243,8.379-9.243C638.666,886.951,641.704,890.854,641.704,895.881z M628.533,896.143
+ c0,3.589,1.807,6.441,4.896,6.441c3.115,0,4.87-2.881,4.87-6.572c0-3.326-1.647-6.468-4.87-6.468
+ C630.235,889.544,628.533,892.503,628.533,896.143z"/>
+<path display="none" fill="#FFFFFF" d="M644.48,904.888V887.24h3.663l4.559,7.565c1.178,1.966,2.199,4.006,3.011,5.918h0.053
+ c-0.21-2.354-0.288-4.635-0.288-7.332v-6.151h2.985v17.646h-3.326l-4.606-7.751c-1.126-1.938-2.306-4.108-3.168-6.101l-0.078,0.025
+ c0.131,2.277,0.155,4.607,0.155,7.516v6.311L644.48,904.888L644.48,904.888z"/>
+<path display="none" fill="#FFFFFF" d="M665.559,889.938h-5.025v-2.696h13.327v2.696h-5.08v14.95h-3.222V889.938L665.559,889.938z"
+ />
+<path display="none" fill="#FFFFFF" d="M657.373,950.479c-0.681,0-1.354-0.109-2.002-0.326c-12.401-4.18-26.008-4.179-38.407-0.001
+ c-0.647,0.218-1.322,0.327-2.004,0.327c-2.411,0-4.556-1.367-5.463-3.484l-9.131-22.044c-0.485-1.127-0.442-2.462,0.128-3.738
+ c0.858-1.924,2.822-3.56,5.249-4.375c9.819-3.308,20.056-4.983,30.423-4.983s20.604,1.678,30.424,4.984
+ c2.427,0.814,4.389,2.451,5.249,4.375c0.57,1.276,0.612,2.61,0.12,3.758l-9.115,22.005
+ C661.928,949.109,659.783,950.479,657.373,950.479z M636.166,943.77c6.896,0,13.703,1.116,20.234,3.317
+ c0.313,0.104,0.642,0.158,0.973,0.158c1.116,0,2.095-0.6,2.492-1.527l9.115-22.007c0.178-0.413,0.047-0.868-0.095-1.181
+ c-0.385-0.86-1.461-2.004-3.328-2.631c-9.487-3.196-19.378-4.817-29.394-4.817s-19.904,1.621-29.393,4.816
+ c-1.868,0.628-2.943,1.771-3.328,2.631c-0.142,0.312-0.271,0.768-0.103,1.162l9.131,22.045c0.392,0.907,1.368,1.509,2.483,1.509
+ c0.332,0,0.66-0.054,0.976-0.159C622.464,944.886,629.271,943.77,636.166,943.77z"/>
+<path display="none" fill="#FFFFFF" d="M646.162,941.966c-0.538,0-1.034-0.288-1.302-0.755l-7.835-13.686l-7.836,13.686
+ c-0.269,0.467-0.765,0.755-1.303,0.755s-1.034-0.288-1.302-0.755l-7.858-13.726l-4.021,6.778c-0.271,0.455-0.761,0.734-1.29,0.734
+ H607c-0.828,0-1.5-0.672-1.5-1.5s0.672-1.5,1.5-1.5h5.563l4.832-8.148c0.019-0.033,0.035-0.067,0.057-0.104
+ c0.269-0.463,0.763-0.748,1.298-0.748c0.539,0,1.04,0.289,1.307,0.758c0.018,0.026,0.029,0.054,0.043,0.081l7.791,13.607
+ l7.771-13.572c0.02-0.043,0.042-0.085,0.063-0.126c0.271-0.463,0.765-0.748,1.3-0.748c0.533,0,1.031,0.285,1.301,0.748
+ c0.018,0.029,0.034,0.06,0.049,0.091l7.791,13.607l7.771-13.572c0.019-0.041,0.038-0.081,0.062-0.12
+ c0.268-0.466,0.764-0.754,1.302-0.754c0.535,0,1.033,0.285,1.302,0.748c0.016,0.023,0.028,0.051,0.043,0.077l4.789,8.175H665
+ c0.828,0,1.5,0.672,1.5,1.5s-0.672,1.5-1.5,1.5h-4.432c-0.532,0-1.025-0.282-1.294-0.741l-3.962-6.76l-7.851,13.712
+ C647.196,941.678,646.7,941.966,646.162,941.966z"/>
+<text transform="matrix(1 0 0 1 595.9609 904.8877)" display="none" fill="#31ABFF" enable-background="new " font-family="'MyriadPro-Semibold'" font-size="26.1844">FRONT</text>
+<path display="none" fill="none" stroke="#31ABFF" stroke-width="3.2325" stroke-miterlimit="10" d="M661.351,946.355
+ c-0.881,2.053-3.306,2.984-5.466,2.263c-12.79-4.312-26.646-4.312-39.437,0c-2.16,0.724-4.586-0.21-5.466-2.263
+ c-3.042-7.344-6.082-14.686-9.123-22.025c-0.881-2.047,1.056-4.84,4.396-5.963c19.399-6.535,40.417-6.535,59.816,0
+ c3.342,1.123,5.277,3.916,4.397,5.963C667.432,931.672,664.392,939.014,661.351,946.355z"/>
+<polyline display="none" fill="none" stroke="#31ABFF" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
+ 665,933.5 660.568,933.5 655.295,924.5 655.302,924.5 646.162,940.466 637.021,924.5 637.028,924.5 627.889,940.466 618.748,924.5
+ 618.755,924.5 613.417,933.5 607,933.5 "/>
+</svg>
diff --git a/sample-qml/apps/HVAC_org/images/defrost_front_on.png b/sample-qml/apps/HVAC_org/images/defrost_front_on.png
new file mode 100644
index 0000000..d8c9185
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/defrost_front_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/defrost_front_on.svg b/sample-qml/apps/HVAC_org/images/defrost_front_on.svg
new file mode 100644
index 0000000..c4ed46a
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/defrost_front_on.svg
@@ -0,0 +1,247 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="123px"
+ height="88px"
+ viewBox="0 0 123 88"
+ enable-background="new 0 0 123 88"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="defrost_front_on.svg"><metadata
+ id="metadata78"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs76"><defs
+ id="defs40"><filter
+ id="Adobe_OpacityMaskFilter"
+ filterUnits="userSpaceOnUse"
+ x="0.5"
+ y="0.5"
+ width="122"
+ height="87"
+ color-interpolation-filters="sRGB"><feColorMatrix
+ type="matrix"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"
+ color-interpolation-filters="sRGB"
+ result="source"
+ id="feColorMatrix43" /></filter></defs><filter
+ id="filter3841"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur3843"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite3845"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3847"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3849"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend3851"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite3853"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /><feBlend
+ blend="normal"
+ id="feBlend3855"
+ in2="result2" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1485"
+ inkscape:window-height="745"
+ id="namedview74"
+ showgrid="false"
+ inkscape:zoom="4.7479675"
+ inkscape:cx="49.34842"
+ inkscape:cy="28.800038"
+ inkscape:window-x="75"
+ inkscape:window-y="124"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="-342"
+ y1="-996"
+ x2="-342.0004"
+ y2="-96.8916"
+ gradientTransform="matrix(1 0 0 -1 702 -50)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><rect
+ x="575"
+ y="876.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="122"
+ height="86.563"
+ id="rect10" /><rect
+ x="575"
+ y="876.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="122"
+ height="86.563"
+ id="rect12" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M597.82,887.239h10.186v2.645h-6.965v4.871h6.493v2.646h-6.493v7.485h-3.221V887.239 L597.82,887.239z"
+ id="path14" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M611.146,887.476c1.202-0.21,3.012-0.364,4.868-0.364c2.54,0,4.271,0.419,5.446,1.414 c0.969,0.812,1.521,2.043,1.521,3.532c0,2.278-1.548,3.823-3.194,4.428v0.078c1.257,0.472,2.016,1.699,2.461,3.401 c0.55,2.199,1.021,4.242,1.388,4.923h-3.323c-0.264-0.521-0.683-1.964-1.181-4.163c-0.497-2.305-1.335-3.037-3.168-3.09h-1.623 v7.253h-3.191v-17.412H611.146L611.146,887.476z M614.342,895.278h1.911c2.174,0,3.535-1.152,3.535-2.906 c0-1.938-1.361-2.828-3.456-2.828c-1.021,0-1.676,0.078-1.99,0.157V895.278z"
+ id="path16" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M641.704,895.881c0,5.917-3.588,9.295-8.458,9.295c-4.975,0-8.117-3.797-8.117-8.979 c0-5.42,3.404-9.243,8.379-9.243C638.666,886.951,641.704,890.854,641.704,895.881z M628.533,896.143 c0,3.59,1.807,6.441,4.896,6.441c3.115,0,4.87-2.881,4.87-6.572c0-3.326-1.646-6.468-4.87-6.468 C630.235,889.544,628.533,892.503,628.533,896.143z"
+ id="path18" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M644.48,904.888V887.24h3.662l4.56,7.564c1.178,1.967,2.199,4.006,3.011,5.918h0.053 c-0.21-2.354-0.288-4.635-0.288-7.332v-6.15h2.985v17.646h-3.326l-4.605-7.751c-1.126-1.938-2.307-4.107-3.168-6.101l-0.078,0.024 c0.131,2.277,0.154,4.607,0.154,7.517v6.311L644.48,904.888L644.48,904.888z"
+ id="path20" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M665.559,889.938h-5.024v-2.695h13.327v2.695h-5.08v14.95h-3.223V889.938L665.559,889.938z"
+ id="path22" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M657.373,950.479c-0.681,0-1.354-0.108-2.002-0.325c-12.401-4.181-26.008-4.18-38.407-0.001 c-0.646,0.218-1.322,0.327-2.004,0.327c-2.411,0-4.556-1.367-5.463-3.484l-9.131-22.044c-0.485-1.127-0.442-2.462,0.128-3.738 c0.857-1.924,2.822-3.56,5.249-4.375c9.819-3.308,20.056-4.982,30.423-4.982s20.604,1.678,30.424,4.983 c2.427,0.814,4.389,2.451,5.249,4.375c0.57,1.276,0.612,2.61,0.12,3.758l-9.115,22.006 C661.928,949.109,659.783,950.479,657.373,950.479z M636.166,943.77c6.896,0,13.703,1.116,20.234,3.317 c0.313,0.104,0.642,0.158,0.973,0.158c1.116,0,2.095-0.6,2.492-1.527l9.115-22.007c0.178-0.413,0.047-0.868-0.096-1.181 c-0.385-0.86-1.461-2.004-3.328-2.631c-9.486-3.196-19.378-4.817-29.394-4.817s-19.904,1.621-29.393,4.816 c-1.868,0.628-2.943,1.771-3.328,2.631c-0.143,0.312-0.271,0.768-0.104,1.162l9.131,22.045c0.393,0.906,1.368,1.509,2.483,1.509 c0.332,0,0.66-0.054,0.976-0.159C622.464,944.886,629.271,943.77,636.166,943.77z"
+ id="path24" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M646.162,941.966c-0.538,0-1.034-0.288-1.302-0.755l-7.835-13.686l-7.836,13.686 c-0.27,0.467-0.766,0.755-1.304,0.755s-1.034-0.288-1.302-0.755l-7.858-13.726l-4.021,6.777c-0.271,0.455-0.761,0.734-1.29,0.734 H607c-0.828,0-1.5-0.672-1.5-1.5s0.672-1.5,1.5-1.5h5.563l4.832-8.148c0.02-0.032,0.035-0.066,0.058-0.104 c0.269-0.463,0.763-0.748,1.298-0.748c0.539,0,1.04,0.289,1.307,0.758c0.019,0.026,0.029,0.054,0.043,0.081l7.791,13.607 l7.771-13.572c0.02-0.043,0.042-0.085,0.063-0.126c0.271-0.463,0.766-0.748,1.301-0.748c0.532,0,1.03,0.285,1.301,0.748 c0.018,0.029,0.034,0.06,0.049,0.091l7.791,13.607l7.771-13.572c0.019-0.041,0.037-0.081,0.062-0.12 c0.268-0.466,0.764-0.754,1.302-0.754c0.535,0,1.033,0.285,1.303,0.748c0.016,0.022,0.027,0.051,0.043,0.077l4.789,8.175H665 c0.828,0,1.5,0.672,1.5,1.5s-0.672,1.5-1.5,1.5h-4.432c-0.532,0-1.025-0.282-1.294-0.741l-3.962-6.76l-7.852,13.712 C647.196,941.678,646.7,941.966,646.162,941.966z"
+ id="path26" /><g
+ display="none"
+ id="g28"><rect
+ x="0.5"
+ y="0.5"
+ display="inline"
+ opacity="0.8"
+ enable-background="new "
+ width="122"
+ height="87"
+ id="rect30" /><rect
+ x="0.5"
+ y="0.5"
+ display="inline"
+ fill="none"
+ stroke="#FFFFFF"
+ stroke-miterlimit="10"
+ width="122"
+ height="87"
+ id="rect32" /></g><rect
+ style="opacity:0.80000000000000004;stroke:#ffffff;stroke-opacity:1;filter:url(#filter3841);fill:#000000;fill-opacity:1"
+ x="0.5"
+ y="0.5"
+ width="122"
+ height="87"
+ id="rect38" /><rect
+ x="0.5"
+ y="0.5"
+ mask="url(#SVGID_2_)"
+ width="122"
+ height="87"
+ id="rect50"
+ style="opacity:0.6;fill:#53b5ce" /><path
+ fill="#FFFFFF"
+ d="M23.82,11.239h10.186v2.645h-6.965v4.871h6.493v2.646h-6.493v7.485H23.82V11.239L23.82,11.239z"
+ id="path54" /><path
+ fill="#FFFFFF"
+ d="M37.146,11.476c1.202-0.21,3.012-0.364,4.868-0.364c2.54,0,4.271,0.419,5.446,1.414 c0.969,0.812,1.521,2.043,1.521,3.532c0,2.278-1.548,3.823-3.194,4.428v0.078c1.257,0.472,2.016,1.699,2.461,3.401 c0.55,2.199,1.021,4.242,1.388,4.923h-3.323c-0.264-0.521-0.683-1.964-1.181-4.163c-0.497-2.305-1.335-3.037-3.168-3.09h-1.623 v7.253H37.15V11.476H37.146L37.146,11.476z M40.342,19.278h1.911c2.174,0,3.535-1.152,3.535-2.906c0-1.938-1.361-2.828-3.456-2.828 c-1.021,0-1.676,0.078-1.99,0.157V19.278z"
+ id="path56" /><path
+ fill="#FFFFFF"
+ d="M67.704,19.881c0,5.917-3.588,9.295-8.458,9.295c-4.975,0-8.117-3.797-8.117-8.979 c0-5.42,3.404-9.243,8.379-9.243C64.666,10.951,67.704,14.854,67.704,19.881z M54.533,20.143c0,3.59,1.807,6.441,4.896,6.441 c3.115,0,4.87-2.881,4.87-6.572c0-3.326-1.646-6.468-4.87-6.468C56.235,13.544,54.533,16.503,54.533,20.143z"
+ id="path58" /><path
+ fill="#FFFFFF"
+ d="M70.48,28.888V11.24h3.662l4.56,7.564c1.178,1.967,2.199,4.006,3.011,5.918h0.053 c-0.21-2.354-0.288-4.635-0.288-7.332v-6.15h2.985v17.646h-3.326l-4.605-7.751c-1.126-1.938-2.307-4.107-3.168-6.101l-0.078,0.024 c0.131,2.277,0.154,4.607,0.154,7.517v6.311L70.48,28.888L70.48,28.888z"
+ id="path60" /><path
+ fill="#FFFFFF"
+ d="M91.559,13.938h-5.024v-2.695h13.327v2.695h-5.08v14.95h-3.223V13.938L91.559,13.938z"
+ id="path62" /><path
+ fill="#FFFFFF"
+ d="M83.373,74.479c-0.681,0-1.354-0.108-2.002-0.325c-12.401-4.181-26.008-4.18-38.407-0.001 c-0.646,0.218-1.322,0.327-2.004,0.327c-2.411,0-4.556-1.367-5.463-3.484l-9.131-22.044c-0.485-1.127-0.442-2.462,0.128-3.738 c0.857-1.924,2.822-3.56,5.249-4.375c9.819-3.308,20.056-4.982,30.423-4.982s20.604,1.678,30.424,4.983 c2.427,0.814,4.389,2.451,5.249,4.375c0.57,1.276,0.612,2.61,0.12,3.758l-9.115,22.006C87.928,73.109,85.783,74.479,83.373,74.479z M62.166,67.77c6.896,0,13.703,1.116,20.234,3.317c0.313,0.104,0.642,0.158,0.973,0.158c1.116,0,2.095-0.6,2.492-1.527l9.115-22.007 c0.178-0.413,0.047-0.868-0.096-1.181c-0.385-0.86-1.461-2.004-3.328-2.631c-9.486-3.196-19.378-4.817-29.394-4.817 s-19.904,1.621-29.393,4.816c-1.868,0.628-2.943,1.771-3.328,2.631c-0.143,0.312-0.271,0.768-0.104,1.162l9.131,22.045 c0.393,0.906,1.368,1.509,2.483,1.509c0.332,0,0.66-0.054,0.976-0.159C48.464,68.886,55.271,67.77,62.166,67.77z"
+ id="path64" /><path
+ fill="#FFFFFF"
+ d="M72.162,65.966c-0.538,0-1.034-0.288-1.302-0.755l-7.835-13.686l-7.836,13.686 c-0.27,0.467-0.766,0.755-1.304,0.755s-1.034-0.288-1.302-0.755l-7.858-13.726l-4.021,6.777c-0.271,0.455-0.761,0.734-1.29,0.734H33 c-0.828,0-1.5-0.672-1.5-1.5s0.672-1.5,1.5-1.5h5.563l4.832-8.148c0.02-0.032,0.035-0.066,0.058-0.104 c0.269-0.463,0.763-0.748,1.298-0.748c0.539,0,1.04,0.289,1.307,0.758c0.019,0.026,0.029,0.054,0.043,0.081l7.791,13.607 l7.771-13.572c0.02-0.043,0.042-0.085,0.063-0.126c0.271-0.463,0.766-0.748,1.301-0.748c0.532,0,1.03,0.285,1.301,0.748 c0.018,0.029,0.034,0.06,0.049,0.091l7.791,13.607l7.771-13.572c0.019-0.041,0.037-0.081,0.062-0.12 c0.268-0.466,0.764-0.754,1.302-0.754c0.535,0,1.033,0.285,1.303,0.748c0.016,0.022,0.027,0.051,0.043,0.077l4.789,8.175H91 c0.828,0,1.5,0.672,1.5,1.5s-0.672,1.5-1.5,1.5h-4.432c-0.532,0-1.025-0.282-1.294-0.741l-3.962-6.76l-7.852,13.712 C73.196,65.678,72.7,65.966,72.162,65.966z"
+ id="path66" /><text
+ transform="matrix(1 0 0 1 595.9609 904.8877)"
+ display="none"
+ fill="#31ABFF"
+ enable-background="new "
+ font-family="'MyriadPro-Semibold'"
+ font-size="26.1844"
+ id="text68">FRONT</text>
+<path
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="3.2325"
+ stroke-miterlimit="10"
+ d="M661.351,946.355 c-0.881,2.053-3.306,2.983-5.466,2.263c-12.79-4.313-26.646-4.313-39.437,0c-2.16,0.724-4.586-0.21-5.466-2.263 c-3.042-7.345-6.082-14.687-9.123-22.025c-0.881-2.047,1.056-4.84,4.396-5.963c19.399-6.535,40.417-6.535,59.816,0 c3.342,1.123,5.276,3.916,4.396,5.963C667.432,931.672,664.392,939.014,661.351,946.355z"
+ id="path70" /><polyline
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="3"
+ stroke-linecap="round"
+ stroke-linejoin="round"
+ stroke-miterlimit="10"
+ points=" 665,933.5 660.568,933.5 655.295,924.5 655.302,924.5 646.162,940.466 637.021,924.5 637.028,924.5 627.889,940.466 618.748,924.5 618.755,924.5 613.417,933.5 607,933.5 "
+ id="polyline72" /><rect
+ style="opacity:0.8;fill:none;stroke:#ffffff;stroke-opacity:1"
+ x="0.62671262"
+ y="0.49143794"
+ width="122"
+ height="87"
+ id="rect38-5" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC_org/images/defrost_max_off.png b/sample-qml/apps/HVAC_org/images/defrost_max_off.png
new file mode 100644
index 0000000..baf93cc
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/defrost_max_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/defrost_max_off.svg b/sample-qml/apps/HVAC_org/images/defrost_max_off.svg
new file mode 100644
index 0000000..a027d25
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/defrost_max_off.svg
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="123px"
+ height="97px"
+ viewBox="0 0 123 97"
+ enable-background="new 0 0 123 97"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="defrost_max_off.svg"><metadata
+ id="metadata69"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs67" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="753"
+ inkscape:window-height="480"
+ id="namedview65"
+ showgrid="false"
+ inkscape:zoom="2.3739837"
+ inkscape:cx="11.162671"
+ inkscape:cy="48.5"
+ inkscape:window-x="75"
+ inkscape:window-y="34"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="15.1289"
+ y1="1640"
+ x2="15.1288"
+ y2="740.8912"
+ gradientTransform="matrix(1 0 0 1 468 -694)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ x="123.129"
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M698.129,643.039v95.783h122V657.74C780.41,651.722,739.326,646.832,698.129,643.039z"
+ id="path10" /><path
+ style="fill-opacity:0.28999998999999999;stroke:#b2f0ff;stroke-width:0.89020001999999998;stroke-miterlimit:10;stroke-opacity:0.63921571"
+ inkscape:connector-curvature="0"
+ id="path14"
+ d="m 0.5,0.608 v 95.783 h 122 V 15.31 C 82.781,9.291 41.697,4.401 0.5,0.608 z"
+ stroke-miterlimit="10" /><path
+ style="fill:#b2f0ff"
+ inkscape:connector-curvature="0"
+ id="path16"
+ d="m 49.885,33.05 c -0.104,-2.278 -0.233,-5.027 -0.209,-7.41 h -0.079 c -0.574,2.146 -1.31,4.527 -2.095,6.755 l -2.564,7.646 H 42.45 L 40.094,32.5 c -0.681,-2.251 -1.309,-4.66 -1.778,-6.857 h -0.055 c -0.077,2.304 -0.183,5.104 -0.313,7.515 l -0.396,7.096 h -3.011 l 1.178,-17.646 h 4.242 l 2.307,7.097 c 0.628,2.068 1.178,4.163 1.622,6.127 h 0.077 c 0.474,-1.912 1.074,-4.085 1.755,-6.151 l 2.437,-7.07 h 4.188 l 1.021,17.647 H 50.226 L 49.885,33.05 z" /><path
+ style="fill:#b2f0ff"
+ inkscape:connector-curvature="0"
+ id="path18"
+ d="m 60.018,35.249 -1.52,5.001 h -3.325 l 5.656,-17.646 h 4.11 l 5.732,17.646 h -3.456 l -1.598,-5.001 h -5.599 z m 5.054,-2.436 -1.389,-4.347 C 63.342,27.393 63.054,26.189 62.791,25.165 H 62.74 c -0.262,1.021 -0.523,2.252 -0.838,3.301 l -1.361,4.347 h 4.531 z" /><path
+ style="fill:#b2f0ff"
+ inkscape:connector-curvature="0"
+ id="path20"
+ d="M 82.066,40.25 80.155,36.741 C 79.395,35.38 78.898,34.437 78.4,33.416 h -0.078 c -0.419,1.021 -0.893,1.964 -1.6,3.325 l -1.754,3.509 h -3.69 l 5.235,-8.929 -5.025,-8.72 h 3.689 l 1.912,3.64 c 0.575,1.102 0.995,1.964 1.466,2.959 h 0.055 c 0.471,-1.1 0.838,-1.885 1.388,-2.959 l 1.885,-3.64 h 3.692 l -5.158,8.615 5.367,9.031 -3.718,0.003 0,0 z" /><path
+ style="fill:#b2f0ff"
+ inkscape:connector-curvature="0"
+ id="path22"
+ d="m 75.948,80.757 c -0.509,0 -1.007,-0.108 -1.483,-0.323 -8.057,-3.664 -16.873,-3.663 -24.926,-10e-4 -0.478,0.216 -0.977,0.325 -1.484,0.325 -1.7,0 -3.187,-1.207 -3.778,-3.075 L 38.273,58.12 c -0.773,-2.435 0.854,-5.537 3.557,-6.764 13.016,-5.92 27.331,-5.92 40.349,0 2.702,1.227 4.329,4.329 3.554,6.775 l -5.996,19.538 c -0.604,1.879 -2.087,3.088 -3.789,3.088 z M 62,75.228 c 4.595,0 9.127,1.002 13.473,2.979 0.758,0.345 1.594,-0.218 1.928,-1.266 l 5.996,-19.54 c 0.369,-1.165 -0.509,-3.04 -2.23,-3.822 -12.381,-5.631 -25.948,-5.631 -38.327,0 -1.725,0.782 -2.602,2.657 -2.233,3.813 l 6.004,19.563 c 0.328,1.032 1.156,1.604 1.923,1.253 4.338,-1.979 8.872,-2.98 13.466,-2.98 z" /><path
+ style="fill:#b2f0ff"
+ inkscape:connector-curvature="0"
+ id="path24"
+ d="m 53.057,61.196 3.012,0.176 -1.854,-5.905 -6.055,4.574 2.896,0.903 c -6.05,8.577 7.235,16.625 0.382,26.625 0.571,0 1.298,0 2.209,0 6.777,-10 -6.155,-17.89 -0.59,-26.373 z" /><path
+ style="fill:#b2f0ff"
+ inkscape:connector-curvature="0"
+ id="path26"
+ d="m 61.665,61.196 3.01,0.176 -1.854,-5.905 -6.058,4.574 2.897,0.903 c -6.049,8.577 7.235,16.625 0.382,26.625 0.574,0 1.297,0 2.209,0 6.781,-10 -6.149,-17.89 -0.586,-26.373 z" /><path
+ style="fill:#b2f0ff"
+ inkscape:connector-curvature="0"
+ id="path28"
+ d="m 70.275,61.196 3.008,0.176 -1.854,-5.905 -6.055,4.574 2.897,0.903 c -6.052,8.577 7.233,16.625 0.38,26.625 0.571,0 1.298,0 2.209,0 6.78,-10 -6.153,-17.89 -0.585,-26.373 z" /><linearGradient
+ id="SVGID_2_"
+ gradientUnits="userSpaceOnUse"
+ x1="290.6289"
+ y1="1337.627"
+ x2="290.6289"
+ y2="1431.4371"
+ gradientTransform="matrix(1 0 0 1 468 -694)"><stop
+ offset="0.5092"
+ style="stop-color:#31ABFF;stop-opacity:0"
+ id="stop31" /><stop
+ offset="0.9018"
+ style="stop-color:#31ABFF"
+ id="stop33" /><stop
+ offset="1"
+ style="stop-color:#63E6FF"
+ id="stop35" /></linearGradient><path
+ display="none"
+ fill="url(#SVGID_2_)"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ d="M697.629,643.039V738.5h122v-80.76 C780.629,651.722,739.629,646.832,697.629,643.039z"
+ id="path37" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M747.514,675.48c-0.104-2.278-0.233-5.027-0.209-7.41h-0.079 c-0.574,2.146-1.31,4.527-2.095,6.755l-2.564,7.646h-2.487l-2.356-7.541c-0.681-2.251-1.309-4.66-1.778-6.857h-0.055 c-0.077,2.304-0.183,5.104-0.313,7.515l-0.396,7.096h-3.011l1.178-17.646h4.242l2.307,7.097c0.628,2.068,1.178,4.163,1.622,6.127 h0.077c0.474-1.912,1.074-4.085,1.755-6.151l2.437-7.07h4.188l1.021,17.647h-3.142L747.514,675.48z"
+ id="path39" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M757.646,677.68l-1.52,5.001h-3.325l5.656-17.646h4.11l5.732,17.646h-3.456l-1.598-5.001 H757.646z M762.701,675.244l-1.389-4.347c-0.341-1.073-0.629-2.277-0.892-3.301h-0.052c-0.262,1.021-0.523,2.252-0.838,3.301 l-1.361,4.347H762.701z"
+ id="path41" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M779.695,682.681l-1.911-3.509c-0.76-1.361-1.257-2.304-1.755-3.325h-0.078 c-0.419,1.021-0.893,1.964-1.6,3.325l-1.754,3.509h-3.69l5.235-8.929l-5.025-8.72h3.689l1.912,3.64 c0.575,1.102,0.995,1.964,1.466,2.959h0.055c0.471-1.1,0.838-1.885,1.388-2.959l1.885-3.64h3.692l-5.158,8.615l5.367,9.031 L779.695,682.681L779.695,682.681z"
+ id="path43" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M773.577,723.188c-0.509,0-1.007-0.108-1.483-0.323c-8.057-3.664-16.873-3.663-24.926-0.001 c-0.478,0.216-0.977,0.325-1.484,0.325c-1.7,0-3.187-1.207-3.778-3.075l-6.004-19.563c-0.773-2.435,0.854-5.537,3.557-6.764 c13.016-5.92,27.331-5.92,40.349,0c2.702,1.227,4.329,4.329,3.554,6.775l-5.996,19.538 C776.762,721.979,775.279,723.188,773.577,723.188z M759.629,717.658c4.595,0,9.127,1.002,13.473,2.979 c0.758,0.345,1.594-0.218,1.928-1.266l5.996-19.54c0.369-1.165-0.509-3.04-2.23-3.822c-12.381-5.631-25.948-5.631-38.327,0 c-1.725,0.782-2.602,2.657-2.233,3.813l6.004,19.563c0.328,1.032,1.156,1.604,1.923,1.253 C750.501,718.66,755.035,717.658,759.629,717.658z"
+ id="path45" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M750.686,703.627l3.012,0.176l-1.854-5.905l-6.055,4.574l2.896,0.903 c-6.05,8.577,7.235,16.625,0.382,26.625c0.571,0,1.298,0,2.209,0C758.053,720,745.121,712.109,750.686,703.627z"
+ id="path47" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M759.294,703.627l3.01,0.176l-1.854-5.905l-6.058,4.574l2.897,0.903 c-6.049,8.577,7.235,16.625,0.382,26.625c0.574,0,1.297,0,2.209,0C766.661,720,753.73,712.109,759.294,703.627z"
+ id="path49" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M767.904,703.627l3.008,0.176l-1.854-5.905l-6.055,4.574l2.897,0.903 c-6.052,8.577,7.233,16.625,0.38,26.625c0.571,0,1.298,0,2.209,0C775.269,720,762.336,712.109,767.904,703.627z"
+ id="path51" /><text
+ transform="matrix(1 0 0 1 730.7559 682.6807)"
+ display="none"
+ fill="#31ABFF"
+ enable-background="new "
+ font-family="'MyriadPro-Semibold'"
+ font-size="26.1844"
+ id="text53">MAX</text>
+<path
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="2.4433"
+ stroke-miterlimit="10"
+ d="M776.192,719.741 c-0.579,1.821-2.173,2.648-3.598,2.008c-8.409-3.825-17.521-3.825-25.935,0c-1.42,0.643-3.018-0.187-3.595-2.008 c-2-6.52-3.999-13.035-6-19.552c-0.577-1.816,0.694-4.298,2.894-5.293c12.758-5.805,26.58-5.805,39.338,0 c2.197,0.995,3.473,3.477,2.896,5.293C780.191,706.706,778.192,713.224,776.192,719.741z"
+ id="path55" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M750.686,703.627l3.012,0.176l-1.854-5.905l-6.055,4.574l2.896,0.903 c-6.05,8.577,7.235,16.625,0.382,26.625c0.571,0,1.298,0,2.209,0C758.053,720,745.121,712.109,750.686,703.627z"
+ id="path57" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M759.294,703.627l3.01,0.176l-1.854-5.905l-6.058,4.574l2.897,0.903 c-6.049,8.577,7.235,16.625,0.382,26.625c0.574,0,1.297,0,2.209,0C766.661,720,753.73,712.109,759.294,703.627z"
+ id="path59" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M767.904,703.627l3.008,0.176l-1.854-5.905l-6.055,4.574l2.897,0.903 c-6.052,8.577,7.233,16.625,0.38,26.625c0.571,0,1.298,0,2.209,0C775.269,720,762.336,712.109,767.904,703.627z"
+ id="path61" /><path
+ display="none"
+ fill="none"
+ stroke="#00507F"
+ stroke-miterlimit="10"
+ d="M968.129,664.752 C828.971,627.465,638.581,610,484.129,610s-344.841,17.465-484,54.752"
+ id="path63" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC_org/images/defrost_max_on.png b/sample-qml/apps/HVAC_org/images/defrost_max_on.png
new file mode 100644
index 0000000..675d654
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/defrost_max_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/defrost_max_on.svg b/sample-qml/apps/HVAC_org/images/defrost_max_on.svg
new file mode 100644
index 0000000..9385c42
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/defrost_max_on.svg
@@ -0,0 +1,267 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="123px"
+ height="97px"
+ viewBox="0 0 123 97"
+ enable-background="new 0 0 123 97"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="defrost_max_on.svg"><metadata
+ id="metadata84"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs82"><defs
+ id="defs36"><filter
+ height="96.508"
+ width="123"
+ y="0.222"
+ x="0"
+ filterUnits="userSpaceOnUse"
+ id="Adobe_OpacityMaskFilter"><feColorMatrix
+ id="feColorMatrix39"
+ result="source"
+ color-interpolation-filters="sRGB"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"
+ type="matrix" /></filter></defs><filter
+ id="filter3843"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur3845"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite3847"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3849"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3851"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend3853"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite3855"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter><filter
+ id="filter3857"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur3859"
+ stdDeviation="10"
+ result="result8" /><feComposite
+ id="feComposite3861"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3863"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3865"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(255,222,85)" /><feBlend
+ id="feBlend3867"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite3869"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1360"
+ inkscape:window-height="797"
+ id="namedview80"
+ showgrid="false"
+ inkscape:zoom="2.3739837"
+ inkscape:cx="10.741438"
+ inkscape:cy="48.5"
+ inkscape:window-x="75"
+ inkscape:window-y="34"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="15.1289"
+ y1="1640"
+ x2="15.1288"
+ y2="740.8912"
+ gradientTransform="matrix(1 0 0 1 468 -694)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ x="123.129"
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M698.129,643.039v95.783h122V657.74C780.41,651.722,739.326,646.832,698.129,643.039z"
+ id="path10" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M698.129,643.039v95.783h122V657.74C780.41,651.722,739.326,646.832,698.129,643.039z"
+ id="path12" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M747.514,675.48c-0.104-2.278-0.233-5.027-0.209-7.41h-0.079 c-0.574,2.146-1.31,4.527-2.095,6.755l-2.564,7.646h-2.487l-2.356-7.541c-0.681-2.251-1.309-4.66-1.778-6.857h-0.055 c-0.077,2.304-0.183,5.104-0.313,7.515l-0.396,7.096h-3.011l1.178-17.646h4.242l2.307,7.097c0.628,2.068,1.178,4.163,1.622,6.127 h0.077c0.474-1.912,1.074-4.085,1.755-6.151l2.437-7.07h4.188l1.021,17.647h-3.142L747.514,675.48z"
+ id="path14" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M757.646,677.68l-1.52,5.001h-3.325l5.656-17.646h4.11l5.732,17.646h-3.456l-1.598-5.001 H757.646z M762.701,675.244l-1.389-4.347c-0.341-1.073-0.629-2.277-0.892-3.301h-0.052c-0.262,1.021-0.523,2.252-0.838,3.301 l-1.361,4.347H762.701z"
+ id="path16" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M779.695,682.681l-1.911-3.509c-0.76-1.361-1.257-2.304-1.755-3.325h-0.078 c-0.419,1.021-0.893,1.964-1.6,3.325l-1.754,3.509h-3.69l5.235-8.929l-5.025-8.72h3.689l1.912,3.64 c0.575,1.102,0.995,1.964,1.466,2.959h0.055c0.471-1.1,0.838-1.885,1.388-2.959l1.885-3.64h3.692l-5.158,8.615l5.367,9.031 L779.695,682.681L779.695,682.681z"
+ id="path18" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M773.577,723.188c-0.509,0-1.007-0.108-1.483-0.323c-8.057-3.664-16.873-3.663-24.926-0.001 c-0.478,0.216-0.977,0.325-1.484,0.325c-1.7,0-3.187-1.207-3.778-3.075l-6.004-19.563c-0.773-2.435,0.854-5.537,3.557-6.764 c13.016-5.92,27.331-5.92,40.349,0c2.702,1.227,4.329,4.329,3.554,6.775l-5.996,19.538 C776.762,721.979,775.279,723.188,773.577,723.188z M759.629,717.658c4.595,0,9.127,1.002,13.473,2.979 c0.758,0.345,1.594-0.218,1.928-1.266l5.996-19.54c0.369-1.165-0.509-3.04-2.23-3.822c-12.381-5.631-25.948-5.631-38.327,0 c-1.725,0.782-2.602,2.657-2.233,3.813l6.004,19.563c0.328,1.032,1.156,1.604,1.923,1.253 C750.501,718.66,755.035,717.658,759.629,717.658z"
+ id="path20" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M750.686,703.627l3.012,0.176l-1.854-5.905l-6.055,4.574l2.896,0.903 c-6.05,8.577,7.235,16.625,0.382,26.625c0.571,0,1.298,0,2.209,0C758.053,720,745.121,712.109,750.686,703.627z"
+ id="path22" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M759.294,703.627l3.01,0.176l-1.854-5.905l-6.058,4.574l2.897,0.903 c-6.049,8.577,7.235,16.625,0.382,26.625c0.574,0,1.297,0,2.209,0C766.661,720,753.73,712.109,759.294,703.627z"
+ id="path24" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M767.904,703.627l3.008,0.176l-1.854-5.905l-6.055,4.574l2.897,0.903 c-6.052,8.577,7.233,16.625,0.38,26.625c0.571,0,1.298,0,2.209,0C775.269,720,762.336,712.109,767.904,703.627z"
+ id="path26" /><path
+ d="m 0.5,0.77 v 95.46 h 122 V 15.47 C 83.5,9.452 42.5,4.563 0.5,0.77 z"
+ id="path32"
+ inkscape:connector-curvature="0"
+ style="opacity:0.80000000000000004;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:1;filter:url(#filter3843)" /><path
+ stroke-miterlimit="10"
+ d="m 0.5,0.77 v 95.46 h 122 V 15.47 C 83.5,9.452 42.5,4.563 0.5,0.77 z"
+ id="path34"
+ inkscape:connector-curvature="0"
+ style="fill:#000000;stroke:#ffffff;stroke-miterlimit:10;fill-opacity:1;opacity:0.80000000000000004;stroke-opacity:1;filter:url(#filter3843)" /><g
+ style="opacity:0.75"
+ id="g46"
+ mask="url(#SVGID_2_)"><path
+ style="opacity:0.8;fill:#53b5ce"
+ inkscape:connector-curvature="0"
+ id="path48"
+ d="m 0.5,0.77 v 95.46 h 122 V 15.47 C 83.5,9.452 42.5,4.563 0.5,0.77 z" /><path
+ style="fill:none;stroke:#53b5ce;stroke-miterlimit:10"
+ inkscape:connector-curvature="0"
+ id="path50"
+ d="m 0.5,0.77 v 95.46 h 122 V 15.47 C 83.5,9.452 42.5,4.563 0.5,0.77 z"
+ stroke-miterlimit="10" /></g><path
+ fill="none"
+ stroke="#FFFFFF"
+ stroke-miterlimit="10"
+ d="M0.5,0.77V96.23h122v-80.76C83.5,9.452,42.5,4.563,0.5,0.77z"
+ id="path52" /><path
+ fill="#FFFFFF"
+ d="M50.385,33.211c-0.104-2.278-0.233-5.027-0.209-7.41h-0.079c-0.574,2.146-1.31,4.527-2.095,6.755 l-2.564,7.646H42.95l-2.356-7.541c-0.681-2.251-1.309-4.66-1.778-6.857h-0.055c-0.077,2.304-0.183,5.104-0.313,7.515l-0.396,7.096 h-3.011l1.178-17.646h4.242l2.307,7.097c0.628,2.068,1.178,4.163,1.622,6.127h0.077c0.474-1.912,1.074-4.085,1.755-6.151l2.437-7.07 h4.188l1.021,17.647h-3.142L50.385,33.211z"
+ id="path54" /><path
+ fill="#FFFFFF"
+ d="M60.518,35.41l-1.52,5.001h-3.325l5.656-17.646h4.11l5.732,17.646h-3.456l-1.598-5.001H60.518z M65.572,32.975l-1.389-4.347c-0.341-1.073-0.629-2.277-0.892-3.301H63.24c-0.262,1.021-0.523,2.252-0.838,3.301l-1.361,4.347 H65.572z"
+ id="path56" /><path
+ fill="#FFFFFF"
+ d="M82.566,40.411l-1.911-3.509c-0.76-1.361-1.257-2.304-1.755-3.325h-0.078 c-0.419,1.021-0.893,1.964-1.6,3.325l-1.754,3.509h-3.69l5.235-8.929l-5.025-8.72h3.689l1.912,3.64 c0.575,1.102,0.995,1.964,1.466,2.959h0.055c0.471-1.1,0.838-1.885,1.388-2.959l1.885-3.64h3.692l-5.158,8.615l5.367,9.031 L82.566,40.411L82.566,40.411z"
+ id="path58" /><path
+ fill="#FFFFFF"
+ d="M76.448,80.918c-0.509,0-1.007-0.108-1.483-0.323c-8.057-3.664-16.873-3.663-24.926-0.001 c-0.478,0.216-0.977,0.325-1.484,0.325c-1.7,0-3.187-1.207-3.778-3.075L38.772,58.28c-0.773-2.435,0.854-5.537,3.557-6.764 c13.016-5.92,27.331-5.92,40.349,0c2.702,1.227,4.329,4.329,3.554,6.775L80.235,77.83C79.633,79.709,78.15,80.918,76.448,80.918z M62.5,75.389c4.595,0,9.127,1.002,13.473,2.979c0.758,0.345,1.594-0.218,1.928-1.266l5.996-19.54 c0.369-1.165-0.509-3.04-2.23-3.822c-12.381-5.631-25.948-5.631-38.327,0c-1.725,0.782-2.602,2.657-2.233,3.813l6.004,19.563 c0.328,1.032,1.156,1.604,1.923,1.253C53.372,76.391,57.906,75.389,62.5,75.389z"
+ id="path60" /><path
+ fill="#FFFFFF"
+ d="M53.557,61.357l3.012,0.176l-1.854-5.905l-6.055,4.574l2.896,0.903c-6.05,8.577,7.235,16.625,0.382,26.625 c0.571,0,1.298,0,2.209,0C60.924,77.73,47.992,69.84,53.557,61.357z"
+ id="path62" /><path
+ fill="#FFFFFF"
+ d="M62.165,61.357l3.01,0.176l-1.854-5.905l-6.058,4.574l2.897,0.903c-6.049,8.577,7.235,16.625,0.382,26.625 c0.574,0,1.297,0,2.209,0C69.532,77.73,56.602,69.84,62.165,61.357z"
+ id="path64" /><path
+ fill="#FFFFFF"
+ d="M70.775,61.357l3.008,0.176l-1.854-5.905l-6.055,4.574l2.897,0.903c-6.052,8.577,7.233,16.625,0.38,26.625 c0.571,0,1.298,0,2.209,0C78.14,77.73,65.207,69.84,70.775,61.357z"
+ id="path66" /><text
+ transform="matrix(1 0 0 1 730.7559 682.6807)"
+ display="none"
+ fill="#31ABFF"
+ enable-background="new "
+ font-family="'MyriadPro-Semibold'"
+ font-size="26.1844"
+ id="text68">MAX</text>
+<path
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="2.4433"
+ stroke-miterlimit="10"
+ d="M776.192,719.741 c-0.579,1.821-2.173,2.648-3.598,2.008c-8.409-3.825-17.521-3.825-25.935,0c-1.42,0.643-3.018-0.187-3.595-2.008 c-2-6.52-3.999-13.035-6-19.552c-0.577-1.816,0.694-4.298,2.894-5.293c12.758-5.805,26.58-5.805,39.338,0 c2.197,0.995,3.473,3.477,2.896,5.293C780.191,706.706,778.192,713.224,776.192,719.741z"
+ id="path70" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M750.686,703.627l3.012,0.176l-1.854-5.905l-6.055,4.574l2.896,0.903 c-6.05,8.577,7.235,16.625,0.382,26.625c0.571,0,1.298,0,2.209,0C758.053,720,745.121,712.109,750.686,703.627z"
+ id="path72" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M759.294,703.627l3.01,0.176l-1.854-5.905l-6.058,4.574l2.897,0.903 c-6.049,8.577,7.235,16.625,0.382,26.625c0.574,0,1.297,0,2.209,0C766.661,720,753.73,712.109,759.294,703.627z"
+ id="path74" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M767.904,703.627l3.008,0.176l-1.854-5.905l-6.055,4.574l2.897,0.903 c-6.052,8.577,7.233,16.625,0.38,26.625c0.571,0,1.298,0,2.209,0C775.269,720,762.336,712.109,767.904,703.627z"
+ id="path76" /><path
+ display="none"
+ fill="none"
+ stroke="#00507F"
+ stroke-miterlimit="10"
+ d="M968.129,664.752 C828.971,627.465,638.581,610,484.129,610s-344.841,17.465-484,54.752"
+ id="path78" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC_org/images/defrost_rear_off.png b/sample-qml/apps/HVAC_org/images/defrost_rear_off.png
new file mode 100644
index 0000000..33d6cfd
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/defrost_rear_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/defrost_rear_off.svg b/sample-qml/apps/HVAC_org/images/defrost_rear_off.svg
new file mode 100644
index 0000000..0f5142e
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/defrost_rear_off.svg
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="123px" height="88px" viewBox="0 0 123 88" enable-background="new 0 0 123 88" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-107.9995" y1="1649" x2="-107.9997" y2="749.8912" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<rect x="575" y="763.898" display="none" fill="#31ABFF" fill-opacity="0.29" stroke="#31ABFF" stroke-width="0.8902" stroke-miterlimit="10" stroke-opacity="0.64" width="122" height="86.563"/>
+<g>
+
+ <rect x="0.5" y="0.719" fill-opacity="0.29" stroke="#B2F0FF" stroke-width="0.8902" stroke-miterlimit="10" stroke-opacity="0.64" width="122" height="86.563"/>
+ <path fill="#B2F0FF" d="M32.986,12.697c1.204-0.21,3.011-0.367,4.87-0.367c2.54,0,4.268,0.419,5.444,1.414
+ c0.971,0.813,1.521,2.043,1.521,3.535c0,2.278-1.545,3.823-3.194,4.425v0.079c1.257,0.471,2.016,1.701,2.461,3.403
+ c0.55,2.198,1.021,4.242,1.389,4.923h-3.324c-0.264-0.523-0.683-1.964-1.18-4.163c-0.498-2.305-1.336-3.037-3.169-3.09h-1.623
+ v7.253h-3.192L32.986,12.697L32.986,12.697z M36.181,20.5h1.911c2.174,0,3.535-1.15,3.535-2.904c0-1.938-1.361-2.828-3.456-2.828
+ c-1.021,0-1.676,0.078-1.99,0.155V20.5z"/>
+ <path fill="#B2F0FF" d="M57.756,22.28h-6.65v5.185h7.438v2.646H47.887V12.463h10.266v2.646h-7.044v4.557h6.649L57.756,22.28
+ L57.756,22.28z"/>
+ <path fill="#B2F0FF" d="M64.904,25.108l-1.521,5.001h-3.325l5.656-17.648h4.11l5.732,17.648h-3.456l-1.598-5.001H64.904z
+ M69.958,22.674l-1.388-4.348c-0.34-1.073-0.628-2.275-0.893-3.299h-0.052c-0.262,1.021-0.523,2.252-0.838,3.299l-1.361,4.348
+ H69.958z"/>
+ <path fill="#B2F0FF" d="M78.021,12.697c1.203-0.21,3.012-0.367,4.869-0.367c2.54,0,4.27,0.419,5.446,1.414
+ c0.969,0.813,1.521,2.043,1.521,3.535c0,2.278-1.547,3.823-3.194,4.425v0.079c1.257,0.471,2.016,1.701,2.461,3.403
+ c0.55,2.198,1.021,4.242,1.388,4.923h-3.324c-0.263-0.523-0.682-1.964-1.18-4.163c-0.497-2.305-1.335-3.037-3.168-3.09h-1.623
+ v7.253h-3.192V12.697H78.021L78.021,12.697z M81.217,20.5h1.911c2.174,0,3.535-1.15,3.535-2.904c0-1.938-1.361-2.828-3.456-2.828
+ c-1.021,0-1.676,0.078-1.99,0.155V20.5z"/>
+ <path fill="#B2F0FF" d="M79.84,68.82H44.16c-3.121,0-5.66-2.539-5.66-5.66V43.48c0-3.121,2.539-5.66,5.66-5.66h35.68
+ c3.121,0,5.66,2.539,5.66,5.66v19.68C85.5,66.281,82.961,68.82,79.84,68.82z M44.16,40.82c-1.467,0-2.66,1.193-2.66,2.66v19.68
+ c0,1.467,1.193,2.66,2.66,2.66h35.68c1.467,0,2.66-1.193,2.66-2.66V43.48c0-1.467-1.193-2.66-2.66-2.66H44.16z"/>
+ <path fill="#B2F0FF" d="M52.322,50.826l3.49,0.505l-2.15-6.703l-7.024,5.388l3.361,0.482c-7.017,9.952,8.393,19.228,0.442,30.322
+ c0.664,0,1.504,0,2.561,0C60.866,70.517,45.865,60.668,52.322,50.826z"/>
+ <path fill="#B2F0FF" d="M62.307,50.826l3.49,0.505l-2.147-6.703l-7.024,5.388l3.361,0.482c-7.019,9.952,8.394,19.228,0.44,30.322
+ c0.665,0,1.505,0,2.563,0C70.851,70.517,55.852,60.668,62.307,50.826z"/>
+ <path fill="#B2F0FF" d="M72.293,50.826l3.49,0.505l-2.15-6.703l-7.022,5.388l3.359,0.482c-7.017,9.952,8.396,19.228,0.442,30.322
+ c0.665,0,1.505,0,2.562,0C80.837,70.517,65.837,60.668,72.293,50.826z"/>
+</g>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="167.5" y1="1468.6846" x2="167.5" y2="1552.0071" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0.5092" style="stop-color:#31ABFF;stop-opacity:0"/>
+ <stop offset="0.9018" style="stop-color:#31ABFF"/>
+ <stop offset="1" style="stop-color:#63E6FF"/>
+</linearGradient>
+<rect x="574.5" y="763.5" display="none" fill="url(#SVGID_2_)" stroke="#31ABFF" stroke-miterlimit="10" width="122" height="87"/>
+<path display="none" fill="#FFFFFF" d="M607.486,775.877c1.204-0.21,3.011-0.367,4.87-0.367c2.54,0,4.268,0.419,5.444,1.414
+ c0.971,0.813,1.521,2.043,1.521,3.535c0,2.278-1.545,3.823-3.194,4.425v0.079c1.257,0.471,2.016,1.701,2.461,3.403
+ c0.55,2.198,1.021,4.242,1.389,4.923h-3.324c-0.264-0.523-0.683-1.964-1.18-4.163c-0.498-2.305-1.336-3.037-3.169-3.09h-1.623v7.253
+ h-3.192L607.486,775.877L607.486,775.877z M610.681,783.68h1.911c2.174,0,3.535-1.15,3.535-2.904c0-1.938-1.361-2.828-3.456-2.828
+ c-1.021,0-1.676,0.078-1.99,0.155V783.68z"/>
+<path display="none" fill="#FFFFFF" d="M632.256,785.46h-6.65v5.185h7.438v2.646h-10.656v-17.648h10.266v2.646h-7.044v4.557h6.649
+ L632.256,785.46L632.256,785.46z"/>
+<path display="none" fill="#FFFFFF" d="M639.404,788.288l-1.521,5.001h-3.325l5.656-17.648h4.11l5.732,17.648h-3.456l-1.598-5.001
+ H639.404z M644.458,785.854l-1.388-4.348c-0.34-1.073-0.628-2.275-0.893-3.299h-0.052c-0.262,1.021-0.523,2.252-0.838,3.299
+ l-1.361,4.348H644.458z"/>
+<path display="none" fill="#FFFFFF" d="M652.521,775.877c1.203-0.21,3.012-0.367,4.869-0.367c2.54,0,4.27,0.419,5.446,1.414
+ c0.969,0.813,1.521,2.043,1.521,3.535c0,2.278-1.547,3.823-3.194,4.425v0.079c1.257,0.471,2.016,1.701,2.461,3.403
+ c0.55,2.198,1.021,4.242,1.388,4.923h-3.324c-0.263-0.523-0.682-1.964-1.18-4.163c-0.497-2.305-1.335-3.037-3.168-3.09h-1.623v7.253
+ h-3.192v-17.412H652.521L652.521,775.877z M655.717,783.68h1.911c2.174,0,3.535-1.15,3.535-2.904c0-1.938-1.361-2.828-3.456-2.828
+ c-1.021,0-1.676,0.078-1.99,0.155V783.68z"/>
+<path display="none" fill="#FFFFFF" d="M654.34,832h-35.68c-3.121,0-5.66-2.539-5.66-5.66v-19.68c0-3.121,2.539-5.66,5.66-5.66
+ h35.68c3.121,0,5.66,2.539,5.66,5.66v19.68C660,829.461,657.461,832,654.34,832z M618.66,804c-1.467,0-2.66,1.193-2.66,2.66v19.68
+ c0,1.467,1.193,2.66,2.66,2.66h35.68c1.467,0,2.66-1.193,2.66-2.66v-19.68c0-1.467-1.193-2.66-2.66-2.66H618.66z"/>
+<path display="none" fill="#FFFFFF" d="M626.822,814.006l3.49,0.505l-2.15-6.703l-7.024,5.388l3.361,0.482
+ c-7.017,9.952,8.393,19.228,0.442,30.322c0.664,0,1.504,0,2.561,0C635.366,833.696,620.365,823.848,626.822,814.006z"/>
+<path display="none" fill="#FFFFFF" d="M636.807,814.006l3.49,0.505l-2.147-6.703l-7.024,5.388l3.361,0.482
+ c-7.019,9.952,8.394,19.228,0.44,30.322c0.665,0,1.505,0,2.563,0C645.351,833.696,630.352,823.848,636.807,814.006z"/>
+<path display="none" fill="#FFFFFF" d="M646.793,814.006l3.49,0.505l-2.15-6.703l-7.022,5.388l3.359,0.482
+ c-7.017,9.952,8.396,19.228,0.442,30.322c0.665,0,1.505,0,2.562,0C655.337,833.696,640.337,823.848,646.793,814.006z"/>
+<text transform="matrix(1 0 0 1 605.627 793.2891)" display="none" fill="#31ABFF" enable-background="new " font-family="'MyriadPro-Semibold'" font-size="26.1844">REAR</text>
+<path display="none" fill="none" stroke="#31ABFF" stroke-width="3" stroke-miterlimit="10" d="M658.5,826.34
+ c0,2.298-1.862,4.16-4.16,4.16h-35.68c-2.298,0-4.16-1.862-4.16-4.16v-19.68c0-2.298,1.862-4.16,4.16-4.16h35.68
+ c2.298,0,4.16,1.862,4.16,4.16V826.34z"/>
+<path display="none" fill="#31ABFF" d="M626.822,814.006l3.49,0.505l-2.15-6.703l-7.024,5.388l3.361,0.482
+ c-7.017,9.952,8.393,19.228,0.442,30.322c0.664,0,1.504,0,2.561,0C635.366,833.696,620.365,823.848,626.822,814.006z"/>
+<path display="none" fill="#31ABFF" d="M636.807,814.006l3.49,0.505l-2.147-6.703l-7.024,5.388l3.361,0.482
+ c-7.019,9.952,8.394,19.228,0.44,30.322c0.665,0,1.505,0,2.563,0C645.351,833.696,630.352,823.848,636.807,814.006z"/>
+<path display="none" fill="#31ABFF" d="M646.793,814.006l3.49,0.505l-2.15-6.703l-7.022,5.388l3.359,0.482
+ c-7.017,9.952,8.396,19.228,0.442,30.322c0.665,0,1.505,0,2.562,0C655.337,833.696,640.337,823.848,646.793,814.006z"/>
+</svg>
diff --git a/sample-qml/apps/HVAC_org/images/defrost_rear_on.png b/sample-qml/apps/HVAC_org/images/defrost_rear_on.png
new file mode 100644
index 0000000..2dfab44
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/defrost_rear_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/defrost_rear_on.svg b/sample-qml/apps/HVAC_org/images/defrost_rear_on.svg
new file mode 100644
index 0000000..a44e246
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/defrost_rear_on.svg
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="123px"
+ height="88px"
+ viewBox="0 0 123 88"
+ enable-background="new 0 0 123 88"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="defrost_rear_on.svg"><metadata
+ id="metadata84"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs82"><defs
+ id="defs38"><filter
+ height="88"
+ width="123"
+ y="0"
+ x="0"
+ filterUnits="userSpaceOnUse"
+ id="Adobe_OpacityMaskFilter"><feColorMatrix
+ id="feColorMatrix41"
+ result="source"
+ color-interpolation-filters="sRGB"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"
+ type="matrix" /></filter></defs><filter
+ id="filter3843"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur3845"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite3847"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3849"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3851"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend3853"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite3855"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1523"
+ inkscape:window-height="877"
+ id="namedview80"
+ showgrid="false"
+ inkscape:zoom="2.3739837"
+ inkscape:cx="-2.9486301"
+ inkscape:cy="44"
+ inkscape:window-x="65"
+ inkscape:window-y="24"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="-107.9995"
+ y1="1649"
+ x2="-107.9997"
+ y2="749.8912"
+ gradientTransform="matrix(1 0 0 1 468 -703)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><rect
+ x="575"
+ y="763.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="122"
+ height="86.563"
+ id="rect10" /><rect
+ x="575"
+ y="763.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="122"
+ height="86.563"
+ id="rect12" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M607.486,775.877c1.204-0.21,3.011-0.367,4.87-0.367c2.54,0,4.268,0.419,5.444,1.414 c0.971,0.813,1.521,2.043,1.521,3.535c0,2.278-1.545,3.823-3.194,4.425v0.079c1.257,0.471,2.016,1.701,2.461,3.403 c0.55,2.198,1.021,4.242,1.389,4.923h-3.324c-0.264-0.523-0.683-1.964-1.18-4.163c-0.498-2.305-1.336-3.037-3.169-3.09h-1.623v7.253 h-3.192L607.486,775.877L607.486,775.877z M610.681,783.68h1.911c2.174,0,3.535-1.15,3.535-2.904c0-1.938-1.361-2.828-3.456-2.828 c-1.021,0-1.676,0.078-1.99,0.155V783.68z"
+ id="path14" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M632.256,785.46h-6.65v5.185h7.438v2.646h-10.656v-17.648h10.266v2.646h-7.044v4.557h6.649 L632.256,785.46L632.256,785.46z"
+ id="path16" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M639.404,788.288l-1.521,5.001h-3.325l5.656-17.648h4.11l5.732,17.648h-3.456l-1.598-5.001 H639.404z M644.458,785.854l-1.388-4.348c-0.34-1.073-0.628-2.275-0.893-3.299h-0.052c-0.262,1.021-0.523,2.252-0.838,3.299 l-1.361,4.348H644.458z"
+ id="path18" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M652.521,775.877c1.203-0.21,3.012-0.367,4.869-0.367c2.54,0,4.27,0.419,5.446,1.414 c0.969,0.813,1.521,2.043,1.521,3.535c0,2.278-1.547,3.823-3.194,4.425v0.079c1.257,0.471,2.016,1.701,2.461,3.403 c0.55,2.198,1.021,4.242,1.388,4.923h-3.324c-0.263-0.523-0.682-1.964-1.18-4.163c-0.497-2.305-1.335-3.037-3.168-3.09h-1.623v7.253 h-3.192v-17.412H652.521L652.521,775.877z M655.717,783.68h1.911c2.174,0,3.535-1.15,3.535-2.904c0-1.938-1.361-2.828-3.456-2.828 c-1.021,0-1.676,0.078-1.99,0.155V783.68z"
+ id="path20" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M654.34,832h-35.68c-3.121,0-5.66-2.539-5.66-5.66v-19.68c0-3.121,2.539-5.66,5.66-5.66 h35.68c3.121,0,5.66,2.539,5.66,5.66v19.68C660,829.461,657.461,832,654.34,832z M618.66,804c-1.467,0-2.66,1.193-2.66,2.66v19.68 c0,1.467,1.193,2.66,2.66,2.66h35.68c1.467,0,2.66-1.193,2.66-2.66v-19.68c0-1.467-1.193-2.66-2.66-2.66H618.66z"
+ id="path22" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M626.822,814.006l3.49,0.505l-2.15-6.703l-7.024,5.388l3.361,0.482 c-7.017,9.952,8.393,19.228,0.442,30.322c0.664,0,1.504,0,2.561,0C635.366,833.696,620.365,823.848,626.822,814.006z"
+ id="path24" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M636.807,814.006l3.49,0.505l-2.147-6.703l-7.024,5.388l3.361,0.482 c-7.019,9.952,8.394,19.228,0.44,30.322c0.665,0,1.505,0,2.563,0C645.351,833.696,630.352,823.848,636.807,814.006z"
+ id="path26" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M646.793,814.006l3.49,0.505l-2.15-6.703l-7.022,5.388l3.359,0.482 c-7.017,9.952,8.396,19.228,0.442,30.322c0.665,0,1.505,0,2.562,0C655.337,833.696,640.337,823.848,646.793,814.006z"
+ id="path28" /><rect
+ x="0.5"
+ y="0.5"
+ width="122"
+ height="87"
+ id="rect34"
+ style="opacity:0.80000000000000004;stroke:#ffffff;stroke-opacity:1;fill:#000000;fill-opacity:1;filter:url(#filter3843)" /><rect
+ x="0.5"
+ y="0.5"
+ stroke-miterlimit="10"
+ width="122"
+ height="87"
+ id="rect36"
+ style="opacity:0.80000000000000004;fill:none;stroke:#ffffff;stroke-miterlimit:10;stroke-opacity:1" /><g
+ style="opacity:0.6"
+ id="g48"
+ mask="url(#SVGID_2_)"><rect
+ style="opacity:0.8;fill:#53b5ce"
+ id="rect50"
+ height="87"
+ width="122"
+ y="0.5"
+ x="0.5" /><rect
+ style="fill:none;stroke:#53b5ce;stroke-miterlimit:10"
+ id="rect52"
+ height="87"
+ width="122"
+ stroke-miterlimit="10"
+ y="0.5"
+ x="0.5" /></g><path
+ fill="#FFFFFF"
+ d="M33.486,12.877c1.204-0.21,3.011-0.367,4.87-0.367c2.54,0,4.268,0.419,5.444,1.414 c0.971,0.813,1.521,2.043,1.521,3.535c0,2.278-1.545,3.823-3.194,4.425v0.079c1.257,0.471,2.016,1.701,2.461,3.403 c0.55,2.198,1.021,4.242,1.389,4.923h-3.324c-0.264-0.523-0.683-1.964-1.18-4.163c-0.498-2.305-1.336-3.037-3.169-3.09h-1.623v7.253 h-3.192L33.486,12.877L33.486,12.877z M36.681,20.68h1.911c2.174,0,3.535-1.15,3.535-2.904c0-1.938-1.361-2.828-3.456-2.828 c-1.021,0-1.676,0.078-1.99,0.155V20.68z"
+ id="path54" /><path
+ fill="#FFFFFF"
+ d="M58.256,22.46h-6.65v5.185h7.438v2.646H48.387V12.643h10.266v2.646h-7.044v4.557h6.649L58.256,22.46 L58.256,22.46z"
+ id="path56" /><path
+ fill="#FFFFFF"
+ d="M65.404,25.288l-1.521,5.001h-3.325l5.656-17.648h4.11l5.732,17.648h-3.456l-1.598-5.001H65.404z M70.458,22.854l-1.388-4.348c-0.34-1.073-0.628-2.275-0.893-3.299h-0.052c-0.262,1.021-0.523,2.252-0.838,3.299l-1.361,4.348 H70.458z"
+ id="path58" /><path
+ fill="#FFFFFF"
+ d="M78.521,12.877c1.203-0.21,3.012-0.367,4.869-0.367c2.54,0,4.27,0.419,5.446,1.414 c0.969,0.813,1.521,2.043,1.521,3.535c0,2.278-1.547,3.823-3.194,4.425v0.079c1.257,0.471,2.016,1.701,2.461,3.403 c0.55,2.198,1.021,4.242,1.388,4.923h-3.324c-0.263-0.523-0.682-1.964-1.18-4.163c-0.497-2.305-1.335-3.037-3.168-3.09h-1.623v7.253 h-3.192V12.877H78.521L78.521,12.877z M81.717,20.68h1.911c2.174,0,3.535-1.15,3.535-2.904c0-1.938-1.361-2.828-3.456-2.828 c-1.021,0-1.676,0.078-1.99,0.155V20.68z"
+ id="path60" /><path
+ fill="#FFFFFF"
+ d="M80.34,69H44.66C41.539,69,39,66.461,39,63.34V43.66c0-3.121,2.539-5.66,5.66-5.66h35.68 c3.121,0,5.66,2.539,5.66,5.66v19.68C86,66.461,83.461,69,80.34,69z M44.66,41C43.193,41,42,42.193,42,43.66v19.68 c0,1.467,1.193,2.66,2.66,2.66h35.68c1.467,0,2.66-1.193,2.66-2.66V43.66c0-1.467-1.193-2.66-2.66-2.66H44.66z"
+ id="path62" /><path
+ fill="#FFFFFF"
+ d="M52.822,51.006l3.49,0.505l-2.15-6.703l-7.024,5.388l3.361,0.482C43.482,60.63,58.892,69.905,50.941,81 c0.664,0,1.504,0,2.561,0C61.366,70.696,46.365,60.848,52.822,51.006z"
+ id="path64" /><path
+ fill="#FFFFFF"
+ d="M62.807,51.006l3.49,0.505l-2.147-6.703l-7.024,5.388l3.361,0.482C53.468,60.63,68.88,69.905,60.927,81 c0.665,0,1.505,0,2.563,0C71.351,70.696,56.352,60.848,62.807,51.006z"
+ id="path66" /><path
+ fill="#FFFFFF"
+ d="M72.793,51.006l3.49,0.505l-2.15-6.703l-7.022,5.388l3.359,0.482C63.453,60.63,78.865,69.905,70.912,81 c0.665,0,1.505,0,2.562,0C81.337,70.696,66.337,60.848,72.793,51.006z"
+ id="path68" /><text
+ transform="matrix(1 0 0 1 605.627 793.2891)"
+ display="none"
+ fill="#31ABFF"
+ enable-background="new "
+ font-family="'MyriadPro-Semibold'"
+ font-size="26.1844"
+ id="text70">REAR</text>
+<path
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="3"
+ stroke-miterlimit="10"
+ d="M658.5,826.34 c0,2.298-1.862,4.16-4.16,4.16h-35.68c-2.298,0-4.16-1.862-4.16-4.16v-19.68c0-2.298,1.862-4.16,4.16-4.16h35.68 c2.298,0,4.16,1.862,4.16,4.16V826.34z"
+ id="path72" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M626.822,814.006l3.49,0.505l-2.15-6.703l-7.024,5.388l3.361,0.482 c-7.017,9.952,8.393,19.228,0.442,30.322c0.664,0,1.504,0,2.561,0C635.366,833.696,620.365,823.848,626.822,814.006z"
+ id="path74" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M636.807,814.006l3.49,0.505l-2.147-6.703l-7.024,5.388l3.361,0.482 c-7.019,9.952,8.394,19.228,0.44,30.322c0.665,0,1.505,0,2.563,0C645.351,833.696,630.352,823.848,636.807,814.006z"
+ id="path76" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M646.793,814.006l3.49,0.505l-2.15-6.703l-7.022,5.388l3.359,0.482 c-7.017,9.952,8.396,19.228,0.442,30.322c0.665,0,1.505,0,2.562,0C655.337,833.696,640.337,823.848,646.793,814.006z"
+ id="path78" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC_org/images/drag_knob.svg b/sample-qml/apps/HVAC_org/images/drag_knob.svg
new file mode 100644
index 0000000..774c1b6
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/drag_knob.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="22px" height="22px" viewBox="0 0 22 22" enable-background="new 0 0 22 22" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="126.001" y1="-358.9995" x2="126.0009" y2="540.1095" gradientTransform="matrix(1 0 0 -1 234 587)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<circle fill="#FE9C00" stroke="#FFD38C" stroke-width="0.5936" stroke-miterlimit="10" cx="11" cy="11" r="6.141"/>
+<circle fill="#FE9C00" fill-opacity="0.45" cx="11" cy="11" r="10.912"/>
+</svg>
diff --git a/sample-qml/apps/HVAC_org/images/fan_bar_off.png b/sample-qml/apps/HVAC_org/images/fan_bar_off.png
new file mode 100644
index 0000000..ec0f372
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_bar_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/fan_bar_on.png b/sample-qml/apps/HVAC_org/images/fan_bar_on.png
new file mode 100644
index 0000000..107c8fc
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_bar_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/fan_bar_on.svg b/sample-qml/apps/HVAC_org/images/fan_bar_on.svg
new file mode 100644
index 0000000..f65fe74
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_bar_on.svg
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="525px" height="153px" viewBox="-157 -47.5 525 153" enable-background="new -157 -47.5 525 153" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="15.1294" y1="1643" x2="15.1292" y2="743.8912" gradientTransform="matrix(1 0 0 1 468 -697)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect x="123.129" display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<g display="none">
+ <g display="inline">
+ <g>
+ <defs>
+ <rect id="SVGID_2_" x="275.129" y="346" width="158" height="232"/>
+ </defs>
+ <clipPath id="SVGID_3_">
+ <use xlink:href="#SVGID_2_" overflow="visible"/>
+ </clipPath>
+ <g clip-path="url(#SVGID_3_)">
+ <text transform="matrix(1 0 0 1 283.4941 784.9795)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">20°</text>
+ <text transform="matrix(1 0 0 1 283.4941 888.7236)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">21°</text>
+ <text transform="matrix(1 0 0 1 283.4941 689.0361)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">19°</text>
+ <text transform="matrix(1 0 0 1 283.4941 591.3809)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">18°</text>
+ <text transform="matrix(1 0 0 1 283.4941 496.998)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">17°</text>
+ <text transform="matrix(1 0 0 1 283.4941 403.3945)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">16°</text>
+ </g>
+ </g>
+ </g>
+</g>
+<circle display="none" fill="#31ABFF" stroke="#31ABFF" stroke-width="0.5936" stroke-miterlimit="10" cx="494.93" cy="726.5" r="6.141"/>
+<circle display="none" fill="#31ABFF" fill-opacity="0.45" cx="494.93" cy="726.5" r="10.912"/>
+<path display="none" fill="none" stroke="#00507F" stroke-miterlimit="10" d="M968.129,664.752
+ C828.971,627.465,638.581,610,484.129,610s-344.841,17.465-484,54.752"/>
+<line display="none" fill="none" stroke="#31ABFF" stroke-miterlimit="10" x1="667.129" y1="719.5" x2="363.129" y2="719.5"/>
+<line fill="none" stroke="#FFD38C" stroke-width="3" stroke-miterlimit="10" x1="365.139" y1="83.807" x2="-156" y2="83.807"/>
+<path fill="#FE9C00" d="M94.271,58.989H367v-94.848c-15.771-1.139-119.5-10.116-272.729-10.724L47.76-46.794
+ c-82.26,0-130.26,2.885-204.76,4.96V58.989H48.5H94.271z"/>
+</svg>
diff --git a/sample-qml/apps/HVAC_org/images/fan_control_ac_off.png b/sample-qml/apps/HVAC_org/images/fan_control_ac_off.png
new file mode 100644
index 0000000..728efe4
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_control_ac_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/fan_control_ac_off.svg b/sample-qml/apps/HVAC_org/images/fan_control_ac_off.svg
new file mode 100644
index 0000000..13af676
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_control_ac_off.svg
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="112px" height="88px" viewBox="0 0 112 88" enable-background="new 0 0 112 88" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-107.9995" y1="1649" x2="-107.9997" y2="749.8912" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<rect x="174.5" y="763.898" display="none" fill="#31ABFF" fill-opacity="0.29" stroke="#31ABFF" stroke-width="0.8472" stroke-miterlimit="10" stroke-opacity="0.64" width="111" height="87"/>
+<g display="none">
+ <g display="inline">
+ <g>
+ <defs>
+ <rect id="SVGID_2_" x="152" y="346" width="158" height="232"/>
+ </defs>
+ <clipPath id="SVGID_3_">
+ <use xlink:href="#SVGID_2_" overflow="visible"/>
+ </clipPath>
+ <g clip-path="url(#SVGID_3_)">
+ <text transform="matrix(1 0 0 1 160.3643 784.9795)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">20°</text>
+ <text transform="matrix(1 0 0 1 160.3643 888.7236)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">21°</text>
+ <text transform="matrix(1 0 0 1 160.3643 689.0361)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">19°</text>
+ <text transform="matrix(1 0 0 1 160.3643 591.3809)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">18°</text>
+ <text transform="matrix(1 0 0 1 160.3643 496.998)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">17°</text>
+ <text transform="matrix(1 0 0 1 160.3643 403.3945)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">16°</text>
+ </g>
+ </g>
+ </g>
+</g>
+<g>
+
+ <rect x="0.5" y="0.5" fill-opacity="0.29" stroke="#B2F0FF" stroke-width="0.8472" stroke-miterlimit="10" stroke-opacity="0.64" width="111" height="87"/>
+ <g>
+ <g>
+ <path fill="#B2F0FF" d="M38.333,47.863L36.622,53.5h-3.748l6.375-19.89h4.633l6.463,19.89h-3.896l-1.801-5.637H38.333z
+ M44.027,45.119l-1.563-4.898c-0.383-1.21-0.708-2.565-1.003-3.719h-0.059c-0.295,1.151-0.59,2.538-0.944,3.719l-1.535,4.898
+ H44.027z"/>
+ <path fill="#B2F0FF" d="M51.262,54.681l7.2-21.396H61l-7.201,21.396H51.262z"/>
+ <path fill="#B2F0FF" d="M77.32,52.91c-0.854,0.44-2.743,0.885-5.135,0.885c-6.314,0-10.15-3.954-10.15-10.004
+ c0-6.552,4.544-10.506,10.624-10.506c2.391,0,4.103,0.502,4.84,0.886l-0.797,2.892c-0.944-0.411-2.243-0.768-3.896-0.768
+ c-4.043,0-6.966,2.538-6.966,7.319c0,4.366,2.567,7.171,6.937,7.171c1.476,0,3.01-0.295,3.955-0.738L77.32,52.91z"/>
+ </g>
+ </g>
+</g>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-238.0005" y1="1468.6846" x2="-238.0005" y2="1552.0071" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0.5092" style="stop-color:#31ABFF;stop-opacity:0"/>
+ <stop offset="0.9018" style="stop-color:#31ABFF"/>
+ <stop offset="1" style="stop-color:#63E6FF"/>
+</linearGradient>
+<rect x="174.5" y="763.5" display="none" fill="url(#SVGID_4_)" stroke="#31ABFF" stroke-miterlimit="10" width="111" height="87"/>
+<g display="none">
+ <g display="inline">
+ <path display="none" fill="#FFFFFF" d="M212.333,810.863l-1.711,5.637h-3.748l6.375-19.89h4.633l6.463,19.89h-3.896l-1.801-5.637
+ H212.333z M218.027,808.119l-1.563-4.898c-0.383-1.21-0.708-2.565-1.003-3.719h-0.059c-0.295,1.151-0.59,2.538-0.944,3.719
+ l-1.535,4.898H218.027z"/>
+ <path display="none" fill="#FFFFFF" d="M225.262,817.681l7.2-21.396H235l-7.201,21.396H225.262z"/>
+ <path display="none" fill="#FFFFFF" d="M251.32,815.91c-0.854,0.44-2.743,0.885-5.135,0.885c-6.314,0-10.15-3.954-10.15-10.004
+ c0-6.552,4.544-10.506,10.624-10.506c2.391,0,4.103,0.502,4.84,0.886l-0.797,2.892c-0.944-0.411-2.243-0.768-3.896-0.768
+ c-4.043,0-6.966,2.538-6.966,7.319c0,4.366,2.567,7.171,6.937,7.171c1.476,0,3.01-0.295,3.955-0.738L251.32,815.91z"/>
+ </g>
+</g>
+<g display="none">
+
+ <text transform="matrix(1 0 0 1 206.2539 816.5)" display="inline" fill="#31ABFF" font-family="'MyriadPro-Semibold'" font-size="29.5171">A/C</text>
+</g>
+</svg>
diff --git a/sample-qml/apps/HVAC_org/images/fan_control_ac_on.png b/sample-qml/apps/HVAC_org/images/fan_control_ac_on.png
new file mode 100644
index 0000000..b9d03e5
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_control_ac_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/fan_control_ac_on.svg b/sample-qml/apps/HVAC_org/images/fan_control_ac_on.svg
new file mode 100644
index 0000000..040fa44
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_control_ac_on.svg
@@ -0,0 +1,275 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="112px"
+ height="88px"
+ viewBox="0 0 112 88"
+ enable-background="new 0 0 112 88"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="fan_control_ac_on.svg"><metadata
+ id="metadata88"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs86"><defs
+ id="defs56"><filter
+ id="Adobe_OpacityMaskFilter"
+ filterUnits="userSpaceOnUse"
+ x="0.5"
+ y="0.5"
+ width="111"
+ height="87"
+ color-interpolation-filters="sRGB"><feColorMatrix
+ type="matrix"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"
+ color-interpolation-filters="sRGB"
+ result="source"
+ id="feColorMatrix59" /></filter></defs><filter
+ id="filter7065"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur7067"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite7069"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite7071"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood7073"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend7075"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite7077"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter><filter
+ id="filter7079"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur7081"
+ stdDeviation="10"
+ result="result8" /><feComposite
+ id="feComposite7083"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite7085"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood7087"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(255,222,85)" /><feBlend
+ id="feBlend7089"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite7091"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1225"
+ inkscape:window-height="724"
+ id="namedview84"
+ showgrid="false"
+ inkscape:zoom="2.6071429"
+ inkscape:cx="-45.260274"
+ inkscape:cy="44"
+ inkscape:window-x="615"
+ inkscape:window-y="90"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="-107.9995"
+ y1="1649"
+ x2="-107.9997"
+ y2="749.8912"
+ gradientTransform="matrix(1 0 0 1 468 -703)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><rect
+ x="174.5"
+ y="763.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8472"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="111"
+ height="87"
+ id="rect10" /><g
+ display="none"
+ id="g12"><g
+ display="inline"
+ id="g14"><g
+ id="g16"><defs
+ id="defs18"><rect
+ id="SVGID_2_"
+ x="152"
+ y="346"
+ width="158"
+ height="232" /></defs><clipPath
+ id="SVGID_3_"><use
+ xlink:href="#SVGID_2_"
+ overflow="visible"
+ id="use22" /></clipPath><g
+ clip-path="url(#SVGID_3_)"
+ id="g24"><text
+ transform="matrix(1 0 0 1 160.3643 784.9795)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text26">20°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 888.7236)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text28">21°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 689.0361)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text30">19°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 591.3809)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text32">18°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 496.998)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text34">17°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 403.3945)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text36">16°</text>
+</g></g></g></g><rect
+ x="174.5"
+ y="763.5"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8472"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="111"
+ height="87"
+ id="rect38" /><g
+ display="none"
+ id="g40"><g
+ display="inline"
+ id="g42"><path
+ display="none"
+ fill="#31ABFF"
+ d="M212.333,810.863l-1.711,5.637h-3.748l6.375-19.89h4.633l6.463,19.89h-3.896l-1.801-5.637 H212.333z M218.027,808.119l-1.563-4.898c-0.383-1.21-0.708-2.565-1.003-3.719h-0.059c-0.295,1.151-0.59,2.538-0.944,3.719 l-1.535,4.898H218.027z"
+ id="path44" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M225.262,817.681l7.2-21.396H235l-7.201,21.396H225.262z"
+ id="path46" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M251.32,815.91c-0.854,0.44-2.743,0.885-5.135,0.885c-6.314,0-10.15-3.954-10.15-10.004 c0-6.552,4.544-10.506,10.624-10.506c2.391,0,4.103,0.502,4.84,0.886l-0.797,2.892c-0.944-0.411-2.243-0.768-3.896-0.768 c-4.043,0-6.966,2.538-6.966,7.319c0,4.366,2.567,7.171,6.937,7.171c1.476,0,3.01-0.295,3.955-0.738L251.32,815.91z"
+ id="path48" /></g></g><rect
+ style="opacity:0.80000000000000004;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:0;filter:url(#filter7065)"
+ x="0.5"
+ y="0.5"
+ width="111"
+ height="87"
+ id="rect54" /><rect
+ x="0.5"
+ y="0.5"
+ mask="url(#SVGID_4_)"
+ width="111"
+ height="87"
+ id="rect66"
+ style="opacity:0.80000000000000004;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:0;filter:url(#filter7065)" /><rect
+ x="0.5"
+ y="0.5"
+ fill="none"
+ stroke="#FFFFFF"
+ stroke-miterlimit="10"
+ width="111"
+ height="87"
+ id="rect68" /><g
+ id="g70"><g
+ id="g72"><path
+ fill="#FFFFFF"
+ d="M38.333,47.863L36.622,53.5h-3.748l6.375-19.89h4.633l6.463,19.89h-3.896l-1.801-5.637H38.333z M44.027,45.119l-1.563-4.898c-0.383-1.21-0.708-2.565-1.003-3.719h-0.059c-0.295,1.151-0.59,2.538-0.944,3.719l-1.535,4.898 H44.027z"
+ id="path74" /><path
+ fill="#FFFFFF"
+ d="M51.262,54.681l7.2-21.396H61l-7.201,21.396H51.262z"
+ id="path76" /><path
+ fill="#FFFFFF"
+ d="M77.32,52.91c-0.854,0.44-2.743,0.885-5.135,0.885c-6.314,0-10.15-3.954-10.15-10.004 c0-6.552,4.544-10.506,10.624-10.506c2.391,0,4.103,0.502,4.84,0.886l-0.797,2.892c-0.944-0.411-2.243-0.768-3.896-0.768 c-4.043,0-6.966,2.538-6.966,7.319c0,4.366,2.567,7.171,6.937,7.171c1.476,0,3.01-0.295,3.955-0.738L77.32,52.91z"
+ id="path78" /></g></g><g
+ display="none"
+ id="g80"><text
+ transform="matrix(1 0 0 1 206.2539 816.5)"
+ display="inline"
+ fill="#31ABFF"
+ font-family="'MyriadPro-Semibold'"
+ font-size="29.5171"
+ id="text82">A/C</text>
+</g></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC_org/images/fan_control_auto_off.png b/sample-qml/apps/HVAC_org/images/fan_control_auto_off.png
new file mode 100644
index 0000000..2112b9c
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_control_auto_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/fan_control_auto_off.svg b/sample-qml/apps/HVAC_org/images/fan_control_auto_off.svg
new file mode 100644
index 0000000..f560a54
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_control_auto_off.svg
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="111px" height="88px" viewBox="0 0 111 88" enable-background="new 0 0 111 88" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-107.9995" y1="1649" x2="-107.9997" y2="749.8912" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<rect x="305.25" y="763.898" display="none" fill="#31ABFF" fill-opacity="0.29" stroke="#31ABFF" stroke-width="0.8472" stroke-miterlimit="10" stroke-opacity="0.64" width="110.5" height="86.563"/>
+<g display="none">
+ <g display="inline">
+ <g>
+ <defs>
+ <rect id="SVGID_2_" x="152" y="346" width="158" height="232"/>
+ </defs>
+ <clipPath id="SVGID_3_">
+ <use xlink:href="#SVGID_2_" overflow="visible"/>
+ </clipPath>
+ <g clip-path="url(#SVGID_3_)">
+ <text transform="matrix(1 0 0 1 160.3643 784.9795)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">20°</text>
+ <text transform="matrix(1 0 0 1 160.3643 888.7236)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">21°</text>
+ <text transform="matrix(1 0 0 1 160.3643 689.0361)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">19°</text>
+ <text transform="matrix(1 0 0 1 160.3643 591.3809)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">18°</text>
+ <text transform="matrix(1 0 0 1 160.3643 496.998)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">17°</text>
+ <text transform="matrix(1 0 0 1 160.3643 403.3945)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">16°</text>
+ </g>
+ </g>
+ </g>
+</g>
+<g>
+
+ <rect x="0.25" y="0.719" fill-opacity="0.29" stroke="#B2F0FF" stroke-width="0.8472" stroke-miterlimit="10" stroke-opacity="0.64" width="110.5" height="86.563"/>
+ <path fill="#B2F0FF" d="M25.526,47.684l-1.711,5.637h-3.748l6.375-19.89h4.633l6.463,19.89h-3.896l-1.8-5.637H25.526z
+ M31.222,44.939l-1.563-4.898c-0.383-1.21-0.708-2.565-1.003-3.719h-0.061c-0.295,1.151-0.59,2.538-0.942,3.719l-1.535,4.898
+ H31.222z"/>
+ <path fill="#B2F0FF" d="M42.971,33.431v11.598c0,3.896,1.623,5.695,4.073,5.695c2.626,0,4.19-1.803,4.19-5.695V33.431h3.63V44.79
+ c0,6.14-3.158,8.854-7.938,8.854c-4.604,0-7.584-2.567-7.584-8.823V33.431H42.971z"/>
+ <path fill="#B2F0FF" d="M62.835,36.47h-5.666v-3.039H72.19v3.039h-5.727V53.32h-3.63L62.835,36.47L62.835,36.47z"/>
+ <path fill="#B2F0FF" d="M91.346,43.169c0,6.669-4.043,10.478-9.53,10.478c-5.606,0-9.147-4.278-9.147-10.122
+ c0-6.108,3.836-10.417,9.443-10.417C87.922,33.105,91.346,37.503,91.346,43.169z M76.502,43.464c0,4.044,2.036,7.262,5.518,7.262
+ c3.515,0,5.49-3.246,5.49-7.407c0-3.748-1.857-7.289-5.49-7.289C78.42,36.027,76.502,39.362,76.502,43.464z"/>
+</g>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-107.5005" y1="1468.6846" x2="-107.5005" y2="1552.0071" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0.5092" style="stop-color:#31ABFF;stop-opacity:0"/>
+ <stop offset="0.9018" style="stop-color:#31ABFF"/>
+ <stop offset="1" style="stop-color:#63E6FF"/>
+</linearGradient>
+<rect x="305.5" y="763.5" display="none" fill="url(#SVGID_4_)" stroke="#31ABFF" stroke-miterlimit="10" width="110" height="87"/>
+<path display="none" fill="#FFFFFF" d="M330.526,810.863l-1.711,5.637h-3.748l6.375-19.89h4.633l6.463,19.89h-3.896l-1.8-5.637
+ H330.526z M336.222,808.119l-1.563-4.898c-0.383-1.21-0.708-2.565-1.003-3.719h-0.061c-0.295,1.151-0.59,2.538-0.942,3.719
+ l-1.535,4.898H336.222z"/>
+<path display="none" fill="#FFFFFF" d="M347.971,796.61v11.598c0,3.896,1.623,5.695,4.073,5.695c2.626,0,4.19-1.803,4.19-5.695
+ V796.61h3.63v11.359c0,6.14-3.158,8.854-7.938,8.854c-4.604,0-7.584-2.567-7.584-8.823V796.61H347.971z"/>
+<path display="none" fill="#FFFFFF" d="M367.835,799.649h-5.666v-3.039h15.021v3.039h-5.727V816.5h-3.63L367.835,799.649
+ L367.835,799.649z"/>
+<path display="none" fill="#FFFFFF" d="M396.346,806.349c0,6.669-4.043,10.478-9.53,10.478c-5.606,0-9.147-4.278-9.147-10.122
+ c0-6.108,3.836-10.417,9.443-10.417C392.922,796.285,396.346,800.683,396.346,806.349z M381.502,806.644
+ c0,4.044,2.036,7.262,5.518,7.262c3.515,0,5.49-3.246,5.49-7.407c0-3.748-1.857-7.289-5.49-7.289
+ C383.42,799.207,381.502,802.542,381.502,806.644z"/>
+<text transform="matrix(1 0 0 1 324.4473 816.5)" display="none" fill="#31ABFF" enable-background="new " font-family="'MyriadPro-Semibold'" font-size="29.5171">AUTO</text>
+</svg>
diff --git a/sample-qml/apps/HVAC_org/images/fan_control_auto_on.png b/sample-qml/apps/HVAC_org/images/fan_control_auto_on.png
new file mode 100644
index 0000000..2b7daf6
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_control_auto_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/fan_control_auto_on.svg b/sample-qml/apps/HVAC_org/images/fan_control_auto_on.svg
new file mode 100644
index 0000000..2cdc613
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_control_auto_on.svg
@@ -0,0 +1,282 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="111px"
+ height="88px"
+ viewBox="0 0 111 88"
+ enable-background="new 0 0 111 88"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="fan_control_auto_on.svg"><metadata
+ id="metadata3153"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1167"
+ inkscape:window-height="584"
+ id="namedview3151"
+ showgrid="false"
+ inkscape:zoom="2.6306306"
+ inkscape:cx="1.7106156"
+ inkscape:cy="59.205475"
+ inkscape:window-x="350"
+ inkscape:window-y="75"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="-107.9995"
+ y1="1649"
+ x2="-107.9997"
+ y2="749.8912"
+ gradientTransform="matrix(1 0 0 1 468 -703)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop3067" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop3069" /></linearGradient><rect
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect3071" /><rect
+ x="305.25"
+ y="763.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8472"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="110.5"
+ height="86.563"
+ id="rect3073" /><g
+ display="none"
+ id="g3075"><g
+ display="inline"
+ id="g3077"><g
+ id="g3079"><defs
+ id="defs3081"><rect
+ id="SVGID_2_"
+ x="152"
+ y="346"
+ width="158"
+ height="232" /></defs><clipPath
+ id="SVGID_3_"><use
+ xlink:href="#SVGID_2_"
+ overflow="visible"
+ id="use3085" /></clipPath><g
+ clip-path="url(#SVGID_3_)"
+ id="g3087"><text
+ transform="matrix(1 0 0 1 160.3643 784.9795)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3089">20°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 888.7236)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3091">21°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 689.0361)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3093">19°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 591.3809)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3095">18°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 496.998)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3097">17°</text>
+<text
+ transform="matrix(1 0 0 1 160.3643 403.3945)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3099">16°</text>
+</g></g></g></g><rect
+ x="305.25"
+ y="763.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8472"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="110.5"
+ height="86.563"
+ id="rect3101" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M330.526,810.863l-1.711,5.637h-3.748l6.375-19.89h4.633l6.463,19.89h-3.896l-1.8-5.637 H330.526z M336.222,808.119l-1.563-4.898c-0.383-1.21-0.708-2.565-1.003-3.719h-0.061c-0.295,1.151-0.59,2.538-0.942,3.719 l-1.535,4.898H336.222z"
+ id="path3103" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M347.971,796.61v11.598c0,3.896,1.623,5.695,4.073,5.695c2.626,0,4.19-1.803,4.19-5.695 V796.61h3.63v11.359c0,6.14-3.158,8.854-7.938,8.854c-4.604,0-7.584-2.567-7.584-8.823V796.61H347.971z"
+ id="path3105" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M367.835,799.649h-5.666v-3.039h15.021v3.039h-5.727V816.5h-3.63L367.835,799.649 L367.835,799.649z"
+ id="path3107" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M396.346,806.349c0,6.669-4.043,10.478-9.53,10.478c-5.606,0-9.147-4.278-9.147-10.122 c0-6.108,3.836-10.417,9.443-10.417C392.922,796.285,396.346,800.683,396.346,806.349z M381.502,806.644 c0,4.044,2.036,7.262,5.518,7.262c3.515,0,5.49-3.246,5.49-7.407c0-3.748-1.857-7.289-5.49-7.289 C383.42,799.207,381.502,802.542,381.502,806.644z"
+ id="path3109" /><rect
+ style="opacity:0.80000000000000004;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:1;filter:url(#filter6490)"
+ x="0.5"
+ y="0.5"
+ width="110"
+ height="87"
+ id="rect3115" /><rect
+ x="0.5"
+ y="0.5"
+ mask="url(#SVGID_5_)"
+ width="110"
+ height="87"
+ id="rect3127"
+ style="opacity:0.80000000000000004;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:0" /><defs
+ id="defs3129"><defs
+ id="defs3117"><filter
+ id="Adobe_OpacityMaskFilter"
+ filterUnits="userSpaceOnUse"
+ x="0.5"
+ y="0.5"
+ width="110"
+ height="87"
+ color-interpolation-filters="sRGB"
+ inkscape:label="Adobe_OpacityMaskFilter"><feColorMatrix
+ type="matrix"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"
+ color-interpolation-filters="sRGB"
+ result="source"
+ id="feColorMatrix3120" /></filter></defs><filter
+ id="filter6490"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur6492"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite6494"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite6496"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood6498"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend6500"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite6502"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter><filter
+ id="filter6490-1"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur6492-9"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite6494-1"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite6496-4"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood6498-8"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend6500-6"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite6502-0"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><rect
+ x="0.5"
+ y="0.5"
+ display="none"
+ mask="url(#SVGID_4_)"
+ fill="#53B5CE"
+ width="110"
+ height="87"
+ id="rect3139" /><path
+ fill="#FFFFFF"
+ d="M25.526,47.863L23.815,53.5h-3.748l6.375-19.89h4.633l6.463,19.89h-3.896l-1.8-5.637H25.526z M31.222,45.119 l-1.563-4.898c-0.383-1.21-0.708-2.565-1.003-3.719h-0.061c-0.295,1.151-0.59,2.538-0.942,3.719l-1.535,4.898H31.222z"
+ id="path3141" /><path
+ fill="#FFFFFF"
+ d="M42.971,33.61v11.598c0,3.896,1.623,5.695,4.073,5.695c2.626,0,4.19-1.803,4.19-5.695V33.61h3.63V44.97 c0,6.14-3.158,8.854-7.938,8.854c-4.604,0-7.584-2.567-7.584-8.823V33.61H42.971z"
+ id="path3143" /><path
+ fill="#FFFFFF"
+ d="M62.835,36.649h-5.666V33.61H72.19v3.039h-5.727V53.5h-3.63L62.835,36.649L62.835,36.649z"
+ id="path3145" /><path
+ fill="#FFFFFF"
+ d="M91.346,43.349c0,6.669-4.043,10.478-9.53,10.478c-5.606,0-9.147-4.278-9.147-10.122 c0-6.108,3.836-10.417,9.443-10.417C87.922,33.285,91.346,37.683,91.346,43.349z M76.502,43.644c0,4.044,2.036,7.262,5.518,7.262 c3.515,0,5.49-3.246,5.49-7.407c0-3.748-1.857-7.289-5.49-7.289C78.42,36.207,76.502,39.542,76.502,43.644z"
+ id="path3147" /><text
+ transform="matrix(1 0 0 1 324.4473 816.5)"
+ display="none"
+ fill="#31ABFF"
+ enable-background="new "
+ font-family="'MyriadPro-Semibold'"
+ font-size="29.5171"
+ id="text3149">AUTO</text>
+<rect
+ style="opacity:0.8;fill:none;fill-opacity:1;stroke:#ffffff;stroke-opacity:1"
+ x="0.56164414"
+ y="0.84589106"
+ width="110"
+ height="87"
+ id="rect3115-8" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC_org/images/fan_control_circ_off.png b/sample-qml/apps/HVAC_org/images/fan_control_circ_off.png
new file mode 100644
index 0000000..08e2f11
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_control_circ_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/fan_control_circ_off.svg b/sample-qml/apps/HVAC_org/images/fan_control_circ_off.svg
new file mode 100644
index 0000000..d37814b
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_control_circ_off.svg
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="112px" height="88px" viewBox="0 0 112 88" enable-background="new 0 0 112 88" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-107.9995" y1="1649" x2="-107.9997" y2="749.8912" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<rect x="436" y="763.898" display="none" fill="#31ABFF" fill-opacity="0.29" stroke="#31ABFF" stroke-width="0.8472" stroke-miterlimit="10" stroke-opacity="0.64" width="110.5" height="86.563"/>
+<g>
+
+ <rect x="0.75" y="0.719" fill-opacity="0.29" stroke="#B2F0FF" stroke-width="0.8472" stroke-miterlimit="10" stroke-opacity="0.64" width="110.5" height="86.563"/>
+ <path fill="#B2F0FF" d="M78.881,63.463c-3.802,0-6.805-2.762-7.491-6.643H34.5l-0.288-0.267c-0.001-0.001-0.14-0.118-0.378-0.207
+ c-0.67,3.74-3.627,6.273-7.49,6.273c-3.139,0-5.975-2.248-7.109-5.55c-0.758-0.104-2.006-0.408-2.383-1.285
+ c-0.2-0.147-0.755-0.396-1.169-0.582c-0.405-0.183-0.849-0.381-1.28-0.604c-2.414-1.254-1.729-8.89-1.722-8.964
+ c0.161-1.384,0.531-2.293,0.892-3.176c0.177-0.433,0.343-0.843,0.481-1.307c0.55-1.818,1.523-2.813,3.861-3.943
+ c2.149-1.035,15.707-2.548,18.307-2.828c3.779-2.869,9.729-7.446,10.271-8.022c1.157-1.229,4.437-2.538,8.232-2.538l26.052,0.006
+ c9.494,1.017,10.104,1.436,10.336,1.591c0.786,0.536,0.847,1.469,0.54,2.313c0.687,1.097,2.567,4.021,4.767,6.741
+ c1.461,0.885,1.531,2.373,1.33,3.194v7.488l1,0.582v5.14l-0.585,0.27c-0.036,0.016-3.613,1.644-7.973,3.282
+ c-0.97,0.362-2.26,0.65-3.696,0.83C86.17,59.846,82.879,63.463,78.881,63.463z M72.255,54.107l0.982,0.014l0.004,1.069
+ c0.034,3.573,2.571,6.271,5.753,6.271c3.059,0,5.756-3.186,5.756-6.957v-0.915l0.795-0.23c1.619-0.146,3.003-0.431,4.001-0.806
+ c3.269-1.229,6.028-2.448,7.204-2.971v-2.697l-1-0.581v-8.938l0.051-0.153c0.061-0.2,0.137-0.747-0.504-1.084l-0.181-0.095
+ l-0.129-0.158c-2.904-3.563-5.229-7.402-5.324-7.563l-0.311-0.514l0.307-0.515c0.04-0.07,0.08-0.161,0.109-0.246
+ c-1.272-0.287-5.417-0.816-9.151-1.219H54.726c-3.521,0-6.149,1.243-6.775,1.908c-0.832,0.884-9.095,7.164-10.74,8.414
+ l-0.222,0.168l-0.276,0.027c-6.159,0.661-16.474,1.973-17.927,2.674c-1.999,0.966-2.484,1.618-2.817,2.721
+ c-0.167,0.554-0.357,1.025-0.545,1.48c-0.322,0.792-0.626,1.539-0.756,2.651c-0.272,2.331,0.044,6.406,0.688,6.979
+ c0.363,0.186,0.771,0.365,1.146,0.533c1.043,0.469,1.824,0.817,2.134,1.479c0.271,0.135,0.93,0.27,1.196,0.27l0.85-0.081
+ l0.274,0.816c0.726,2.803,2.939,4.761,5.389,4.761c3.197,0,5.402-2.127,5.617-5.419l0.054-0.819l0.815-0.105
+ c1.106-0.143,1.945,0.255,2.391,0.544h36.021l-0.003-0.64L72.255,54.107z"/>
+ <path fill="#B2F0FF" d="M81.559,43.424L71.75,36.59v4.23H56.32c-2.555,0-3.57-1.224-3.57-2v-6h-5v6.131l0.354,0.112
+ c0.197,2.366,2.441,6.757,8.219,6.757H71.75v4.439L81.559,43.424z"/>
+</g>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="22.9995" y1="1468.6846" x2="22.9995" y2="1552.0071" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0.5092" style="stop-color:#31ABFF;stop-opacity:0"/>
+ <stop offset="0.9018" style="stop-color:#31ABFF"/>
+ <stop offset="1" style="stop-color:#63E6FF"/>
+</linearGradient>
+<rect x="435.5" y="763.5" display="none" fill="url(#SVGID_2_)" stroke="#31ABFF" stroke-miterlimit="10" width="111" height="87"/>
+<path display="none" fill="#FFFFFF" d="M514.131,826.643c-3.802,0-6.805-2.762-7.491-6.643h-36.89l-0.288-0.267
+ c-0.001-0.001-0.14-0.118-0.378-0.207c-0.67,3.74-3.627,6.273-7.49,6.273c-3.139,0-5.975-2.248-7.109-5.55
+ c-0.758-0.104-2.006-0.408-2.383-1.285c-0.2-0.147-0.755-0.396-1.169-0.582c-0.405-0.183-0.849-0.381-1.28-0.604
+ c-2.414-1.254-1.729-8.89-1.722-8.964c0.161-1.384,0.531-2.293,0.892-3.176c0.177-0.433,0.343-0.843,0.481-1.307
+ c0.55-1.818,1.523-2.813,3.861-3.943c2.149-1.035,15.707-2.548,18.307-2.828c3.779-2.869,9.729-7.446,10.271-8.022
+ c1.157-1.229,4.437-2.538,8.232-2.538l26.052,0.006c9.494,1.017,10.104,1.436,10.336,1.591c0.786,0.536,0.847,1.469,0.54,2.313
+ c0.687,1.097,2.567,4.021,4.767,6.741c1.461,0.885,1.531,2.373,1.33,3.194v7.488l1,0.582v5.14l-0.585,0.27
+ c-0.036,0.016-3.613,1.644-7.973,3.282c-0.97,0.362-2.26,0.65-3.696,0.83C521.42,823.025,518.129,826.643,514.131,826.643z
+ M507.505,817.287l0.982,0.014l0.004,1.069c0.034,3.573,2.571,6.271,5.753,6.271c3.059,0,5.756-3.186,5.756-6.957v-0.915l0.795-0.23
+ c1.619-0.146,3.003-0.431,4.001-0.806c3.269-1.229,6.028-2.448,7.204-2.971v-2.697l-1-0.581v-8.938l0.051-0.153
+ c0.061-0.2,0.137-0.747-0.504-1.084l-0.181-0.095l-0.129-0.158c-2.904-3.563-5.229-7.402-5.324-7.563l-0.311-0.514l0.307-0.515
+ c0.04-0.07,0.08-0.161,0.109-0.246c-1.272-0.287-5.417-0.816-9.151-1.219h-25.892c-3.521,0-6.149,1.243-6.775,1.908
+ c-0.832,0.884-9.095,7.164-10.74,8.414l-0.222,0.168l-0.276,0.027c-6.159,0.661-16.474,1.973-17.927,2.674
+ c-1.999,0.966-2.484,1.618-2.817,2.721c-0.167,0.554-0.357,1.025-0.545,1.48c-0.322,0.792-0.626,1.539-0.756,2.651
+ c-0.272,2.331,0.044,6.406,0.688,6.979c0.363,0.186,0.771,0.365,1.146,0.533c1.043,0.469,1.824,0.817,2.134,1.479
+ c0.271,0.135,0.93,0.27,1.196,0.27l0.85-0.081l0.274,0.816c0.726,2.803,2.939,4.761,5.389,4.761c3.197,0,5.402-2.127,5.617-5.419
+ l0.054-0.819l0.815-0.105c1.106-0.143,1.945,0.255,2.391,0.544h36.021l-0.003-0.64L507.505,817.287z"/>
+<path display="none" fill="#FFFFFF" d="M516.809,806.604L507,799.77V804h-15.43c-2.555,0-3.57-1.224-3.57-2v-6h-5v6.131l0.354,0.112
+ c0.197,2.366,2.441,6.757,8.219,6.757H507v4.439L516.809,806.604z"/>
+<path display="none" fill="none" stroke="#31ABFF" stroke-width="2" stroke-miterlimit="10" d="M532,808.908v-8.2
+ c0,0,0.497-1.502-0.987-2.283c-2.894-3.552-5.243-7.45-5.243-7.45s0.663-1.119,0.029-1.553S515.921,788,515.921,788h-25.942
+ c-3.782,0-6.689,1.356-7.507,2.224c-0.814,0.867-10.614,8.304-10.614,8.304s-16.104,1.728-18.256,2.766
+ c-2.151,1.04-2.896,1.86-3.341,3.332c-0.443,1.474-1.113,2.401-1.337,4.308c-0.223,1.907-0.146,7.269,1.188,7.96
+ c1.336,0.692,2.746,1.118,2.895,1.642c0.148,0.52,1.631,0.773,2.076,0.773c0.021,0,0.074-0.007,0.156-0.015
+ c0.823,3.188,3.355,5.511,6.354,5.511c3.494,0,6.354-2.351,6.615-6.354c1.175-0.152,1.934,0.552,1.934,0.552h35.021h2.332
+ c0,0-0.003-0.743-0.003-0.713c0,4.284,2.972,7.354,6.64,7.354c3.669,0,6.644-3.674,6.644-7.957c0-0.019-0.003-0.135-0.003-0.149
+ c1.687-0.15,3.227-0.454,4.319-0.865c4.378-1.646,7.909-3.257,7.909-3.257v-3.922L532,808.908z"/>
+<path display="none" fill="#31ABFF" d="M516.809,806.604L507,799.77V804h-15.43c-2.555,0-3.57-1.224-3.57-2v-6h-5v6.131l0.354,0.112
+ c0.197,2.366,2.441,6.757,8.219,6.757H507v4.439L516.809,806.604z"/>
+</svg>
diff --git a/sample-qml/apps/HVAC_org/images/fan_control_circ_on.png b/sample-qml/apps/HVAC_org/images/fan_control_circ_on.png
new file mode 100644
index 0000000..4245785
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_control_circ_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/fan_control_circ_on.svg b/sample-qml/apps/HVAC_org/images/fan_control_circ_on.svg
new file mode 100644
index 0000000..a55b0aa
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_control_circ_on.svg
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="112px"
+ height="88px"
+ viewBox="0 0 112 88"
+ enable-background="new 0 0 112 88"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="fan_control_circ_off.svg"><metadata
+ id="metadata41"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs39"><filter
+ id="filter3829"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur3831"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite3833"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3835"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3837"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend3839"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite3841"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="922"
+ inkscape:window-height="771"
+ id="namedview37"
+ showgrid="false"
+ inkscape:zoom="3.6870568"
+ inkscape:cx="4.4156844"
+ inkscape:cy="44.840276"
+ inkscape:window-x="696"
+ inkscape:window-y="164"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="-107.9995"
+ y1="1649"
+ x2="-107.9997"
+ y2="749.8912"
+ gradientTransform="matrix(1 0 0 1 468 -703)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><rect
+ x="436"
+ y="763.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8472"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="110.5"
+ height="86.563"
+ id="rect10" /><rect
+ style="fill-opacity:1;stroke:#ffffff;stroke-width:0.84719997999999985;stroke-miterlimit:10;stroke-opacity:1;fill:#000000;opacity:0.80000000000000004;filter:url(#filter3829)"
+ id="rect14"
+ height="86.563004"
+ width="110.5"
+ stroke-miterlimit="10"
+ y="0.71899998"
+ x="0.75" /><path
+ style="fill:#ffffff;fill-opacity:1"
+ inkscape:connector-curvature="0"
+ id="path16"
+ d="m 78.881,63.463 c -3.802,0 -6.805,-2.762 -7.491,-6.643 H 34.5 l -0.288,-0.267 c -0.001,-10e-4 -0.14,-0.118 -0.378,-0.207 -0.67,3.74 -3.627,6.273 -7.49,6.273 -3.139,0 -5.975,-2.248 -7.109,-5.55 -0.758,-0.104 -2.006,-0.408 -2.383,-1.285 -0.2,-0.147 -0.755,-0.396 -1.169,-0.582 -0.405,-0.183 -0.849,-0.381 -1.28,-0.604 -2.414,-1.254 -1.729,-8.89 -1.722,-8.964 0.161,-1.384 0.531,-2.293 0.892,-3.176 0.177,-0.433 0.343,-0.843 0.481,-1.307 0.55,-1.818 1.523,-2.813 3.861,-3.943 2.149,-1.035 15.707,-2.548 18.307,-2.828 3.779,-2.869 9.729,-7.446 10.271,-8.022 1.157,-1.229 4.437,-2.538 8.232,-2.538 l 26.052,0.006 c 9.494,1.017 10.104,1.436 10.336,1.591 0.786,0.536 0.847,1.469 0.54,2.313 0.687,1.097 2.567,4.021 4.767,6.741 1.461,0.885 1.531,2.373 1.33,3.194 v 7.488 l 1,0.582 v 5.14 l -0.585,0.27 c -0.036,0.016 -3.613,1.644 -7.973,3.282 -0.97,0.362 -2.26,0.65 -3.696,0.83 -0.326,4.589 -3.617,8.206 -7.615,8.206 z m -6.626,-9.356 0.982,0.014 0.004,1.069 c 0.034,3.573 2.571,6.271 5.753,6.271 3.059,0 5.756,-3.186 5.756,-6.957 v -0.915 l 0.795,-0.23 c 1.619,-0.146 3.003,-0.431 4.001,-0.806 3.269,-1.229 6.028,-2.448 7.204,-2.971 v -2.697 l -1,-0.581 v -8.938 l 0.051,-0.153 c 0.061,-0.2 0.137,-0.747 -0.504,-1.084 l -0.181,-0.095 -0.129,-0.158 c -2.904,-3.563 -5.229,-7.402 -5.324,-7.563 l -0.311,-0.514 0.307,-0.515 c 0.04,-0.07 0.08,-0.161 0.109,-0.246 -1.272,-0.287 -5.417,-0.816 -9.151,-1.219 H 54.726 c -3.521,0 -6.149,1.243 -6.775,1.908 -0.832,0.884 -9.095,7.164 -10.74,8.414 l -0.222,0.168 -0.276,0.027 c -6.159,0.661 -16.474,1.973 -17.927,2.674 -1.999,0.966 -2.484,1.618 -2.817,2.721 -0.167,0.554 -0.357,1.025 -0.545,1.48 -0.322,0.792 -0.626,1.539 -0.756,2.651 -0.272,2.331 0.044,6.406 0.688,6.979 0.363,0.186 0.771,0.365 1.146,0.533 1.043,0.469 1.824,0.817 2.134,1.479 0.271,0.135 0.93,0.27 1.196,0.27 l 0.85,-0.081 0.274,0.816 c 0.726,2.803 2.939,4.761 5.389,4.761 3.197,0 5.402,-2.127 5.617,-5.419 l 0.054,-0.819 0.815,-0.105 c 1.106,-0.143 1.945,0.255 2.391,0.544 h 36.021 l -0.003,-0.64 1.015,-0.073 z" /><path
+ style="fill:#ffffff;fill-opacity:1"
+ inkscape:connector-curvature="0"
+ id="path18"
+ d="M 81.559,43.424 71.75,36.59 v 4.23 H 56.32 c -2.555,0 -3.57,-1.224 -3.57,-2 v -6 h -5 v 6.131 l 0.354,0.112 c 0.197,2.366 2.441,6.757 8.219,6.757 H 71.75 v 4.439 l 9.809,-6.835 z" /><linearGradient
+ id="SVGID_2_"
+ gradientUnits="userSpaceOnUse"
+ x1="22.9995"
+ y1="1468.6846"
+ x2="22.9995"
+ y2="1552.0071"
+ gradientTransform="matrix(1 0 0 1 468 -703)"><stop
+ offset="0.5092"
+ style="stop-color:#31ABFF;stop-opacity:0"
+ id="stop21" /><stop
+ offset="0.9018"
+ style="stop-color:#31ABFF"
+ id="stop23" /><stop
+ offset="1"
+ style="stop-color:#63E6FF"
+ id="stop25" /></linearGradient><rect
+ x="435.5"
+ y="763.5"
+ display="none"
+ fill="url(#SVGID_2_)"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ width="111"
+ height="87"
+ id="rect27" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M514.131,826.643c-3.802,0-6.805-2.762-7.491-6.643h-36.89l-0.288-0.267 c-0.001-0.001-0.14-0.118-0.378-0.207c-0.67,3.74-3.627,6.273-7.49,6.273c-3.139,0-5.975-2.248-7.109-5.55 c-0.758-0.104-2.006-0.408-2.383-1.285c-0.2-0.147-0.755-0.396-1.169-0.582c-0.405-0.183-0.849-0.381-1.28-0.604 c-2.414-1.254-1.729-8.89-1.722-8.964c0.161-1.384,0.531-2.293,0.892-3.176c0.177-0.433,0.343-0.843,0.481-1.307 c0.55-1.818,1.523-2.813,3.861-3.943c2.149-1.035,15.707-2.548,18.307-2.828c3.779-2.869,9.729-7.446,10.271-8.022 c1.157-1.229,4.437-2.538,8.232-2.538l26.052,0.006c9.494,1.017,10.104,1.436,10.336,1.591c0.786,0.536,0.847,1.469,0.54,2.313 c0.687,1.097,2.567,4.021,4.767,6.741c1.461,0.885,1.531,2.373,1.33,3.194v7.488l1,0.582v5.14l-0.585,0.27 c-0.036,0.016-3.613,1.644-7.973,3.282c-0.97,0.362-2.26,0.65-3.696,0.83C521.42,823.025,518.129,826.643,514.131,826.643z M507.505,817.287l0.982,0.014l0.004,1.069c0.034,3.573,2.571,6.271,5.753,6.271c3.059,0,5.756-3.186,5.756-6.957v-0.915l0.795-0.23 c1.619-0.146,3.003-0.431,4.001-0.806c3.269-1.229,6.028-2.448,7.204-2.971v-2.697l-1-0.581v-8.938l0.051-0.153 c0.061-0.2,0.137-0.747-0.504-1.084l-0.181-0.095l-0.129-0.158c-2.904-3.563-5.229-7.402-5.324-7.563l-0.311-0.514l0.307-0.515 c0.04-0.07,0.08-0.161,0.109-0.246c-1.272-0.287-5.417-0.816-9.151-1.219h-25.892c-3.521,0-6.149,1.243-6.775,1.908 c-0.832,0.884-9.095,7.164-10.74,8.414l-0.222,0.168l-0.276,0.027c-6.159,0.661-16.474,1.973-17.927,2.674 c-1.999,0.966-2.484,1.618-2.817,2.721c-0.167,0.554-0.357,1.025-0.545,1.48c-0.322,0.792-0.626,1.539-0.756,2.651 c-0.272,2.331,0.044,6.406,0.688,6.979c0.363,0.186,0.771,0.365,1.146,0.533c1.043,0.469,1.824,0.817,2.134,1.479 c0.271,0.135,0.93,0.27,1.196,0.27l0.85-0.081l0.274,0.816c0.726,2.803,2.939,4.761,5.389,4.761c3.197,0,5.402-2.127,5.617-5.419 l0.054-0.819l0.815-0.105c1.106-0.143,1.945,0.255,2.391,0.544h36.021l-0.003-0.64L507.505,817.287z"
+ id="path29" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M516.809,806.604L507,799.77V804h-15.43c-2.555,0-3.57-1.224-3.57-2v-6h-5v6.131l0.354,0.112 c0.197,2.366,2.441,6.757,8.219,6.757H507v4.439L516.809,806.604z"
+ id="path31" /><path
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="2"
+ stroke-miterlimit="10"
+ d="M532,808.908v-8.2 c0,0,0.497-1.502-0.987-2.283c-2.894-3.552-5.243-7.45-5.243-7.45s0.663-1.119,0.029-1.553S515.921,788,515.921,788h-25.942 c-3.782,0-6.689,1.356-7.507,2.224c-0.814,0.867-10.614,8.304-10.614,8.304s-16.104,1.728-18.256,2.766 c-2.151,1.04-2.896,1.86-3.341,3.332c-0.443,1.474-1.113,2.401-1.337,4.308c-0.223,1.907-0.146,7.269,1.188,7.96 c1.336,0.692,2.746,1.118,2.895,1.642c0.148,0.52,1.631,0.773,2.076,0.773c0.021,0,0.074-0.007,0.156-0.015 c0.823,3.188,3.355,5.511,6.354,5.511c3.494,0,6.354-2.351,6.615-6.354c1.175-0.152,1.934,0.552,1.934,0.552h35.021h2.332 c0,0-0.003-0.743-0.003-0.713c0,4.284,2.972,7.354,6.64,7.354c3.669,0,6.644-3.674,6.644-7.957c0-0.019-0.003-0.135-0.003-0.149 c1.687-0.15,3.227-0.454,4.319-0.865c4.378-1.646,7.909-3.257,7.909-3.257v-3.922L532,808.908z"
+ id="path33" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M516.809,806.604L507,799.77V804h-15.43c-2.555,0-3.57-1.224-3.57-2v-6h-5v6.131l0.354,0.112 c0.197,2.366,2.441,6.757,8.219,6.757H507v4.439L516.809,806.604z"
+ id="path35" /><rect
+ style="opacity:0.8;fill:none;stroke:#ffffff;stroke-width:0.84719998;stroke-miterlimit:10;stroke-opacity:1"
+ id="rect14-6"
+ height="86.563004"
+ width="110.5"
+ stroke-miterlimit="10"
+ y="0.89658129"
+ x="0.55821991" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC_org/images/fan_dir_down_off.png b/sample-qml/apps/HVAC_org/images/fan_dir_down_off.png
new file mode 100644
index 0000000..84d19f3
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_dir_down_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/fan_dir_down_off.svg b/sample-qml/apps/HVAC_org/images/fan_dir_down_off.svg
new file mode 100644
index 0000000..616162b
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_dir_down_off.svg
@@ -0,0 +1,196 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="123px"
+ height="97px"
+ viewBox="0 0 123 97"
+ enable-background="new 0 0 123 97"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="fan_dir_down_off.svg"><metadata
+ id="metadata67"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs65"><filter
+ id="filter3837"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur3839"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite3841"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3843"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3845"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend3847"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite3849"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1616"
+ inkscape:window-height="903"
+ id="namedview63"
+ showgrid="false"
+ inkscape:zoom="6.71464"
+ inkscape:cx="0.48403811"
+ inkscape:cy="16.592146"
+ inkscape:window-x="75"
+ inkscape:window-y="34"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="15.1289"
+ y1="1640"
+ x2="15.1288"
+ y2="740.8912"
+ gradientTransform="matrix(1 0 0 1 468 -694)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ x="123.129"
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M268.629,643.039V738.5h-122v-80.76C186.629,651.722,227.629,646.832,268.629,643.039z"
+ id="path10" /><path
+ style="fill-opacity:0.29019609;stroke:#b2f0ff;stroke-width:0.84719997999999985;stroke-miterlimit:10;stroke-opacity:1;fill:#000000;opacity:0.80000000000000004"
+ inkscape:connector-curvature="0"
+ id="path14"
+ d="M 122.5,0.77 V 96.23 H 0.5 V 15.47 c 40,-6.018 81,-10.907 122,-14.7 z"
+ stroke-miterlimit="10" /><g
+ id="g16"
+ style="fill:#b2f0ff;fill-opacity:1"><g
+ id="g18"
+ style="fill:#b2f0ff;fill-opacity:1"><g
+ id="g20"
+ style="fill:#b2f0ff;fill-opacity:1"><circle
+ style="fill:#b2f0ff;fill-opacity:1"
+ sodipodi:ry="8.2349997"
+ sodipodi:rx="8.2349997"
+ sodipodi:cy="34.188999"
+ sodipodi:cx="90.862"
+ id="circle22"
+ r="8.2349997"
+ cy="34.188999"
+ cx="90.862" /><path
+ style="fill:#b2f0ff;fill-opacity:1"
+ inkscape:connector-curvature="0"
+ id="path24"
+ d="m 93.139,45.619 -1.035,-0.568 c -2.859,-1.577 -6.457,-0.536 -8.033,2.321 L 77.426,59.427 64.268,55.112 c -3.01,-0.986 -6.571,0.18 -9.143,3.18 l 0.004,0.004 c -0.449,0.408 -0.876,0.873 -1.262,1.396 L 42.975,74.434 c -1.681,2.271 -1.607,5.14 0.098,6.484 l 0.617,0.487 c 1.707,1.351 4.513,0.756 6.334,-1.401 L 61.529,66.383 76.69,72.204 c 1.32,0.509 2.729,0.665 4.067,0.524 2.313,0.265 4.662,-0.854 5.854,-3.02 l 8.852,-16.057 c 1.577,-2.858 0.536,-6.455 -2.324,-8.032 z" /></g><polygon
+ style="fill:#b2f0ff;fill-opacity:1"
+ id="polygon26"
+ points="47.739,39.73 41,39.73 41,23.73 26,23.73 26,39.73 19.219,39.73 33.479,57.43 " /></g></g><linearGradient
+ id="SVGID_2_"
+ gradientUnits="userSpaceOnUse"
+ x1="-260.3716"
+ y1="1337.627"
+ x2="-260.3716"
+ y2="1431.4371"
+ gradientTransform="matrix(1 0 0 1 468 -694)"><stop
+ offset="0.5092"
+ style="stop-color:#31ABFF;stop-opacity:0"
+ id="stop29" /><stop
+ offset="0.9018"
+ style="stop-color:#31ABFF"
+ id="stop31" /><stop
+ offset="1"
+ style="stop-color:#63E6FF"
+ id="stop33" /></linearGradient><path
+ display="none"
+ fill="url(#SVGID_2_)"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ d="M268.629,643.039V738.5h-122v-80.76 C186.629,651.722,227.629,646.832,268.629,643.039z"
+ id="path35" /><g
+ display="none"
+ id="g37"><g
+ display="inline"
+ id="g39"><g
+ id="g41"><circle
+ fill="#FFFFFF"
+ cx="236.991"
+ cy="676.459"
+ r="8.235"
+ id="circle43" /><path
+ fill="#FFFFFF"
+ d="M239.268,687.889l-1.035-0.568c-2.859-1.577-6.457-0.536-8.033,2.321l-6.645,12.055l-13.158-4.315 c-3.01-0.986-6.571,0.18-9.143,3.18l0.004,0.004c-0.449,0.408-0.876,0.873-1.262,1.396l-10.893,14.743 c-1.681,2.271-1.607,5.14,0.098,6.484l0.617,0.487c1.707,1.351,4.513,0.756,6.334-1.401l11.505-13.621l15.161,5.821 c1.32,0.509,2.729,0.665,4.067,0.524c2.313,0.265,4.662-0.854,5.854-3.02l8.852-16.057 C243.169,693.063,242.128,689.466,239.268,687.889z"
+ id="path45" /></g><polygon
+ fill="#FFFFFF"
+ points="165.348,682 179.607,699.699 193.868,682 187.129,682 187.129,666 172.129,666 172.129,682 "
+ id="polygon47" /></g></g><g
+ display="none"
+ id="g49"><g
+ display="inline"
+ id="g51"><g
+ display="none"
+ id="g53"><circle
+ display="inline"
+ fill="#31ABFF"
+ cx="236.991"
+ cy="676.459"
+ r="8.235"
+ id="circle55" /><path
+ display="inline"
+ fill="#31ABFF"
+ d="M239.268,687.889l-1.035-0.568c-2.859-1.577-6.457-0.536-8.033,2.321l-6.645,12.055 l-13.158-4.315c-3.01-0.986-6.571,0.18-9.143,3.18l0.004,0.004c-0.449,0.408-0.876,0.873-1.262,1.396l-10.893,14.743 c-1.681,2.271-1.607,5.14,0.098,6.484l0.617,0.487c1.707,1.351,4.513,0.756,6.334-1.401l11.505-13.621l15.161,5.821 c1.32,0.509,2.729,0.665,4.067,0.524c2.313,0.265,4.662-0.854,5.854-3.02l8.852-16.057 C243.169,693.063,242.128,689.466,239.268,687.889z"
+ id="path57" /></g><polygon
+ display="none"
+ fill="#31ABFF"
+ points="165.348,682 179.607,699.699 193.868,682 187.129,682 187.129,666 172.129,666 172.129,682 "
+ id="polygon59" /></g></g><path
+ display="none"
+ fill="none"
+ stroke="#00507F"
+ stroke-miterlimit="10"
+ d="M968.129,664.752 C828.971,627.465,638.581,610,484.129,610s-344.841,17.465-484,54.752"
+ id="path61" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC_org/images/fan_dir_down_on.png b/sample-qml/apps/HVAC_org/images/fan_dir_down_on.png
new file mode 100644
index 0000000..8b74473
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_dir_down_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/fan_dir_down_on.svg b/sample-qml/apps/HVAC_org/images/fan_dir_down_on.svg
new file mode 100644
index 0000000..f5e5771
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_dir_down_on.svg
@@ -0,0 +1,201 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="123px"
+ height="97px"
+ viewBox="0 0 123 97"
+ enable-background="new 0 0 123 97"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="fan_dir_down_off.svg"><metadata
+ id="metadata67"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs65"><filter
+ id="filter3837"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur3839"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite3841"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3843"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3845"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend3847"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite3849"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1616"
+ inkscape:window-height="903"
+ id="namedview63"
+ showgrid="false"
+ inkscape:zoom="6.71464"
+ inkscape:cx="52.906804"
+ inkscape:cy="16.592146"
+ inkscape:window-x="75"
+ inkscape:window-y="34"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="15.1289"
+ y1="1640"
+ x2="15.1288"
+ y2="740.8912"
+ gradientTransform="matrix(1 0 0 1 468 -694)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ x="123.129"
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M268.629,643.039V738.5h-122v-80.76C186.629,651.722,227.629,646.832,268.629,643.039z"
+ id="path10" /><path
+ style="fill-opacity:1;stroke:#b2f0ff;stroke-width:0.84719997999999985;stroke-miterlimit:10;stroke-opacity:0.63999998999999996;fill:#000000;opacity:0.80000000000000004;filter:url(#filter3837)"
+ inkscape:connector-curvature="0"
+ id="path14"
+ d="M 122.5,0.77 V 96.23 H 0.5 V 15.47 c 40,-6.018 81,-10.907 122,-14.7 z"
+ stroke-miterlimit="10" /><g
+ id="g16"
+ style="fill:#ffffff;fill-opacity:1"><g
+ id="g18"
+ style="fill:#ffffff;fill-opacity:1"><g
+ id="g20"
+ style="fill:#ffffff;fill-opacity:1"><circle
+ style="fill:#ffffff;fill-opacity:1"
+ sodipodi:ry="8.2349997"
+ sodipodi:rx="8.2349997"
+ sodipodi:cy="34.188999"
+ sodipodi:cx="90.862"
+ id="circle22"
+ r="8.2349997"
+ cy="34.188999"
+ cx="90.862" /><path
+ style="fill:#ffffff;fill-opacity:1"
+ inkscape:connector-curvature="0"
+ id="path24"
+ d="m 93.139,45.619 -1.035,-0.568 c -2.859,-1.577 -6.457,-0.536 -8.033,2.321 L 77.426,59.427 64.268,55.112 c -3.01,-0.986 -6.571,0.18 -9.143,3.18 l 0.004,0.004 c -0.449,0.408 -0.876,0.873 -1.262,1.396 L 42.975,74.434 c -1.681,2.271 -1.607,5.14 0.098,6.484 l 0.617,0.487 c 1.707,1.351 4.513,0.756 6.334,-1.401 L 61.529,66.383 76.69,72.204 c 1.32,0.509 2.729,0.665 4.067,0.524 2.313,0.265 4.662,-0.854 5.854,-3.02 l 8.852,-16.057 c 1.577,-2.858 0.536,-6.455 -2.324,-8.032 z" /></g><polygon
+ style="fill:#ffffff;fill-opacity:1"
+ id="polygon26"
+ points="47.739,39.73 41,39.73 41,23.73 26,23.73 26,39.73 19.219,39.73 33.479,57.43 " /></g></g><linearGradient
+ id="SVGID_2_"
+ gradientUnits="userSpaceOnUse"
+ x1="-260.3716"
+ y1="1337.627"
+ x2="-260.3716"
+ y2="1431.4371"
+ gradientTransform="matrix(1 0 0 1 468 -694)"><stop
+ offset="0.5092"
+ style="stop-color:#31ABFF;stop-opacity:0"
+ id="stop29" /><stop
+ offset="0.9018"
+ style="stop-color:#31ABFF"
+ id="stop31" /><stop
+ offset="1"
+ style="stop-color:#63E6FF"
+ id="stop33" /></linearGradient><path
+ display="none"
+ fill="url(#SVGID_2_)"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ d="M268.629,643.039V738.5h-122v-80.76 C186.629,651.722,227.629,646.832,268.629,643.039z"
+ id="path35" /><g
+ display="none"
+ id="g37"><g
+ display="inline"
+ id="g39"><g
+ id="g41"><circle
+ fill="#FFFFFF"
+ cx="236.991"
+ cy="676.459"
+ r="8.235"
+ id="circle43" /><path
+ fill="#FFFFFF"
+ d="M239.268,687.889l-1.035-0.568c-2.859-1.577-6.457-0.536-8.033,2.321l-6.645,12.055l-13.158-4.315 c-3.01-0.986-6.571,0.18-9.143,3.18l0.004,0.004c-0.449,0.408-0.876,0.873-1.262,1.396l-10.893,14.743 c-1.681,2.271-1.607,5.14,0.098,6.484l0.617,0.487c1.707,1.351,4.513,0.756,6.334-1.401l11.505-13.621l15.161,5.821 c1.32,0.509,2.729,0.665,4.067,0.524c2.313,0.265,4.662-0.854,5.854-3.02l8.852-16.057 C243.169,693.063,242.128,689.466,239.268,687.889z"
+ id="path45" /></g><polygon
+ fill="#FFFFFF"
+ points="165.348,682 179.607,699.699 193.868,682 187.129,682 187.129,666 172.129,666 172.129,682 "
+ id="polygon47" /></g></g><g
+ display="none"
+ id="g49"><g
+ display="inline"
+ id="g51"><g
+ display="none"
+ id="g53"><circle
+ display="inline"
+ fill="#31ABFF"
+ cx="236.991"
+ cy="676.459"
+ r="8.235"
+ id="circle55" /><path
+ display="inline"
+ fill="#31ABFF"
+ d="M239.268,687.889l-1.035-0.568c-2.859-1.577-6.457-0.536-8.033,2.321l-6.645,12.055 l-13.158-4.315c-3.01-0.986-6.571,0.18-9.143,3.18l0.004,0.004c-0.449,0.408-0.876,0.873-1.262,1.396l-10.893,14.743 c-1.681,2.271-1.607,5.14,0.098,6.484l0.617,0.487c1.707,1.351,4.513,0.756,6.334-1.401l11.505-13.621l15.161,5.821 c1.32,0.509,2.729,0.665,4.067,0.524c2.313,0.265,4.662-0.854,5.854-3.02l8.852-16.057 C243.169,693.063,242.128,689.466,239.268,687.889z"
+ id="path57" /></g><polygon
+ display="none"
+ fill="#31ABFF"
+ points="165.348,682 179.607,699.699 193.868,682 187.129,682 187.129,666 172.129,666 172.129,682 "
+ id="polygon59" /></g></g><path
+ display="none"
+ fill="none"
+ stroke="#00507F"
+ stroke-miterlimit="10"
+ d="M968.129,664.752 C828.971,627.465,638.581,610,484.129,610s-344.841,17.465-484,54.752"
+ id="path61" /><path
+ style="fill-opacity:0.28999998999999999;stroke:#ffffff;stroke-width:0.84719997999999985;stroke-miterlimit:10;stroke-opacity:1;fill:none"
+ inkscape:connector-curvature="0"
+ id="path14-7"
+ d="M 122.42013,0.71937186 V 96.179366 H 0.42018397 V 15.419371 C 40.42019,9.4013718 81.420188,4.5123718 122.42013,0.71937186 z"
+ stroke-miterlimit="10" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC_org/images/fan_dir_right_off.png b/sample-qml/apps/HVAC_org/images/fan_dir_right_off.png
new file mode 100644
index 0000000..a64cd81
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_dir_right_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/fan_dir_right_off.svg b/sample-qml/apps/HVAC_org/images/fan_dir_right_off.svg
new file mode 100644
index 0000000..7df2d2a
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_dir_right_off.svg
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="123px" height="88px" viewBox="0 0 123 88" enable-background="new 0 0 123 88" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-107.9995" y1="1649" x2="-107.9997" y2="749.8912" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<rect x="24" y="763.898" display="none" fill="#31ABFF" fill-opacity="0.29" stroke="#31ABFF" stroke-width="0.8902" stroke-miterlimit="10" stroke-opacity="0.64" width="122" height="86.563"/>
+<g>
+
+ <rect x="0.5" y="0.719" fill-opacity="0.29" stroke="#B2F0FF" stroke-width="0.8902" stroke-miterlimit="10" stroke-opacity="0.64" width="122" height="86.563"/>
+ <g>
+ <g>
+ <g>
+ <circle fill="#B2F0FF" cx="90.361" cy="26.764" r="8.235"/>
+ </g>
+ <g>
+ <path fill="#B2F0FF" d="M92.639,38.193l-1.035-0.57c-2.859-1.577-6.457-0.535-8.035,2.323l-6.644,12.053l-13.157-4.313
+ c-3.01-0.986-6.572,0.181-9.143,3.181l0.004,0.002c-0.451,0.41-0.877,0.874-1.263,1.396L42.473,67.006
+ c-1.68,2.271-1.606,5.141,0.098,6.486l0.617,0.486c1.707,1.349,4.513,0.756,6.334-1.401l11.504-13.622l15.162,5.822
+ c1.318,0.507,2.729,0.665,4.067,0.525c2.313,0.265,4.661-0.854,5.854-3.021l8.853-16.056
+ C96.539,43.368,95.499,39.771,92.639,38.193z"/>
+ </g>
+ </g>
+ </g>
+ <polygon fill="#B2F0FF" points="32.5,48.931 50.199,34.67 32.5,20.41 32.5,26.82 16.5,26.82 16.5,41.82 32.5,41.82 "/>
+</g>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-383.5005" y1="1468.6846" x2="-383.5005" y2="1552.0071" gradientTransform="matrix(1 0 0 1 468 -703)">
+ <stop offset="0.5092" style="stop-color:#31ABFF;stop-opacity:0"/>
+ <stop offset="0.9018" style="stop-color:#31ABFF"/>
+ <stop offset="1" style="stop-color:#63E6FF"/>
+</linearGradient>
+<rect x="23.5" y="763.5" display="none" fill="url(#SVGID_2_)" stroke="#31ABFF" stroke-miterlimit="10" width="122" height="87"/>
+<g display="none">
+ <g display="inline">
+ <g>
+ <circle fill="#FFFFFF" cx="113.861" cy="789.944" r="8.235"/>
+ </g>
+ <g>
+ <path fill="#FFFFFF" d="M116.139,801.373l-1.035-0.57c-2.859-1.577-6.457-0.535-8.035,2.323l-6.644,12.053l-13.157-4.313
+ c-3.01-0.986-6.572,0.181-9.143,3.181l0.004,0.002c-0.451,0.41-0.877,0.874-1.263,1.396l-10.894,14.741
+ c-1.68,2.271-1.606,5.141,0.098,6.486l0.617,0.486c1.707,1.349,4.513,0.756,6.334-1.401l11.504-13.622l15.162,5.822
+ c1.318,0.507,2.729,0.665,4.067,0.525c2.313,0.265,4.661-0.854,5.854-3.021l8.853-16.056
+ C120.039,806.548,118.999,802.951,116.139,801.373z"/>
+ </g>
+ </g>
+</g>
+<polygon display="none" fill="#FFFFFF" points="56,812.11 73.699,797.85 56,783.59 56,790 40,790 40,805 56,805 "/>
+<g display="none">
+ <g display="inline">
+ <g display="none">
+ <circle display="inline" fill="#31ABFF" cx="113.861" cy="789.944" r="8.235"/>
+ </g>
+ <g display="none">
+ <path display="inline" fill="#31ABFF" d="M116.139,801.373l-1.035-0.57c-2.859-1.577-6.457-0.535-8.035,2.323l-6.644,12.053
+ l-13.157-4.313c-3.01-0.986-6.572,0.181-9.143,3.181l0.004,0.002c-0.451,0.41-0.877,0.874-1.263,1.396l-10.894,14.741
+ c-1.68,2.271-1.606,5.141,0.098,6.486l0.617,0.486c1.707,1.349,4.513,0.756,6.334-1.401l11.504-13.622l15.162,5.822
+ c1.318,0.507,2.729,0.665,4.067,0.525c2.313,0.265,4.661-0.854,5.854-3.021l8.853-16.056
+ C120.039,806.548,118.999,802.951,116.139,801.373z"/>
+ </g>
+ </g>
+</g>
+<polygon display="none" fill="#31ABFF" points="56,812.11 73.699,797.85 56,783.59 56,790 40,790 40,805 56,805 "/>
+</svg>
diff --git a/sample-qml/apps/HVAC_org/images/fan_dir_right_on.png b/sample-qml/apps/HVAC_org/images/fan_dir_right_on.png
new file mode 100644
index 0000000..b6cbc9d
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_dir_right_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/fan_dir_right_on.svg b/sample-qml/apps/HVAC_org/images/fan_dir_right_on.svg
new file mode 100644
index 0000000..585dc61
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_dir_right_on.svg
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="123px"
+ height="88px"
+ viewBox="0 0 123 88"
+ enable-background="new 0 0 123 88"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="fan_dir_right_on.svg"><metadata
+ id="metadata3361"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs3359"><defs
+ id="defs3313"><filter
+ height="88"
+ width="123"
+ y="0"
+ x="0"
+ filterUnits="userSpaceOnUse"
+ id="Adobe_OpacityMaskFilter"><feColorMatrix
+ id="feColorMatrix3316"
+ result="source"
+ color-interpolation-filters="sRGB"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"
+ type="matrix" /></filter></defs><filter
+ id="filter4814"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur4816"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite4818"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite4820"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood4822"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend4824"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite4826"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="996"
+ inkscape:window-height="683"
+ id="namedview3357"
+ showgrid="false"
+ inkscape:zoom="6.71464"
+ inkscape:cx="33.276827"
+ inkscape:cy="27.647221"
+ inkscape:window-x="407"
+ inkscape:window-y="88"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="-107.9995"
+ y1="1649"
+ x2="-107.9997"
+ y2="749.8912"
+ gradientTransform="matrix(1 0 0 1 468 -703)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop3281" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop3283" /></linearGradient><rect
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect3285" /><rect
+ x="24"
+ y="763.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="122"
+ height="86.563"
+ id="rect3287" /><rect
+ x="24"
+ y="763.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="122"
+ height="86.563"
+ id="rect3289" /><g
+ display="none"
+ id="g3291"><g
+ display="inline"
+ id="g3293"><g
+ display="none"
+ id="g3295"><circle
+ display="inline"
+ fill="#31ABFF"
+ cx="113.861"
+ cy="789.944"
+ r="8.235"
+ id="circle3297" /></g><g
+ display="none"
+ id="g3299"><path
+ display="inline"
+ fill="#31ABFF"
+ d="M116.139,801.373l-1.035-0.57c-2.859-1.577-6.457-0.535-8.035,2.323l-6.644,12.053 l-13.157-4.313c-3.01-0.986-6.572,0.181-9.143,3.181l0.004,0.002c-0.451,0.41-0.877,0.874-1.263,1.396l-10.894,14.741 c-1.68,2.271-1.606,5.141,0.098,6.486l0.617,0.486c1.707,1.349,4.513,0.756,6.334-1.401l11.504-13.622l15.162,5.822 c1.318,0.507,2.729,0.665,4.067,0.525c2.313,0.265,4.661-0.854,5.854-3.021l8.853-16.056 C120.039,806.548,118.999,802.951,116.139,801.373z"
+ id="path3301" /></g></g></g><polygon
+ display="none"
+ fill="#31ABFF"
+ points="56,812.11 73.699,797.85 56,783.59 56,790 40,790 40,805 56,805 "
+ id="polygon3303" /><rect
+ x="0.5"
+ y="0.5"
+ width="122"
+ height="87"
+ id="rect3309"
+ style="opacity:0.80000000000000004;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:0;filter:url(#filter4828)" /><rect
+ x="0.5"
+ y="0.5"
+ stroke-miterlimit="10"
+ width="122"
+ height="87"
+ id="rect3311"
+ style="fill:#000000;stroke:#ffffff;stroke-miterlimit:10;fill-opacity:1;opacity:0.80000000000000004;stroke-opacity:1;filter:url(#filter4814)" /><g
+ style="opacity:0.75"
+ id="g3323"
+ mask="url(#SVGID_2_)"><rect
+ style="opacity:0.8;fill:#53b5ce"
+ id="rect3325"
+ height="87"
+ width="122"
+ y="0.5"
+ x="0.5" /><rect
+ style="fill:none;stroke:#53b5ce;stroke-miterlimit:10"
+ id="rect3327"
+ height="87"
+ width="122"
+ stroke-miterlimit="10"
+ y="0.5"
+ x="0.5" /></g><g
+ id="g3329"><g
+ id="g3331"><g
+ id="g3333"><circle
+ fill="#FFFFFF"
+ cx="90.861"
+ cy="26.944"
+ r="8.235"
+ id="circle3335" /></g><g
+ id="g3337"><path
+ fill="#FFFFFF"
+ d="M93.139,38.373l-1.035-0.57c-2.859-1.577-6.457-0.535-8.035,2.323l-6.644,12.053l-13.157-4.313 c-3.01-0.986-6.572,0.181-9.143,3.181l0.004,0.002c-0.451,0.41-0.877,0.874-1.263,1.396L42.973,67.186 c-1.68,2.271-1.606,5.141,0.098,6.486l0.617,0.486c1.707,1.349,4.513,0.756,6.334-1.401l11.504-13.622l15.162,5.822 c1.318,0.507,2.729,0.665,4.067,0.525c2.313,0.265,4.661-0.854,5.854-3.021l8.853-16.056 C97.039,43.548,95.999,39.951,93.139,38.373z"
+ id="path3339" /></g></g></g><polygon
+ fill="#FFFFFF"
+ points="33,49.11 50.699,34.85 33,20.59 33,27 17,27 17,42 33,42 "
+ id="polygon3341" /><g
+ display="none"
+ id="g3343"><g
+ display="inline"
+ id="g3345"><g
+ display="none"
+ id="g3347"><circle
+ display="inline"
+ fill="#31ABFF"
+ cx="113.861"
+ cy="789.944"
+ r="8.235"
+ id="circle3349" /></g><g
+ display="none"
+ id="g3351"><path
+ display="inline"
+ fill="#31ABFF"
+ d="M116.139,801.373l-1.035-0.57c-2.859-1.577-6.457-0.535-8.035,2.323l-6.644,12.053 l-13.157-4.313c-3.01-0.986-6.572,0.181-9.143,3.181l0.004,0.002c-0.451,0.41-0.877,0.874-1.263,1.396l-10.894,14.741 c-1.68,2.271-1.606,5.141,0.098,6.486l0.617,0.486c1.707,1.349,4.513,0.756,6.334-1.401l11.504-13.622l15.162,5.822 c1.318,0.507,2.729,0.665,4.067,0.525c2.313,0.265,4.661-0.854,5.854-3.021l8.853-16.056 C120.039,806.548,118.999,802.951,116.139,801.373z"
+ id="path3353" /></g></g></g><polygon
+ display="none"
+ fill="#31ABFF"
+ points="56,812.11 73.699,797.85 56,783.59 56,790 40,790 40,805 56,805 "
+ id="polygon3355" /><rect
+ x="0.57227302"
+ y="0.86626279"
+ stroke-miterlimit="10"
+ width="122"
+ height="87"
+ id="rect3311-4"
+ style="opacity:0.80000000000000004;fill:none;fill-opacity:1;stroke:#ffffff;stroke-miterlimit:10;stroke-opacity:1;" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC_org/images/fan_dir_up_off.png b/sample-qml/apps/HVAC_org/images/fan_dir_up_off.png
new file mode 100644
index 0000000..0a0536e
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_dir_up_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/fan_dir_up_off.svg b/sample-qml/apps/HVAC_org/images/fan_dir_up_off.svg
new file mode 100644
index 0000000..a89f804
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_dir_up_off.svg
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="123px" height="88px" viewBox="0 0 123 88" enable-background="new 0 0 123 88" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-342" y1="-996" x2="-342.0004" y2="-96.8916" gradientTransform="matrix(1 0 0 -1 702 -50)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<rect x="24" y="876.898" display="none" fill="#31ABFF" fill-opacity="0.29" stroke="#31ABFF" stroke-width="0.8902" stroke-miterlimit="10" stroke-opacity="0.64" width="122" height="86.563"/>
+<rect x="0.5" y="0.719" fill-opacity="0.29" stroke="#B2F0FF" stroke-width="0.8902" stroke-miterlimit="10" stroke-opacity="0.64" width="122" height="86.563"/>
+<g>
+ <g>
+ <g>
+ <circle fill="#B2F0FF" cx="90.361" cy="25.457" r="8.235"/>
+ </g>
+ <g>
+ <path fill="#B2F0FF" d="M92.639,36.886l-1.035-0.57c-2.858-1.577-6.457-0.536-8.035,2.323l-6.644,12.052l-13.157-4.314
+ c-3.01-0.984-6.572,0.184-9.143,3.184l0.004,0.002c-0.451,0.41-0.877,0.873-1.263,1.396L42.473,65.699
+ c-1.68,2.271-1.606,5.139,0.098,6.486l0.617,0.483c1.707,1.351,4.513,0.758,6.334-1.399l11.504-13.621l15.162,5.821
+ c1.318,0.507,2.729,0.664,4.067,0.523c2.313,0.266,4.661-0.854,5.854-3.021l8.853-16.057
+ C96.539,42.061,95.499,38.464,92.639,36.886z"/>
+ </g>
+ </g>
+</g>
+<polygon fill="#B2F0FF" points="47.238,34.82 32.978,17.121 18.718,34.82 25.5,34.82 25.5,50.82 40.5,50.82 40.5,34.82 "/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-617.5" y1="-927.6396" x2="-617.5" y2="-1012.9438" gradientTransform="matrix(1 0 0 -1 702 -50)">
+ <stop offset="0.5092" style="stop-color:#31ABFF;stop-opacity:0"/>
+ <stop offset="0.9018" style="stop-color:#31ABFF"/>
+ <stop offset="1" style="stop-color:#63E6FF"/>
+</linearGradient>
+<rect x="23.5" y="876.5" display="none" fill="url(#SVGID_2_)" stroke="#31ABFF" stroke-miterlimit="10" width="122" height="87"/>
+<g display="none">
+ <g display="inline">
+ <g>
+ <circle fill="#FFFFFF" cx="113.861" cy="901.636" r="8.235"/>
+ </g>
+ <g>
+ <path fill="#FFFFFF" d="M116.139,913.065l-1.035-0.57c-2.858-1.577-6.457-0.536-8.035,2.323l-6.644,12.053l-13.157-4.315
+ c-3.01-0.983-6.572,0.184-9.143,3.184l0.004,0.002c-0.451,0.41-0.877,0.873-1.263,1.396L65.973,941.88
+ c-1.681,2.271-1.606,5.139,0.098,6.486l0.617,0.483c1.707,1.352,4.513,0.759,6.334-1.398l11.504-13.622l15.162,5.822
+ c1.317,0.507,2.729,0.664,4.066,0.522c2.313,0.267,4.661-0.854,5.854-3.02l8.854-16.058
+ C120.039,918.24,118.999,914.644,116.139,913.065z"/>
+ </g>
+ </g>
+</g>
+<polygon display="none" fill="#FFFFFF" points="70.738,911 56.478,893.301 42.218,911 49,911 49,927 64,927 64,911 "/>
+<g display="none">
+ <g display="inline">
+ <g display="none">
+ <circle display="inline" fill="#31ABFF" cx="113.861" cy="901.636" r="8.235"/>
+ </g>
+ <g display="none">
+ <path display="inline" fill="#31ABFF" d="M116.139,913.065l-1.035-0.57c-2.858-1.577-6.457-0.536-8.035,2.323l-6.644,12.053
+ l-13.157-4.315c-3.01-0.983-6.572,0.184-9.143,3.184l0.004,0.002c-0.451,0.41-0.877,0.873-1.263,1.396L65.973,941.88
+ c-1.681,2.271-1.606,5.139,0.098,6.486l0.617,0.483c1.707,1.352,4.513,0.759,6.334-1.398l11.504-13.622l15.162,5.822
+ c1.317,0.507,2.729,0.664,4.066,0.522c2.313,0.267,4.661-0.854,5.854-3.02l8.854-16.058
+ C120.039,918.24,118.999,914.644,116.139,913.065z"/>
+ </g>
+ </g>
+</g>
+<polygon display="none" fill="#31ABFF" points="70.738,911 56.478,893.301 42.218,911 49,911 49,927 64,927 64,911 "/>
+</svg>
diff --git a/sample-qml/apps/HVAC_org/images/fan_dir_up_on.png b/sample-qml/apps/HVAC_org/images/fan_dir_up_on.png
new file mode 100644
index 0000000..6c64b82
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_dir_up_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/fan_dir_up_on.svg b/sample-qml/apps/HVAC_org/images/fan_dir_up_on.svg
new file mode 100644
index 0000000..e17278b
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_dir_up_on.svg
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="123px"
+ height="88px"
+ viewBox="0 0 123 88"
+ enable-background="new 0 0 123 88"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="fan_dir_up_off.svg"><metadata
+ id="metadata69"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs67"><filter
+ id="filter3814"
+ inkscape:label="filter3814"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur3816"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite3818"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3820"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3822"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend3824"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite3826"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter><filter
+ id="filter3814-9"
+ inkscape:label="filter3814"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur3816-2"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite3818-0"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3820-7"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3822-0"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(83,181,206)" /><feBlend
+ id="feBlend3824-4"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite3826-2"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1725"
+ inkscape:window-height="868"
+ id="namedview65"
+ showgrid="false"
+ inkscape:zoom="4.7479675"
+ inkscape:cx="44.992291"
+ inkscape:cy="47.049892"
+ inkscape:window-x="75"
+ inkscape:window-y="34"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="-342"
+ y1="-996"
+ x2="-342.0004"
+ y2="-96.8916"
+ gradientTransform="matrix(1 0 0 -1 702 -50)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><rect
+ x="24"
+ y="876.898"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="122"
+ height="86.563"
+ id="rect10" /><rect
+ x="0.5"
+ y="0.719"
+ stroke-miterlimit="10"
+ width="122"
+ height="86.563"
+ id="rect12"
+ style="fill:#000000;fill-opacity:1;opacity:0.80000000000000004;stroke:#ffffff;stroke-opacity:1;filter:url(#filter3814)"
+ stroke-opacity="0.64"
+ stroke-width="0.8902"
+ stroke="#B2F0FF"
+ fill-opacity="0.29" /><g
+ id="g14"
+ style="fill:#ffffff;fill-opacity:1"><g
+ id="g16"
+ style="fill:#ffffff;fill-opacity:1"><g
+ id="g18"
+ style="fill:#ffffff;fill-opacity:1"><circle
+ fill="#B2F0FF"
+ cx="90.361"
+ cy="25.457"
+ r="8.235"
+ id="circle20"
+ style="fill:#ffffff;fill-opacity:1" /></g><g
+ id="g22"
+ style="fill:#ffffff;fill-opacity:1"><path
+ fill="#B2F0FF"
+ d="M92.639,36.886l-1.035-0.57c-2.858-1.577-6.457-0.536-8.035,2.323l-6.644,12.052l-13.157-4.314 c-3.01-0.984-6.572,0.184-9.143,3.184l0.004,0.002c-0.451,0.41-0.877,0.873-1.263,1.396L42.473,65.699 c-1.68,2.271-1.606,5.139,0.098,6.486l0.617,0.483c1.707,1.351,4.513,0.758,6.334-1.399l11.504-13.621l15.162,5.821 c1.318,0.507,2.729,0.664,4.067,0.523c2.313,0.266,4.661-0.854,5.854-3.021l8.853-16.057 C96.539,42.061,95.499,38.464,92.639,36.886z"
+ id="path24"
+ style="fill:#ffffff;fill-opacity:1" /></g></g></g><polygon
+ fill="#B2F0FF"
+ points="47.238,34.82 32.978,17.121 18.718,34.82 25.5,34.82 25.5,50.82 40.5,50.82 40.5,34.82 "
+ id="polygon26"
+ style="fill:#ffffff;fill-opacity:1" /><linearGradient
+ id="SVGID_2_"
+ gradientUnits="userSpaceOnUse"
+ x1="-617.5"
+ y1="-927.6396"
+ x2="-617.5"
+ y2="-1012.9438"
+ gradientTransform="matrix(1 0 0 -1 702 -50)"><stop
+ offset="0.5092"
+ style="stop-color:#31ABFF;stop-opacity:0"
+ id="stop29" /><stop
+ offset="0.9018"
+ style="stop-color:#31ABFF"
+ id="stop31" /><stop
+ offset="1"
+ style="stop-color:#63E6FF"
+ id="stop33" /></linearGradient><rect
+ x="23.5"
+ y="876.5"
+ display="none"
+ fill="url(#SVGID_2_)"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ width="122"
+ height="87"
+ id="rect35" /><g
+ display="none"
+ id="g37"><g
+ display="inline"
+ id="g39"><g
+ id="g41"><circle
+ fill="#FFFFFF"
+ cx="113.861"
+ cy="901.636"
+ r="8.235"
+ id="circle43" /></g><g
+ id="g45"><path
+ fill="#FFFFFF"
+ d="M116.139,913.065l-1.035-0.57c-2.858-1.577-6.457-0.536-8.035,2.323l-6.644,12.053l-13.157-4.315 c-3.01-0.983-6.572,0.184-9.143,3.184l0.004,0.002c-0.451,0.41-0.877,0.873-1.263,1.396L65.973,941.88 c-1.681,2.271-1.606,5.139,0.098,6.486l0.617,0.483c1.707,1.352,4.513,0.759,6.334-1.398l11.504-13.622l15.162,5.822 c1.317,0.507,2.729,0.664,4.066,0.522c2.313,0.267,4.661-0.854,5.854-3.02l8.854-16.058 C120.039,918.24,118.999,914.644,116.139,913.065z"
+ id="path47" /></g></g></g><polygon
+ display="none"
+ fill="#FFFFFF"
+ points="70.738,911 56.478,893.301 42.218,911 49,911 49,927 64,927 64,911 "
+ id="polygon49" /><g
+ display="none"
+ id="g51"><g
+ display="inline"
+ id="g53"><g
+ display="none"
+ id="g55"><circle
+ display="inline"
+ fill="#31ABFF"
+ cx="113.861"
+ cy="901.636"
+ r="8.235"
+ id="circle57" /></g><g
+ display="none"
+ id="g59"><path
+ display="inline"
+ fill="#31ABFF"
+ d="M116.139,913.065l-1.035-0.57c-2.858-1.577-6.457-0.536-8.035,2.323l-6.644,12.053 l-13.157-4.315c-3.01-0.983-6.572,0.184-9.143,3.184l0.004,0.002c-0.451,0.41-0.877,0.873-1.263,1.396L65.973,941.88 c-1.681,2.271-1.606,5.139,0.098,6.486l0.617,0.483c1.707,1.352,4.513,0.759,6.334-1.398l11.504-13.622l15.162,5.822 c1.317,0.507,2.729,0.664,4.066,0.522c2.313,0.267,4.661-0.854,5.854-3.02l8.854-16.058 C120.039,918.24,118.999,914.644,116.139,913.065z"
+ id="path61" /></g></g></g><polygon
+ display="none"
+ fill="#31ABFF"
+ points="70.738,911 56.478,893.301 42.218,911 49,911 49,927 64,927 64,911 "
+ id="polygon63" /><rect
+ x="0.81678134"
+ y="0.8058303"
+ stroke-miterlimit="10"
+ width="122"
+ height="86.563004"
+ id="rect12-6"
+ style="opacity:0.8;fill:none;stroke:#ffffff;stroke-width:0.89020002;stroke-miterlimit:10;stroke-opacity:1" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC_org/images/fan_icon_off.png b/sample-qml/apps/HVAC_org/images/fan_icon_off.png
new file mode 100644
index 0000000..5a1bf00
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/fan_icon_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/hazard_blink.png b/sample-qml/apps/HVAC_org/images/hazard_blink.png
new file mode 100644
index 0000000..a58ac33
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/hazard_blink.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/hazard_blink.svg b/sample-qml/apps/HVAC_org/images/hazard_blink.svg
new file mode 100644
index 0000000..983c8e1
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/hazard_blink.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="416px" height="81px" viewBox="0 0 416 81" enable-background="new 0 0 416 81" xml:space="preserve">
+<rect x="152.053" y="17.5" display="none" fill="#31ABFF" fill-opacity="0.29" stroke="#31ABFF" stroke-width="0.6866" stroke-miterlimit="10" stroke-opacity="0.64" width="415.947" height="79.5"/>
+<g>
+ <rect x="0.5" y="0.5" fill-opacity="0.8" stroke="#FFFFFF" stroke-miterlimit="10" width="415" height="80"/>
+ <path fill="none" stroke="#FE9C00" stroke-width="6" stroke-miterlimit="10" d="M236.906,70h-57.737
+ c-1.891,0-3.421-1.535-4.2-2.883s-0.683-3.441,0.265-5.079l28.867-50.193c0.945-1.638,2.381-2.671,3.938-2.671
+ c1.557,0,2.992,0.892,3.937,2.529l28.869,49.979c0.945,1.637,1.041,4.101,0.265,5.446C240.327,68.479,238.798,70,236.906,70z"/>
+ <polygon fill="none" stroke="#FE9C00" stroke-width="6" stroke-miterlimit="10" points="186.375,61 207.958,23.616 229.541,61 "/>
+</g>
+</svg>
diff --git a/sample-qml/apps/HVAC_org/images/hazard_off.png b/sample-qml/apps/HVAC_org/images/hazard_off.png
new file mode 100644
index 0000000..c261e13
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/hazard_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/hazard_off.svg b/sample-qml/apps/HVAC_org/images/hazard_off.svg
new file mode 100644
index 0000000..e9ad198
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/hazard_off.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="416px" height="81px" viewBox="0 0 416 81" enable-background="new 0 0 416 81" xml:space="preserve">
+<g>
+
+ <rect x="0.026" y="0.75" fill-opacity="0.29" stroke="#B2F0FF" stroke-width="0.6866" stroke-miterlimit="10" stroke-opacity="0.64" width="415.947" height="79.5"/>
+ <path fill="none" stroke="#B2F0FF" stroke-width="6" stroke-miterlimit="10" d="M236.88,70.25h-57.737
+ c-1.891,0-3.421-1.535-4.2-2.883s-0.683-3.441,0.265-5.079l28.867-50.193c0.945-1.638,2.381-2.671,3.938-2.671
+ c1.557,0,2.992,0.892,3.937,2.529l28.869,49.979c0.945,1.637,1.041,4.101,0.265,5.446C240.301,68.729,238.771,70.25,236.88,70.25z"
+ />
+ <polygon fill="none" stroke="#B2F0FF" stroke-width="6" stroke-miterlimit="10" points="186.349,61.25 207.932,23.866
+ 229.515,61.25 "/>
+</g>
+<g>
+ <g>
+ <defs>
+ <rect id="SVGID_1_" x="280.783" y="949.047" width="517.319" height="21.96"/>
+ </defs>
+ <clipPath id="SVGID_2_">
+ <use xlink:href="#SVGID_1_" overflow="visible"/>
+ </clipPath>
+ <g clip-path="url(#SVGID_2_)">
+ <text transform="matrix(1 0 0 1 280.7813 957.2031)"><tspan x="0" y="0" font-family="'Arial-BoldMT'" font-size="9">53</tspan><tspan x="10.064" y="0" font-family="'Arial-BoldMT'" font-size="9">b</tspan><tspan x="15.58" y="0" font-family="'Arial-BoldMT'" font-size="9">5</tspan><tspan x="20.613" y="0" font-family="'Arial-BoldMT'" font-size="9">c</tspan><tspan x="25.537" y="0" font-family="'Arial-BoldMT'" font-size="9">e</tspan></text>
+ </g>
+ </g>
+ <g>
+ <defs>
+ <rect id="SVGID_3_" x="280.783" y="949.047" width="517.319" height="21.96"/>
+ </defs>
+ <clipPath id="SVGID_4_">
+ <use xlink:href="#SVGID_3_" overflow="visible"/>
+ </clipPath>
+ <g clip-path="url(#SVGID_4_)">
+ <text transform="matrix(1 0 0 1 311.2734 957.2188)" font-family="'Calibri'" font-size="9.96"> </text>
+ </g>
+ </g>
+</g>
+</svg>
diff --git a/sample-qml/apps/HVAC_org/images/hazard_on.png b/sample-qml/apps/HVAC_org/images/hazard_on.png
new file mode 100644
index 0000000..c6a6790
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/hazard_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/hazard_on.svg b/sample-qml/apps/HVAC_org/images/hazard_on.svg
new file mode 100644
index 0000000..f2ba8e0
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/hazard_on.svg
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="416px"
+ height="81px"
+ viewBox="0 0 416 81"
+ enable-background="new 0 0 416 81"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="hazard_on.svg"><metadata
+ id="metadata3476"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs3474"><defs
+ id="defs3452"><filter
+ id="Adobe_OpacityMaskFilter"
+ filterUnits="userSpaceOnUse"
+ x="1"
+ y="1"
+ width="415"
+ height="80"
+ color-interpolation-filters="sRGB"><feColorMatrix
+ type="matrix"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"
+ color-interpolation-filters="sRGB"
+ result="source"
+ id="feColorMatrix3455" /></filter></defs><filter
+ id="filter7619"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur7621"
+ stdDeviation="12"
+ result="result8" /><feComposite
+ id="feComposite7623"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite7625"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood7627"
+ result="result10"
+ flood-opacity="1"
+ flood-color="rgb(254,156,0)" /><feBlend
+ id="feBlend7629"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite7631"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter><filter
+ id="filter7633"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ id="feGaussianBlur7635"
+ stdDeviation="10"
+ result="result8" /><feComposite
+ id="feComposite7637"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite7639"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood7641"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(255,222,85)" /><feBlend
+ id="feBlend7643"
+ in2="result10"
+ mode="normal"
+ in="result11"
+ result="result12" /><feComposite
+ id="feComposite7645"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="927"
+ inkscape:window-height="1388"
+ id="namedview3472"
+ showgrid="false"
+ inkscape:zoom="0.70192308"
+ inkscape:cx="208.00001"
+ inkscape:cy="40.5"
+ inkscape:window-x="334"
+ inkscape:window-y="24"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><rect
+ x="152.053"
+ y="17.5"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.6866"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="415.947"
+ height="79.5"
+ id="rect3444" /><rect
+ style="opacity:0.80000000000000004;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:1;filter:url(#filter7619)"
+ x="1"
+ y="1"
+ width="415"
+ height="80"
+ id="rect3450" /><rect
+ x="1"
+ y="1"
+ mask="url(#SVGID_1_)"
+ width="415"
+ height="80"
+ id="rect3462"
+ style="opacity:0.80000000000000004;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:0;filter:url(#filter7619)" /><rect
+ style="fill:none;stroke:#ffffff;stroke-miterlimit:10"
+ id="rect3464"
+ height="80"
+ width="415"
+ stroke-miterlimit="10"
+ y="1"
+ x="1" /><rect
+ x="1"
+ y="1"
+ fill="none"
+ stroke="#FFFFFF"
+ stroke-miterlimit="10"
+ width="415"
+ height="80"
+ id="rect3466" /><path
+ fill="none"
+ stroke="#FFFFFF"
+ stroke-width="6"
+ stroke-miterlimit="10"
+ d="M237.406,70.5h-57.737 c-1.891,0-3.421-1.535-4.2-2.883s-0.683-3.441,0.265-5.079l28.867-50.193c0.945-1.638,2.381-2.671,3.938-2.671 c1.557,0,2.992,0.892,3.937,2.529l28.869,49.979c0.945,1.637,1.041,4.101,0.265,5.446C240.827,68.979,239.298,70.5,237.406,70.5z"
+ id="path3468" /><polygon
+ fill="none"
+ stroke="#FFFFFF"
+ stroke-width="6"
+ stroke-miterlimit="10"
+ points="186.875,61.5 208.458,24.116 230.041,61.5 "
+ id="polygon3470" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC_org/images/left_heat_seat_off.png b/sample-qml/apps/HVAC_org/images/left_heat_seat_off.png
new file mode 100644
index 0000000..e9b9977
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/left_heat_seat_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/left_heat_seat_off.svg b/sample-qml/apps/HVAC_org/images/left_heat_seat_off.svg
new file mode 100644
index 0000000..5823221
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/left_heat_seat_off.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="159px" height="129px" viewBox="0 0 159 129" enable-background="new 0 0 159 129" xml:space="preserve">
+<rect x="0.522" y="0.733" opacity="0.8" fill-opacity="0.29" stroke="#B2F0FF" stroke-miterlimit="10" stroke-opacity="0.64" enable-background="new " width="157.957" height="127.535"/>
+<path fill="#53B5CE" fill-opacity="0.29" stroke="#B2F0FF" stroke-width="0.8243" stroke-miterlimit="10" stroke-opacity="0.64" d="
+ M63.616,80.979l-51.053-3.021c-3.593-0.146-5.474,3.104-4.104,7.17l2.857,10.824c1.527,4.528,5.986,9.041,9.908,9.041h62.59
+ c5.252,0,6.744-6.563,6.744-11.152c-0.119-25.828,4.733-52.385,14.563-78.247c0.953-2.52-0.951-5.045-4.299-5.7
+ c-1.814-0.356-3.633-0.713-5.449-1.069c-3.336-0.654-7.049,0.768-8.258,3.236C76.077,34.622,68.843,55.84,65.418,78.618
+ C65.419,78.613,64.755,81.047,63.616,80.979z"/>
+<path fill="#B2F0FF" d="M30.449,123.025c-18.859,0,15.646,0-3.215,0c10.184-23-10.184-45,0-67c18.859,0-15.645,0,3.215,0
+ C20.265,78.025,40.632,100.025,30.449,123.025z"/>
+<polygon fill="#B2F0FF" points="22.459,56.313 29.96,48.476 32.997,58.891 "/>
+<path fill="#B2F0FF" d="M43.308,123.025c-18.86,0,15.646,0-3.215,0c10.184-23-10.186-45,0-67c18.858,0-15.646,0,3.215,0
+ C33.124,78.025,53.492,100.025,43.308,123.025z"/>
+<polygon fill="#B2F0FF" points="35.319,56.313 42.82,48.476 45.856,58.891 "/>
+<path fill="#B2F0FF" d="M56.808,123.025c-18.858,0,15.646,0-3.213,0c10.184-23-10.186-45,0-67c18.858,0-15.646,0,3.213,0
+ C46.625,78.025,66.994,100.025,56.808,123.025z"/>
+<polygon fill="#B2F0FF" points="48.821,56.313 56.322,48.476 59.358,58.891 "/>
+<path opacity="0.29" stroke="#FE9C00" stroke-miterlimit="10" enable-background="new " d="M150.949,44.025v-22H110.51
+ c-2.568,7-4.732,14-6.518,22H150.949z"/>
+<path opacity="0.29" stroke="#FE9C00" stroke-miterlimit="10" enable-background="new " d="M150.949,69.025v-21h-47.871
+ c-1.629,7-2.879,14-3.729,21H150.949z"/>
+<path opacity="0.29" stroke="#FE9C00" stroke-miterlimit="10" enable-background="new " d="M97.936,95.025h53.017v-22H98.939
+ c-0.67,7-1.002,13.871-0.973,20.758C97.969,94.18,97.951,95.025,97.936,95.025z"/>
+</svg>
diff --git a/sample-qml/apps/HVAC_org/images/left_heat_seat_on.png b/sample-qml/apps/HVAC_org/images/left_heat_seat_on.png
new file mode 100644
index 0000000..65cc992
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/left_heat_seat_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/left_heat_seat_on.svg b/sample-qml/apps/HVAC_org/images/left_heat_seat_on.svg
new file mode 100644
index 0000000..4cd0841
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/left_heat_seat_on.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="159px"
+ height="129px"
+ viewBox="0 0 159 129"
+ enable-background="new 0 0 159 129"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="left_heat_seat_on.svg"><metadata
+ id="metadata29"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs27" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1186"
+ inkscape:window-height="735"
+ id="namedview25"
+ showgrid="false"
+ inkscape:zoom="1.8294574"
+ inkscape:cx="-16.703388"
+ inkscape:cy="64.500002"
+ inkscape:window-x="399"
+ inkscape:window-y="127"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><path
+ opacity="0.29"
+ stroke="#FE9C00"
+ stroke-miterlimit="10"
+ enable-background="new "
+ d="M150.949,44.025v-22H110.51 c-2.568,7-4.732,14-6.518,22H150.949z"
+ id="path19"
+ style="fill:#fe9c00;fill-opacity:1;stroke:#ffd38c;stroke-opacity:1;opacity:0.8" /><path
+ opacity="0.29"
+ stroke="#FE9C00"
+ stroke-miterlimit="10"
+ enable-background="new "
+ d="M150.949,69.025v-21h-47.871 c-1.629,7-2.879,14-3.729,21H150.949z"
+ id="path21"
+ style="fill:#fe9c00;fill-opacity:1;stroke:#ffd38c;stroke-opacity:1;opacity:0.8" /><path
+ opacity="0.29"
+ stroke="#FE9C00"
+ stroke-miterlimit="10"
+ enable-background="new "
+ d="M97.936,95.025h53.017v-22H98.939 c-0.67,7-1.002,13.871-0.973,20.758C97.969,94.18,97.951,95.025,97.936,95.025z"
+ id="path23"
+ style="fill:#fe9c00;fill-opacity:1;stroke:#ffd38c;stroke-opacity:1;opacity:0.8" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC_org/images/left_number_bg.svg b/sample-qml/apps/HVAC_org/images/left_number_bg.svg
new file mode 100644
index 0000000..cdba6d5
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/left_number_bg.svg
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="158px" height="231px" viewBox="0 0 158 231" enable-background="new 0 0 158 231" xml:space="preserve">
+<polygon fill-opacity="0.8" points="158,89.703 158,0 0.436,0 0.436,231.668 158,231.668 158,141.186 132.26,115.444 "/>
+<g display="none">
+ <g display="inline">
+ <g>
+ <defs>
+ <rect id="SVGID_1_" x="152" y="346" width="158" height="232"/>
+ </defs>
+ <clipPath id="SVGID_2_">
+ <use xlink:href="#SVGID_1_" overflow="visible"/>
+ </clipPath>
+ <g clip-path="url(#SVGID_2_)">
+ <text transform="matrix(1 0 0 1 160.3643 784.9795)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">20°</text>
+ <text transform="matrix(1 0 0 1 160.3643 888.7236)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">21°</text>
+ <text transform="matrix(1 0 0 1 160.3643 689.0361)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">19°</text>
+ <text transform="matrix(1 0 0 1 160.3643 591.3809)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">18°</text>
+ <text transform="matrix(1 0 0 1 160.3643 496.998)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">17°</text>
+ <text transform="matrix(1 0 0 1 160.3643 403.3945)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">16°</text>
+ </g>
+ </g>
+ </g>
+</g>
+<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-237.0005" y1="909.6602" x2="-237.0005" y2="1134.0173" gradientTransform="matrix(1 0 0 1 468 -560)">
+ <stop offset="0" style="stop-color:#2175AD"/>
+ <stop offset="0.2822" style="stop-color:#2175AD;stop-opacity:0"/>
+ <stop offset="0.7055" style="stop-color:#2175AD;stop-opacity:0"/>
+ <stop offset="1" style="stop-color:#2175AD"/>
+</linearGradient>
+<polygon display="none" fill="url(#SVGID_3_)" stroke="#31ABFF" stroke-miterlimit="10" points="309.5,435.516 309.5,345.5
+ 152.5,345.5 152.5,577.5 309.5,577.5 309.5,486.998 283.759,461.257 "/>
+</svg>
diff --git a/sample-qml/apps/HVAC_org/images/left_number_cover.svg b/sample-qml/apps/HVAC_org/images/left_number_cover.svg
new file mode 100644
index 0000000..6bcfc16
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/left_number_cover.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="158px" height="233px" viewBox="0 0 158 233" enable-background="new 0 0 158 233" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-107.9995" y1="1503.999" x2="-107.9997" y2="604.89" gradientTransform="matrix(1 0 0 1 468 -558)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-388.5005" y1="563.1602" x2="-388.5005" y2="787.5173" gradientTransform="matrix(1 0 0 1 468 -558)">
+ <stop offset="0" style="stop-color:#53B5CE"/>
+ <stop offset="0.2822" style="stop-color:#53B5CE;stop-opacity:0"/>
+ <stop offset="0.7055" style="stop-color:#53B5CE;stop-opacity:0"/>
+ <stop offset="1" style="stop-color:#53B5CE"/>
+</linearGradient>
+<polygon fill="url(#SVGID_2_)" stroke="#B2F0FF" stroke-miterlimit="10" points="158,91.016 158,1 1,1 1,233 158,233 158,142.498
+ 132.259,116.757 "/>
+</svg>
diff --git a/sample-qml/apps/HVAC_org/images/right_heat_seat_off.png b/sample-qml/apps/HVAC_org/images/right_heat_seat_off.png
new file mode 100644
index 0000000..d44e5f8
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/right_heat_seat_off.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/right_heat_seat_off.svg b/sample-qml/apps/HVAC_org/images/right_heat_seat_off.svg
new file mode 100644
index 0000000..a260e8a
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/right_heat_seat_off.svg
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="159px" height="129px" viewBox="0 0 159 129" enable-background="new 0 0 159 129" xml:space="preserve">
+<g display="none">
+ <g display="inline">
+ <g>
+ <g>
+ <g>
+ <g>
+ <defs>
+ <rect id="SVGID_1_" x="410" y="346" width="158" height="232"/>
+ </defs>
+ <clipPath id="SVGID_2_">
+ <use xlink:href="#SVGID_1_" overflow="visible"/>
+ </clipPath>
+ <g clip-path="url(#SVGID_2_)">
+ <text transform="matrix(1 0 0 1 427.5938 489.4902)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">20°</text>
+ <text transform="matrix(1 0 0 1 427.5938 593.2334)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">21°</text>
+ <text transform="matrix(1 0 0 1 427.5938 393.5469)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">19°</text>
+ <text transform="matrix(1 0 0 1 427.5938 295.8906)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">18°</text>
+ <text transform="matrix(1 0 0 1 427.5938 201.5078)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">17°</text>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</g>
+<rect x="0.522" y="0.733" fill-opacity="0.29" stroke="#B2F0FF" stroke-miterlimit="10" stroke-opacity="0.64" width="157.955" height="127.535"/>
+<path fill="#53B5CE" fill-opacity="0.29" stroke="#B2F0FF" stroke-width="0.8243" stroke-miterlimit="10" stroke-opacity="0.64" d="
+ M95.384,80.979l51.054-3.021c3.598-0.146,5.479,3.104,4.104,7.17l-2.858,10.824c-1.522,4.528-5.98,9.041-9.908,9.041H75.187
+ c-5.254,0-6.745-6.563-6.745-11.152c0.12-25.828-4.733-52.385-14.563-78.247c-0.953-2.52,0.953-5.045,4.299-5.7
+ c1.817-0.356,3.634-0.713,5.448-1.069c3.337-0.654,7.051,0.768,8.26,3.236c11.037,22.562,18.271,43.78,21.695,66.558
+ C93.58,78.613,94.244,81.047,95.384,80.979z"/>
+<path fill="#B2F0FF" d="M128.551,123.025c18.86,0-15.645,0,3.215,0c-10.184-23,10.188-45,0-67c-18.854,0,15.646,0-3.215,0
+ C138.734,78.025,118.367,100.025,128.551,123.025z"/>
+<polygon fill="#B2F0FF" points="136.54,56.313 129.039,48.476 126.003,58.891 "/>
+<path fill="#B2F0FF" d="M115.691,123.025c18.857,0-15.646,0,3.217,0c-10.186-23,10.186-45,0-67c-18.86,0,15.646,0-3.217,0
+ C125.876,78.025,105.508,100.025,115.691,123.025z"/>
+<polygon fill="#B2F0FF" points="123.682,56.313 116.18,48.476 113.145,58.891 "/>
+<path fill="#B2F0FF" d="M102.189,123.025c18.858,0-15.646,0,3.215,0c-10.184-23,10.187-45,0-67c-18.857,0,15.646,0-3.215,0
+ C112.374,78.025,92.006,100.025,102.189,123.025z"/>
+<polygon fill="#B2F0FF" points="110.18,56.313 102.678,48.476 99.643,58.891 "/>
+<path opacity="0.29" stroke="#FE9C00" stroke-miterlimit="10" enable-background="new " d="M54.895,44.025
+ c-1.785-8-3.949-15-6.518-22H7.938v22H54.895z"/>
+<path opacity="0.29" stroke="#FE9C00" stroke-miterlimit="10" enable-background="new " d="M59.537,69.025
+ c-0.85-7-2.1-14-3.729-21H7.938v21H59.537z"/>
+<path opacity="0.29" stroke="#FE9C00" stroke-miterlimit="10" enable-background="new " d="M60.92,93.783
+ c0.029-6.887-0.303-13.758-0.973-20.758H7.935v22h53.017C60.936,95.025,60.918,94.18,60.92,93.783z"/>
+</svg>
diff --git a/sample-qml/apps/HVAC_org/images/right_heat_seat_on.png b/sample-qml/apps/HVAC_org/images/right_heat_seat_on.png
new file mode 100644
index 0000000..64f54c8
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/right_heat_seat_on.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/right_heat_seat_on.svg b/sample-qml/apps/HVAC_org/images/right_heat_seat_on.svg
new file mode 100644
index 0000000..893a546
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/right_heat_seat_on.svg
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="159px"
+ height="129px"
+ viewBox="0 0 159 129"
+ enable-background="new 0 0 159 129"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="right_heat_seat_on.svg"><metadata
+ id="metadata3063"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs3061" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="918"
+ inkscape:window-height="726"
+ id="namedview3059"
+ showgrid="false"
+ inkscape:zoom="1.8294574"
+ inkscape:cx="82.456483"
+ inkscape:cy="64.500003"
+ inkscape:window-x="983"
+ inkscape:window-y="182"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><g
+ display="none"
+ id="g3007"><g
+ display="inline"
+ id="g3009"><g
+ id="g3011"><g
+ id="g3013"><g
+ id="g3015"><g
+ id="g3017"><defs
+ id="defs3019"><rect
+ id="SVGID_1_"
+ x="410"
+ y="346"
+ width="158"
+ height="232" /></defs><clipPath
+ id="SVGID_2_"><use
+ xlink:href="#SVGID_1_"
+ overflow="visible"
+ id="use3023" /></clipPath><g
+ clip-path="url(#SVGID_2_)"
+ id="g3025"><text
+ transform="matrix(1 0 0 1 427.5938 489.4902)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3027">20°</text>
+<text
+ transform="matrix(1 0 0 1 427.5938 593.2334)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3029">21°</text>
+<text
+ transform="matrix(1 0 0 1 427.5938 393.5469)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3031">19°</text>
+<text
+ transform="matrix(1 0 0 1 427.5938 295.8906)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3033">18°</text>
+<text
+ transform="matrix(1 0 0 1 427.5938 201.5078)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text3035">17°</text>
+</g></g></g></g></g></g></g><path
+ opacity="0.29"
+ stroke="#FE9C00"
+ stroke-miterlimit="10"
+ enable-background="new "
+ d="M54.895,44.025 c-1.785-8-3.949-15-6.518-22H7.938v22H54.895z"
+ id="path3053"
+ style="fill:#fe9c00;fill-opacity:1;opacity:0.8;stroke:#ffd38c;stroke-opacity:1" /><path
+ opacity="0.29"
+ stroke="#FE9C00"
+ stroke-miterlimit="10"
+ enable-background="new "
+ d="M59.537,69.025 c-0.85-7-2.1-14-3.729-21H7.938v21H59.537z"
+ id="path3055"
+ style="fill:#fe9c00;fill-opacity:1;opacity:0.8;stroke:#ffd38c;stroke-opacity:1" /><path
+ opacity="0.29"
+ stroke="#FE9C00"
+ stroke-miterlimit="10"
+ enable-background="new "
+ d="M60.92,93.783 c0.029-6.887-0.303-13.758-0.973-20.758H7.935v22h53.017C60.936,95.025,60.918,94.18,60.92,93.783z"
+ id="path3057"
+ style="fill:#fe9c00;fill-opacity:1;opacity:0.8;stroke:#ffd38c;stroke-opacity:1" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC_org/images/right_number_bg.svg b/sample-qml/apps/HVAC_org/images/right_number_bg.svg
new file mode 100644
index 0000000..f9b7d71
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/right_number_bg.svg
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="159px" height="232px" viewBox="0 0 159 232" enable-background="new 0 0 159 232" xml:space="preserve">
+<polygon fill-opacity="0.8" points="0.717,89.869 0.717,0.166 158.283,0.166 158.283,231.834 0.717,231.834 0.717,141.352
+ 26.459,115.61 "/>
+<g display="none">
+ <g display="inline">
+ <g>
+ <g>
+ <defs>
+ <rect id="SVGID_1_" x="410" y="346" width="158" height="232"/>
+ </defs>
+ <clipPath id="SVGID_2_">
+ <use xlink:href="#SVGID_1_" overflow="visible"/>
+ </clipPath>
+ <g clip-path="url(#SVGID_2_)">
+ <text transform="matrix(1 0 0 1 427.5938 489.4902)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">20°</text>
+ <text transform="matrix(1 0 0 1 427.5938 593.2334)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">21°</text>
+ <text transform="matrix(1 0 0 1 427.5938 393.5469)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">19°</text>
+ <text transform="matrix(1 0 0 1 427.5938 295.8906)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">18°</text>
+ <text transform="matrix(1 0 0 1 427.5938 201.5078)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">17°</text>
+ </g>
+ </g>
+ </g>
+ </g>
+</g>
+<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-1828.5005" y1="-111.6597" x2="-1828.5005" y2="-336.0165" gradientTransform="matrix(-1 0 0 -1 -1339 238)">
+ <stop offset="0" style="stop-color:#2175AD"/>
+ <stop offset="0.2822" style="stop-color:#2175AD;stop-opacity:0"/>
+ <stop offset="0.7055" style="stop-color:#2175AD;stop-opacity:0"/>
+ <stop offset="1" style="stop-color:#2175AD"/>
+</linearGradient>
+<polygon display="none" fill="url(#SVGID_3_)" stroke="#31ABFF" stroke-miterlimit="10" points="410.5,435.516 410.5,345.5
+ 568.5,345.5 568.5,577.5 410.5,577.5 410.5,486.998 436.241,461.257 "/>
+</svg>
diff --git a/sample-qml/apps/HVAC_org/images/right_number_cover.svg b/sample-qml/apps/HVAC_org/images/right_number_cover.svg
new file mode 100644
index 0000000..370acd3
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/right_number_cover.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="159px" height="233px" viewBox="0 0 159 233" enable-background="new 0 0 159 233" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-107.9995" y1="1503.999" x2="-107.9997" y2="604.8902" gradientTransform="matrix(1 0 0 1 468 -558)">
+ <stop offset="0" style="stop-color:#041724"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect display="none" fill="url(#SVGID_1_)" width="720" height="1001"/>
+<polygon display="none" fill="#31ABFF" fill-opacity="0.29" stroke="#FFFFFF" stroke-width="1.3481" stroke-miterlimit="10" stroke-opacity="0.64" points="
+ 410.861,435.516 410.861,345.813 568.427,345.813 568.427,577.48 410.861,577.48 410.861,486.998 436.604,461.257 "/>
+<g display="none">
+ <g display="inline">
+ <g>
+ <defs>
+ <rect id="SVGID_2_" x="410" y="346" width="158" height="232"/>
+ </defs>
+ <clipPath id="SVGID_3_">
+ <use xlink:href="#SVGID_2_" overflow="visible"/>
+ </clipPath>
+ <g clip-path="url(#SVGID_3_)">
+ <text transform="matrix(1 0 0 1 427.5938 489.4902)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">20°</text>
+ <text transform="matrix(1 0 0 1 427.5938 593.2334)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">21°</text>
+ <text transform="matrix(1 0 0 1 427.5938 393.5469)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">19°</text>
+ <text transform="matrix(1 0 0 1 427.5938 295.8906)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">18°</text>
+ <text transform="matrix(1 0 0 1 427.5938 201.5078)" fill="#FFFFFF" font-family="'MyriadPro-Regular'" font-size="93.6032">17°</text>
+ </g>
+ </g>
+ </g>
+</g>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-732.5005" y1="562.6602" x2="-732.5005" y2="787.016" gradientTransform="matrix(-1 0 0 1 -653 -558)">
+ <stop offset="0" style="stop-color:#53B5CE"/>
+ <stop offset="0.2822" style="stop-color:#53B5CE;stop-opacity:0"/>
+ <stop offset="0.7055" style="stop-color:#53B5CE;stop-opacity:0"/>
+ <stop offset="1" style="stop-color:#53B5CE"/>
+</linearGradient>
+<polygon fill="url(#SVGID_4_)" stroke="#B2F0FF" stroke-miterlimit="10" points="0.5,90.516 0.5,0.5 158.5,0.5 158.5,232.5
+ 0.5,232.5 0.5,141.998 26.241,116.257 "/>
+</svg>
diff --git a/sample-qml/apps/HVAC_org/images/separator.png b/sample-qml/apps/HVAC_org/images/separator.png
new file mode 100644
index 0000000..920ea80
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/separator.png
Binary files differ
diff --git a/sample-qml/apps/HVAC_org/images/static_parts_bg.svg b/sample-qml/apps/HVAC_org/images/static_parts_bg.svg
new file mode 100644
index 0000000..f850fcb
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/static_parts_bg.svg
@@ -0,0 +1,1031 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="720px"
+ height="601px"
+ viewBox="0 0 720 601"
+ enable-background="new 0 0 720 601"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="static_parts_bg.svg"><metadata
+ id="metadata438"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs436" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1068"
+ inkscape:window-height="480"
+ id="namedview434"
+ showgrid="false"
+ inkscape:zoom="1.5707155"
+ inkscape:cx="86.949065"
+ inkscape:cy="-11.125082"
+ inkscape:window-x="639"
+ inkscape:window-y="324"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ showguides="true"
+ inkscape:guide-bbox="true"><sodipodi:guide
+ orientation="0,1"
+ position="620.09958,601"
+ id="guide3776" /><sodipodi:guide
+ orientation="0,1"
+ position="669.44015,597.18009"
+ id="guide3778" /></sodipodi:namedview><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="249.1294"
+ y1="220.0005"
+ x2="249.1293"
+ y2="1119.1094"
+ gradientTransform="matrix(1 0 0 -1 234 1166)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><path
+ d="m 383.38834,582.66088 h 157.53014 v -65.64949 c -9.10944,-0.78829 -69.02402,-7.00169 -157.53014,-7.42264 l -26.86507,-0.1465 c -47.51394,0 -75.23906,1.9968 -118.27077,3.4333 v 69.78533 h 118.6982 26.43764 z"
+ id="path46"
+ inkscape:connector-curvature="0"
+ style="fill:#53b5ce;opacity:1;fill-opacity:0.29019609" /><polyline
+ style="fill:#53b5ce;fill-opacity:0.28999998999999999;stroke:none;stroke-width:0.23190000999999999;stroke-miterlimit:10;stroke-opacity:0.63999998999999996"
+ transform="matrix(0.98240426,0,0,18.495948,637.45692,-8480.4544)"
+ id="polyline3791"
+ points=" 63,474.719 63,484.688 20,484.688 20,458.768 63,458.768 63,474.719 "
+ stroke-miterlimit="10" /><rect
+ x="123.129"
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><polygon
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#FFFFFF"
+ stroke-width="1.3481"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 533.991,435.516 533.991,345.813 691.556,345.813 691.556,577.48 533.991,577.48 533.991,486.998 559.732,461.257 "
+ id="polygon10" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M268.629,643.039V738.5h-122v-80.76C186.629,651.722,227.629,646.832,268.629,643.039z"
+ id="path12" /><polygon
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#FFFFFF"
+ stroke-width="1.3481"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 433.048,435.516 433.048,345.813 275.482,345.813 275.482,577.48 433.048,577.48 433.048,486.998 407.307,461.257 "
+ id="polygon14" /><g
+ display="none"
+ id="g16"><g
+ display="inline"
+ id="g18"><defs
+ id="defs20"><rect
+ id="SVGID_2_"
+ x="275.129"
+ y="346"
+ width="158"
+ height="232" /></defs><clipPath
+ id="SVGID_3_"><use
+ xlink:href="#SVGID_2_"
+ overflow="visible"
+ id="use24" /></clipPath><g
+ clip-path="url(#SVGID_3_)"
+ id="g26"><text
+ transform="matrix(1 0 0 1 283.4937 784.9795)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text28">20°</text>
+<text
+ transform="matrix(1 0 0 1 283.4937 888.7236)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text30">21°</text>
+<text
+ transform="matrix(1 0 0 1 283.4937 689.0361)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text32">19°</text>
+<text
+ transform="matrix(1 0 0 1 283.4937 591.3809)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text34">18°</text>
+<text
+ transform="matrix(1 0 0 1 283.4937 496.998)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text36">17°</text>
+<text
+ transform="matrix(1 0 0 1 283.4937 403.3945)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text38">16°</text>
+</g></g></g><line
+ display="none"
+ fill="none"
+ stroke="#00507F"
+ stroke-miterlimit="10"
+ x1="483.629"
+ y1="98"
+ x2="483.629"
+ y2="610"
+ id="line40" /><linearGradient
+ id="SVGID_4_"
+ gradientUnits="userSpaceOnUse"
+ x1="120.1284"
+ y1="816.3398"
+ x2="120.1284"
+ y2="591.9827"
+ gradientTransform="matrix(1 0 0 -1 234 1166)"><stop
+ offset="0"
+ style="stop-color:#2175AD"
+ id="stop43" /><stop
+ offset="0.2822"
+ style="stop-color:#2175AD;stop-opacity:0"
+ id="stop45" /><stop
+ offset="0.7055"
+ style="stop-color:#2175AD;stop-opacity:0"
+ id="stop47" /><stop
+ offset="1"
+ style="stop-color:#2175AD"
+ id="stop49" /></linearGradient><polygon
+ display="none"
+ fill="url(#SVGID_4_)"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ points="432.629,435.516 432.629,345.5 275.629,345.5 275.629,577.5 432.629,577.5 432.629,486.998 406.889,461.257 "
+ id="polygon51" /><g
+ display="none"
+ id="g53"><g
+ display="inline"
+ id="g55"><defs
+ id="defs57"><rect
+ id="SVGID_5_"
+ x="533.129"
+ y="346"
+ width="158"
+ height="232" /></defs><clipPath
+ id="SVGID_6_"><use
+ xlink:href="#SVGID_5_"
+ overflow="visible"
+ id="use61" /></clipPath><g
+ clip-path="url(#SVGID_6_)"
+ id="g63"><text
+ transform="matrix(1 0 0 1 550.7227 489.4902)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text65">20°</text>
+<text
+ transform="matrix(1 0 0 1 550.7227 593.2334)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text67">21°</text>
+<text
+ transform="matrix(1 0 0 1 550.7227 393.5469)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text69">19°</text>
+<text
+ transform="matrix(1 0 0 1 550.7227 295.8906)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text71">18°</text>
+<text
+ transform="matrix(1 0 0 1 550.7227 201.5078)"
+ fill="#FFFFFF"
+ font-family="'MyriadPro-Regular'"
+ font-size="93.6032"
+ id="text73">17°</text>
+</g></g></g><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M698.129,643.039v95.783h122V657.74C780.41,651.722,739.326,646.832,698.129,643.039z"
+ id="path75" /><circle
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.5936"
+ stroke-miterlimit="10"
+ cx="756.627"
+ cy="420.198"
+ r="6.141"
+ id="circle77" /><circle
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.45"
+ cx="756.627"
+ cy="420.198"
+ r="10.912"
+ id="circle79" /><line
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="2"
+ stroke-miterlimit="10"
+ x1="756.129"
+ y1="419"
+ x2="756.129"
+ y2="607"
+ id="line81" /><circle
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.5936"
+ stroke-miterlimit="10"
+ cx="494.93"
+ cy="726.5"
+ r="6.141"
+ id="circle83" /><circle
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.45"
+ cx="494.93"
+ cy="726.5"
+ r="10.912"
+ id="circle85" /><circle
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.5936"
+ stroke-miterlimit="10"
+ cx="210.631"
+ cy="524.197"
+ r="6.141"
+ id="circle87" /><circle
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.45"
+ cx="210.631"
+ cy="524.197"
+ r="10.912"
+ id="circle89" /><line
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="2"
+ stroke-miterlimit="10"
+ x1="211.129"
+ y1="529"
+ x2="211.129"
+ y2="607"
+ id="line91" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8472"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M268.629,643.039V738.5h-122v-80.76C186.629,651.722,227.629,646.832,268.629,643.039z"
+ id="path93" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8902"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M698.129,643.039v95.783h122V657.74C780.41,651.722,739.326,646.832,698.129,643.039z"
+ id="path95" /><g
+ display="none"
+ id="g97"><g
+ display="inline"
+ id="g99"><g
+ display="none"
+ id="g101"><circle
+ display="inline"
+ fill="#31ABFF"
+ cx="236.991"
+ cy="676.459"
+ r="8.235"
+ id="circle103" /><path
+ display="inline"
+ fill="#31ABFF"
+ d="M239.268,687.889l-1.035-0.569c-2.861-1.577-6.458-0.536-8.035,2.322l-6.644,12.054 l-13.158-4.315c-3.009-0.986-6.572,0.18-9.142,3.18l0.004,0.003c-0.45,0.409-0.876,0.873-1.262,1.396l-10.893,14.743 c-1.679,2.271-1.607,5.14,0.098,6.485l0.618,0.487c1.706,1.35,4.512,0.756,6.334-1.402l11.504-13.621l15.161,5.822 c1.32,0.508,2.731,0.665,4.069,0.524c2.312,0.265,4.662-0.854,5.854-3.02l8.852-16.056 C243.169,693.063,242.128,689.466,239.268,687.889z"
+ id="path105" /></g><polygon
+ display="none"
+ fill="#31ABFF"
+ points="165.347,682 179.608,699.699 193.868,682 187.129,682 187.129,666 172.129,666 172.129,682 "
+ id="polygon107" /></g></g><path
+ display="none"
+ fill="#31ABFF"
+ d="M747.514,675.48c-0.104-2.278-0.234-5.027-0.209-7.41h-0.079 c-0.575,2.146-1.31,4.528-2.095,6.755l-2.565,7.646h-2.487l-2.356-7.541c-0.681-2.251-1.309-4.66-1.779-6.858h-0.054 c-0.078,2.304-0.183,5.104-0.313,7.515l-0.395,7.096h-3.011l1.178-17.647h4.242l2.306,7.097c0.628,2.068,1.178,4.163,1.623,6.127 h0.077c0.473-1.912,1.074-4.085,1.755-6.152l2.436-7.07h4.189l1.021,17.647h-3.142L747.514,675.48z"
+ id="path109" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M757.646,677.68l-1.519,5.001h-3.325l5.656-17.647h4.11l5.733,17.647h-3.456l-1.598-5.001 H757.646z M762.701,675.244l-1.389-4.347c-0.34-1.073-0.628-2.277-0.891-3.3h-0.052c-0.262,1.021-0.523,2.252-0.838,3.3 l-1.361,4.347H762.701z"
+ id="path111" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M779.695,682.681l-1.911-3.509c-0.76-1.361-1.257-2.304-1.755-3.325h-0.078 c-0.419,1.021-0.892,1.964-1.599,3.325l-1.754,3.509h-3.691l5.236-8.929l-5.026-8.72h3.69l1.912,3.64 c0.575,1.101,0.995,1.964,1.466,2.959h0.054c0.471-1.1,0.838-1.885,1.388-2.959l1.885-3.64h3.692l-5.158,8.615l5.367,9.032 L779.695,682.681L779.695,682.681z"
+ id="path113" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M773.577,723.188c-0.509,0-1.007-0.109-1.483-0.324c-8.057-3.664-16.873-3.663-24.926-0.001 c-0.478,0.216-0.977,0.325-1.484,0.325c-1.701,0-3.187-1.207-3.779-3.075l-6.004-19.563c-0.773-2.435,0.854-5.537,3.557-6.764 c13.016-5.92,27.331-5.92,40.349,0c2.702,1.227,4.329,4.329,3.553,6.775l-5.996,19.539 C776.762,721.979,775.279,723.188,773.577,723.188z M759.629,717.658c4.595,0,9.127,1.002,13.473,2.979 c0.757,0.344,1.593-0.218,1.927-1.266l5.996-19.54c0.37-1.165-0.508-3.04-2.23-3.822c-12.381-5.631-25.948-5.631-38.327,0 c-1.725,0.782-2.602,2.657-2.234,3.812l6.004,19.563c0.328,1.032,1.156,1.604,1.923,1.253 C750.501,718.66,755.035,717.658,759.629,717.658z"
+ id="path115" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M750.686,703.627l3.011,0.176l-1.854-5.906l-6.055,4.575l2.897,0.903 c-6.05,8.577,7.235,16.625,0.381,26.625c0.572,0,1.298,0,2.209,0C758.053,720,745.121,712.109,750.686,703.627z"
+ id="path117" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M759.294,703.627l3.01,0.176l-1.854-5.906l-6.057,4.575l2.897,0.903 c-6.049,8.577,7.235,16.625,0.382,26.625c0.574,0,1.297,0,2.209,0C766.661,720,753.73,712.109,759.294,703.627z"
+ id="path119" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M767.904,703.627l3.008,0.176l-1.854-5.906l-6.055,4.575l2.897,0.903 c-6.051,8.577,7.234,16.625,0.38,26.625c0.572,0,1.298,0,2.209,0C775.269,720,762.336,712.109,767.904,703.627z"
+ id="path121" /><linearGradient
+ id="SVGID_7_"
+ gradientUnits="userSpaceOnUse"
+ x1="-26.3711"
+ y1="522.374"
+ x2="-26.3711"
+ y2="428.5638"
+ gradientTransform="matrix(1 0 0 -1 234 1166)"><stop
+ offset="0.5092"
+ style="stop-color:#31ABFF;stop-opacity:0"
+ id="stop124" /><stop
+ offset="0.9018"
+ style="stop-color:#31ABFF"
+ id="stop126" /><stop
+ offset="1"
+ style="stop-color:#63E6FF"
+ id="stop128" /></linearGradient><path
+ display="none"
+ fill="url(#SVGID_7_)"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ d="M268.629,643.039V738.5h-122v-80.76 C186.629,651.722,227.629,646.832,268.629,643.039z"
+ id="path130" /><linearGradient
+ id="SVGID_8_"
+ gradientUnits="userSpaceOnUse"
+ x1="524.6279"
+ y1="522.374"
+ x2="524.6279"
+ y2="428.5638"
+ gradientTransform="matrix(1 0 0 -1 234 1166)"><stop
+ offset="0.5092"
+ style="stop-color:#31ABFF;stop-opacity:0"
+ id="stop133" /><stop
+ offset="0.9018"
+ style="stop-color:#31ABFF"
+ id="stop135" /><stop
+ offset="1"
+ style="stop-color:#63E6FF"
+ id="stop137" /></linearGradient><path
+ display="none"
+ fill="url(#SVGID_8_)"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ d="M697.629,643.039V738.5h122v-80.76 C780.629,651.722,739.629,646.832,697.629,643.039z"
+ id="path139" /><g
+ display="none"
+ id="g141"><g
+ display="inline"
+ id="g143"><g
+ id="g145"><circle
+ fill="#FFFFFF"
+ cx="236.991"
+ cy="676.459"
+ r="8.235"
+ id="circle147" /><path
+ fill="#FFFFFF"
+ d="M239.268,687.889l-1.035-0.569c-2.861-1.577-6.458-0.536-8.035,2.322l-6.644,12.054l-13.158-4.315 c-3.009-0.986-6.572,0.18-9.142,3.18l0.004,0.003c-0.45,0.409-0.876,0.873-1.262,1.396l-10.893,14.743 c-1.679,2.271-1.607,5.14,0.098,6.485l0.618,0.487c1.706,1.35,4.512,0.756,6.334-1.402l11.504-13.621l15.161,5.822 c1.32,0.508,2.731,0.665,4.069,0.524c2.312,0.265,4.662-0.854,5.854-3.02l8.852-16.056 C243.169,693.063,242.128,689.466,239.268,687.889z"
+ id="path149" /></g><polygon
+ fill="#FFFFFF"
+ points="165.347,682 179.608,699.699 193.868,682 187.129,682 187.129,666 172.129,666 172.129,682 "
+ id="polygon151" /></g></g><path
+ display="none"
+ fill="#FFFFFF"
+ d="M747.514,675.48c-0.104-2.278-0.234-5.027-0.209-7.41h-0.079 c-0.575,2.146-1.31,4.528-2.095,6.755l-2.565,7.646h-2.487l-2.356-7.541c-0.681-2.251-1.309-4.66-1.779-6.858h-0.054 c-0.078,2.304-0.183,5.104-0.313,7.515l-0.395,7.096h-3.011l1.178-17.647h4.242l2.306,7.097c0.628,2.068,1.178,4.163,1.623,6.127 h0.077c0.473-1.912,1.074-4.085,1.755-6.152l2.436-7.07h4.189l1.021,17.647h-3.142L747.514,675.48z"
+ id="path153" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M757.646,677.68l-1.519,5.001h-3.325l5.656-17.647h4.11l5.733,17.647h-3.456l-1.598-5.001 H757.646z M762.701,675.244l-1.389-4.347c-0.34-1.073-0.628-2.277-0.891-3.3h-0.052c-0.262,1.021-0.523,2.252-0.838,3.3 l-1.361,4.347H762.701z"
+ id="path155" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M779.695,682.681l-1.911-3.509c-0.76-1.361-1.257-2.304-1.755-3.325h-0.078 c-0.419,1.021-0.892,1.964-1.599,3.325l-1.754,3.509h-3.691l5.236-8.929l-5.026-8.72h3.69l1.912,3.64 c0.575,1.101,0.995,1.964,1.466,2.959h0.054c0.471-1.1,0.838-1.885,1.388-2.959l1.885-3.64h3.692l-5.158,8.615l5.367,9.032 L779.695,682.681L779.695,682.681z"
+ id="path157" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M773.577,723.188c-0.509,0-1.007-0.109-1.483-0.324c-8.057-3.664-16.873-3.663-24.926-0.001 c-0.478,0.216-0.977,0.325-1.484,0.325c-1.701,0-3.187-1.207-3.779-3.075l-6.004-19.563c-0.773-2.435,0.854-5.537,3.557-6.764 c13.016-5.92,27.331-5.92,40.349,0c2.702,1.227,4.329,4.329,3.553,6.775l-5.996,19.539 C776.762,721.979,775.279,723.188,773.577,723.188z M759.629,717.658c4.595,0,9.127,1.002,13.473,2.979 c0.757,0.344,1.593-0.218,1.927-1.266l5.996-19.54c0.37-1.165-0.508-3.04-2.23-3.822c-12.381-5.631-25.948-5.631-38.327,0 c-1.725,0.782-2.602,2.657-2.234,3.812l6.004,19.563c0.328,1.032,1.156,1.604,1.923,1.253 C750.501,718.66,755.035,717.658,759.629,717.658z"
+ id="path159" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M750.686,703.627l3.011,0.176l-1.854-5.906l-6.055,4.575l2.897,0.903 c-6.05,8.577,7.235,16.625,0.381,26.625c0.572,0,1.298,0,2.209,0C758.053,720,745.121,712.109,750.686,703.627z"
+ id="path161" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M759.294,703.627l3.01,0.176l-1.854-5.906l-6.057,4.575l2.897,0.903 c-6.049,8.577,7.235,16.625,0.382,26.625c0.574,0,1.297,0,2.209,0C766.661,720,753.73,712.109,759.294,703.627z"
+ id="path163" /><path
+ display="none"
+ fill="#FFFFFF"
+ d="M767.904,703.627l3.008,0.176l-1.854-5.906l-6.055,4.575l2.897,0.903 c-6.051,8.577,7.234,16.625,0.38,26.625c0.572,0,1.298,0,2.209,0C775.269,720,762.336,712.109,767.904,703.627z"
+ id="path165" /><g
+ display="none"
+ id="g167"><g
+ display="inline"
+ id="g169"><g
+ display="none"
+ id="g171"><circle
+ display="inline"
+ fill="#31ABFF"
+ cx="236.991"
+ cy="676.459"
+ r="8.235"
+ id="circle173" /><path
+ display="inline"
+ fill="#31ABFF"
+ d="M239.268,687.889l-1.035-0.569c-2.861-1.577-6.458-0.536-8.035,2.322l-6.644,12.054 l-13.158-4.315c-3.009-0.986-6.572,0.18-9.142,3.18l0.004,0.003c-0.45,0.409-0.876,0.873-1.262,1.396l-10.893,14.743 c-1.679,2.271-1.607,5.14,0.098,6.485l0.618,0.487c1.706,1.35,4.512,0.756,6.334-1.402l11.504-13.621l15.161,5.822 c1.32,0.508,2.731,0.665,4.069,0.524c2.312,0.265,4.662-0.854,5.854-3.02l8.852-16.056 C243.169,693.063,242.128,689.466,239.268,687.889z"
+ id="path175" /></g><polygon
+ display="none"
+ fill="#31ABFF"
+ points="165.347,682 179.608,699.699 193.868,682 187.129,682 187.129,666 172.129,666 172.129,682 "
+ id="polygon177" /></g></g><text
+ transform="matrix(1 0 0 1 730.7559 682.6807)"
+ display="none"
+ fill="#31ABFF"
+ enable-background="new "
+ font-family="'MyriadPro-Semibold'"
+ font-size="26.1844"
+ id="text179">MAX</text>
+<path
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="2.4433"
+ stroke-miterlimit="10"
+ d="M776.192,719.741 c-0.579,1.821-2.173,2.649-3.597,2.008c-8.41-3.825-17.522-3.825-25.935,0c-1.42,0.643-3.017-0.187-3.595-2.008 c-2-6.519-3.999-13.035-6-19.552c-0.577-1.816,0.695-4.297,2.894-5.293c12.758-5.804,26.58-5.804,39.338,0 c2.197,0.996,3.472,3.477,2.895,5.293C780.191,706.706,778.192,713.224,776.192,719.741z"
+ id="path181" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M750.686,703.627l3.011,0.176l-1.854-5.906l-6.055,4.575l2.897,0.903 c-6.05,8.577,7.235,16.625,0.381,26.625c0.572,0,1.298,0,2.209,0C758.053,720,745.121,712.109,750.686,703.627z"
+ id="path183" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M759.294,703.627l3.01,0.176l-1.854-5.906l-6.057,4.575l2.897,0.903 c-6.049,8.577,7.235,16.625,0.382,26.625c0.574,0,1.297,0,2.209,0C766.661,720,753.73,712.109,759.294,703.627z"
+ id="path185" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M767.904,703.627l3.008,0.176l-1.854-5.906l-6.055,4.575l2.897,0.903 c-6.051,8.577,7.234,16.625,0.38,26.625c0.572,0,1.298,0,2.209,0C775.269,720,762.336,712.109,767.904,703.627z"
+ id="path187" /><linearGradient
+ id="SVGID_9_"
+ gradientUnits="userSpaceOnUse"
+ x1="227.6294"
+ y1="816.3398"
+ x2="227.6294"
+ y2="591.984"
+ gradientTransform="matrix(-1 0 0 -1 840.2578 1166)"><stop
+ offset="0"
+ style="stop-color:#2175AD"
+ id="stop190" /><stop
+ offset="0.2822"
+ style="stop-color:#2175AD;stop-opacity:0"
+ id="stop192" /><stop
+ offset="0.7055"
+ style="stop-color:#2175AD;stop-opacity:0"
+ id="stop194" /><stop
+ offset="1"
+ style="stop-color:#2175AD"
+ id="stop196" /></linearGradient><polygon
+ display="none"
+ fill="url(#SVGID_9_)"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ points="533.629,435.516 533.629,345.5 691.629,345.5 691.629,577.5 533.629,577.5 533.629,486.998 559.371,461.257 "
+ id="polygon198" /><path
+ fill="none"
+ stroke="#B2F0FF"
+ stroke-miterlimit="10"
+ d="M844,542.502c-139.158-37.287-329.548-54.752-484-54.752 s-344.841,17.465-484,54.752"
+ id="path200" /><polyline
+ stroke-miterlimit="10"
+ points=" 63,474.719 63,484.688 20,484.688 20,458.768 63,458.768 63,474.719 "
+ id="polyline202"
+ transform="matrix(0.98240426,0,0,18.495948,0.73022345,-8480.4544)"
+ style="fill:#53b5ce;fill-opacity:0.28999998999999999;stroke:none;stroke-width:0.23190000999999999;stroke-miterlimit:10;stroke-opacity:0.63999998999999996" /><path
+ fill="#B5B5B5"
+ d="M208.089,536.85c-2.009-2.358-5.185-3.605-8.527-3.605c-1.786-0.001-3.478,0.394-4.998,1.096 c0,0-1.44,0.746-3.202-1.096s-5.605-8.78-1.645-10.731c15.362-7.283,32.982,0.008,37.59,10.775 C229.739,537.861,212.352,541.854,208.089,536.85z"
+ id="path264" /><path
+ opacity="0.64"
+ fill="#B2F0FF"
+ enable-background="new "
+ d="M208.089,536.85c-2.009-2.358-5.185-3.605-8.527-3.605 c-1.786-0.001-3.478,0.394-4.998,1.096c0,0-1.44,0.746-3.202-1.096s-5.605-8.78-1.645-10.731 c15.362-7.283,32.982,0.008,37.59,10.775C229.739,537.861,212.352,541.854,208.089,536.85z"
+ id="path266" /><path
+ fill="#B5B5B5"
+ d="M188.729,542.391c-1.04,2.922-0.532,6.294,1.14,9.189c0.891,1.547,2.078,2.814,3.448,3.779 c0,0,1.363,0.875,0.651,3.321c-0.715,2.446-4.801,9.245-8.473,6.791c-13.987-9.664-16.484-28.568-9.462-37.943 C178.778,523.136,190.929,536.196,188.729,542.391z"
+ id="path268" /><path
+ opacity="0.64"
+ fill="#B2F0FF"
+ enable-background="new "
+ d="M188.729,542.391c-1.04,2.922-0.532,6.294,1.14,9.189 c0.891,1.547,2.078,2.814,3.448,3.779c0,0,1.363,0.875,0.651,3.321c-0.715,2.446-4.801,9.245-8.473,6.791 c-13.987-9.664-16.484-28.568-9.462-37.943C178.778,523.136,190.929,536.196,188.729,542.391z"
+ id="path270" /><path
+ fill="#B5B5B5"
+ d="M203.207,556.387c3.049-0.561,5.715-2.686,7.388-5.581c0.894-1.547,1.397-3.208,1.548-4.876 c0,0,0.076-1.617,2.552-2.226c2.474-0.604,10.405-0.465,10.116,3.942c-1.375,16.943-16.498,28.562-28.129,27.167 C191.507,574.632,196.743,557.578,203.207,556.387z"
+ id="path272" /><path
+ opacity="0.64"
+ fill="#B2F0FF"
+ enable-background="new "
+ d="M203.207,556.387c3.049-0.561,5.715-2.686,7.388-5.581 c0.894-1.547,1.397-3.208,1.548-4.876c0,0,0.076-1.617,2.552-2.226c2.474-0.604,10.405-0.465,10.116,3.942 c-1.375,16.943-16.498,28.562-28.129,27.167C191.507,574.632,196.743,557.578,203.207,556.387z"
+ id="path274" /><circle
+ fill="#B5B5B5"
+ cx="199.561"
+ cy="545.272"
+ r="7.302"
+ id="circle276" /><circle
+ opacity="0.64"
+ fill="#B2F0FF"
+ enable-background="new "
+ cx="199.561"
+ cy="545.272"
+ r="7.302"
+ id="circle278" /><rect
+ x="210.129"
+ y="127"
+ display="none"
+ fill="#31ABFF"
+ width="2"
+ height="482"
+ id="rect296" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,596.969 187.129,606.938 144.129,606.938 144.129,581.018 187.129,581.018 187.129,596.969 "
+ id="polyline298" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,561.967 187.129,571.938 144.129,571.938 144.129,546.016 187.129,546.016 187.129,561.967 "
+ id="polyline300" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,526.966 187.129,536.935 144.129,536.935 144.129,511.015 187.129,511.015 187.129,526.966 "
+ id="polyline302" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,491.964 187.129,501.934 144.129,501.934 144.129,476.014 187.129,476.014 187.129,491.964 "
+ id="polyline304" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,456.963 187.129,466.932 144.129,466.932 144.129,441.012 187.129,441.012 187.129,456.963 "
+ id="polyline306" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,421.961 187.129,431.931 144.129,431.931 144.129,406.01 187.129,406.01 187.129,421.961 "
+ id="polyline308" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,386.96 187.129,396.929 144.129,396.929 144.129,371.009 187.129,371.009 187.129,386.96 "
+ id="polyline310" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,351.959 187.129,361.928 144.129,361.928 144.129,336.008 187.129,336.008 187.129,351.959 "
+ id="polyline312" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,316.958 187.129,326.927 144.129,326.927 144.129,301.007 187.129,301.007 187.129,316.958 "
+ id="polyline314" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,281.956 187.129,291.925 144.129,291.925 144.129,266.005 187.129,266.005 187.129,281.956 "
+ id="polyline316" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,246.955 187.129,256.924 144.129,256.924 144.129,231.004 187.129,231.004 187.129,246.955 "
+ id="polyline318" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,211.954 187.129,221.923 144.129,221.923 144.129,196.003 187.129,196.003 187.129,211.954 "
+ id="polyline320" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,176.952 187.129,186.921 144.129,186.921 144.129,161.001 187.129,161.001 187.129,176.952 "
+ id="polyline322" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 187.129,141.951 187.129,151.92 144.129,151.92 144.129,126 187.129,126 187.129,141.951 "
+ id="polyline324" /><rect
+ x="755.129"
+ y="127"
+ display="none"
+ fill="#31ABFF"
+ width="2"
+ height="482"
+ id="rect326" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,596.969 780.129,606.938 823.129,606.938 823.129,581.018 780.129,581.018 780.129,596.969 "
+ id="polyline328" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,561.967 780.129,571.938 823.129,571.938 823.129,546.016 780.129,546.016 780.129,561.967 "
+ id="polyline330" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,526.966 780.129,536.935 823.129,536.935 823.129,511.015 780.129,511.015 780.129,526.966 "
+ id="polyline332" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,491.964 780.129,501.934 823.129,501.934 823.129,476.014 780.129,476.014 780.129,491.964 "
+ id="polyline334" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,456.963 780.129,466.932 823.129,466.932 823.129,441.012 780.129,441.012 780.129,456.963 "
+ id="polyline336" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,421.961 780.129,431.931 823.129,431.931 823.129,406.01 780.129,406.01 780.129,421.961 "
+ id="polyline338" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,386.96 780.129,396.929 823.129,396.929 823.129,371.009 780.129,371.009 780.129,386.96 "
+ id="polyline340" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,351.959 780.129,361.928 823.129,361.928 823.129,336.008 780.129,336.008 780.129,351.959 "
+ id="polyline342" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,316.958 780.129,326.927 823.129,326.927 823.129,301.007 780.129,301.007 780.129,316.958 "
+ id="polyline344" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,281.956 780.129,291.925 823.129,291.925 823.129,266.005 780.129,266.005 780.129,281.956 "
+ id="polyline346" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,246.955 780.129,256.924 823.129,256.924 823.129,231.004 780.129,231.004 780.129,246.955 "
+ id="polyline348" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,211.954 780.129,221.923 823.129,221.923 823.129,196.003 780.129,196.003 780.129,211.954 "
+ id="polyline350" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,176.952 780.129,186.921 823.129,186.921 823.129,161.001 780.129,161.001 780.129,176.952 "
+ id="polyline352" /><polyline
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 780.129,141.951 780.129,151.92 823.129,151.92 823.129,126 780.129,126 780.129,141.951 "
+ id="polyline354" /><rect
+ x="274.702"
+ y="175.708"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="157.956"
+ height="127.534"
+ id="rect356" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8243"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M337.796,255.953l-51.053-3.023c-3.593-0.142-5.474,3.107-4.104,7.17l2.857,10.824c1.528,4.532,5.986,9.041,9.909,9.041h62.589 c5.253,0,6.745-6.561,6.745-11.152c-0.12-25.828,4.734-52.385,14.563-78.246c0.954-2.52-0.953-5.045-4.298-5.702 c-1.817-0.356-3.633-0.713-5.449-1.069c-3.336-0.655-7.05,0.767-8.259,3.236c-11.038,22.563-18.271,43.783-21.696,66.559 C339.6,253.589,338.936,256.021,337.796,255.953z"
+ id="path358" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M304.629,298c-18.86,0,15.646,0-3.215,0c10.184-23-10.184-45,0-67c18.86,0-15.645,0,3.215,0 C294.445,253,314.813,275,304.629,298z"
+ id="path360" /><polygon
+ display="none"
+ fill="#31ABFF"
+ points="296.641,231.288 304.142,223.451 307.177,233.866 "
+ id="polygon362" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M317.488,298c-18.86,0,15.646,0-3.215,0c10.184-23-10.185-45,0-67c18.859,0-15.646,0,3.215,0 C307.304,253,327.672,275,317.488,298z"
+ id="path364" /><polygon
+ display="none"
+ fill="#31ABFF"
+ points="309.5,231.288 317,223.451 320.037,233.866 "
+ id="polygon366" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M330.99,298c-18.859,0,15.646,0-3.214,0c10.184-23-10.185-45,0-67c18.859,0-15.646,0,3.214,0 C320.806,253,341.174,275,330.99,298z"
+ id="path368" /><polygon
+ display="none"
+ fill="#31ABFF"
+ points="323.001,231.288 330.502,223.451 333.538,233.866 "
+ id="polygon370" /><g
+ display="none"
+ id="g372"><g
+ display="inline"
+ id="g374"><g
+ display="none"
+ id="g376"><path
+ display="inline"
+ fill="#31ABFF"
+ d="M425.129,219v-22h-40.439c-2.568,7-4.733,14-6.517,22H425.129z"
+ id="path378" /><path
+ display="inline"
+ opacity="0.64"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ enable-background="new "
+ d=" M425.629,218.5v-22h-40.939c-2.568,8-4.733,15-6.517,22H425.629z"
+ id="path380" /></g><g
+ display="none"
+ id="g382"><path
+ display="inline"
+ fill="#31ABFF"
+ d="M425.129,244v-21h-47.87c-1.63,7-2.88,14-3.729,21H425.129z"
+ id="path384" /><path
+ display="inline"
+ opacity="0.64"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ enable-background="new "
+ d=" M425.629,244.5v-22h-48.37c-1.63,7-2.88,15-3.729,22H425.629z"
+ id="path386" /></g><g
+ display="none"
+ id="g388"><path
+ display="inline"
+ fill="#31ABFF"
+ d="M372.116,270h53.013v-22H373.12c-0.671,7-1.003,13.871-0.971,20.759 C372.149,269.155,372.131,270,372.116,270z"
+ id="path390" /><path
+ display="inline"
+ opacity="0.64"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ enable-background="new "
+ d=" M372.116,270.5h53.513v-22H373.12c-0.671,7-1.003,13.871-0.971,20.759C372.149,269.655,372.131,269.5,372.116,270.5z"
+ id="path392" /></g></g></g><rect
+ x="533.601"
+ y="175.708"
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ width="157.955"
+ height="127.534"
+ id="rect394" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8243"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M628.462,255.953l51.054-3.023c3.594-0.142,5.476,3.107,4.104,7.17l-2.858,10.824c-1.526,4.532-5.984,9.041-9.908,9.041h-62.589 c-5.254,0-6.745-6.561-6.745-11.152c0.12-25.828-4.734-52.385-14.563-78.246c-0.953-2.52,0.953-5.045,4.299-5.702 c1.817-0.356,3.634-0.713,5.448-1.069c3.337-0.655,7.051,0.767,8.26,3.236c11.037,22.563,18.271,43.783,21.695,66.559 C626.659,253.589,627.323,256.021,628.462,255.953z"
+ id="path396" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M661.629,298c18.86,0-15.645,0,3.215,0c-10.184-23,10.185-45,0-67 c-18.858,0,15.646,0-3.215,0C671.814,253,651.446,275,661.629,298z"
+ id="path398" /><polygon
+ display="none"
+ fill="#31ABFF"
+ points="669.619,231.288 662.118,223.451 659.082,233.866 "
+ id="polygon400" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M648.771,298c18.858,0-15.646,0,3.214,0c-10.185-23,10.186-45,0-67 c-18.86,0,15.646,0-3.214,0C658.955,253,638.586,275,648.771,298z"
+ id="path402" /><polygon
+ display="none"
+ fill="#31ABFF"
+ points="656.759,231.288 649.258,223.451 646.222,233.866 "
+ id="polygon404" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M635.269,298c18.86,0-15.646,0,3.215,0c-10.185-23,10.185-45,0-67 c-18.859,0,15.646,0-3.215,0C645.453,253,625.084,275,635.269,298z"
+ id="path406" /><polygon
+ display="none"
+ fill="#31ABFF"
+ points="643.257,231.288 635.756,223.451 632.721,233.866 "
+ id="polygon408" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8243"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M541.011,218.609v-21.841h40.56c2.567,7.243,4.732,14.529,6.516,21.841H541.011z"
+ id="path410" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8243"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M541.011,244.35v-21.841h47.987c1.63,7.263,2.881,14.548,3.729,21.841H541.011z"
+ id="path412" /><path
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.8243"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ d=" M594.143,270.091h-53.132V248.25h52.128c0.67,6.894,1.002,13.792,0.972,20.679C594.11,269.325,594.127,269.707,594.143,270.091z"
+ id="path414" /><line
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="3"
+ stroke-miterlimit="10"
+ x1="667.129"
+ y1="726.5"
+ x2="363.129"
+ y2="726.5"
+ id="line416" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M362.629,703.5h29v-68.552c-9.607,0.396-19.279,0.849-29,1.366V703.5z"
+ id="path418" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M401.629,703.5h29v-69.834c-9.582,0.234-19.253,0.529-29,0.89V703.5z"
+ id="path420" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M440.629,703.5h28v-70.443c-9.225,0.067-18.563,0.196-28,0.387V703.5z"
+ id="path422" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M479.629,633.008V703.5h29v-70.351c-8.34-0.099-16.598-0.149-24.75-0.149 C482.468,633,481.047,633.005,479.629,633.008z"
+ id="path424" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M519.629,703.5h28v-69.553c-9.42-0.273-18.76-0.488-28-0.644V703.5z"
+ id="path426" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M558.629,703.5h29v-68.051c-9.729-0.447-19.404-0.835-29-1.159V703.5z"
+ id="path428" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M597.629,703.5h28v-66.005c-9.371-0.578-18.71-1.104-28-1.567V703.5z"
+ id="path430" /><path
+ display="none"
+ fill="#31ABFF"
+ d="M636.629,703.5h29v-63.205c-9.684-0.759-19.355-1.46-29-2.099V703.5z"
+ id="path432" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC_org/images/temp_bar_on_left.svg b/sample-qml/apps/HVAC_org/images/temp_bar_on_left.svg
new file mode 100644
index 0000000..66cac81
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/temp_bar_on_left.svg
@@ -0,0 +1,271 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="68px"
+ height="482px"
+ viewBox="0 0 68 482"
+ enable-background="new 0 0 68 482"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="temp_bar_on_left.svg"><metadata
+ id="metadata3871"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs3869"><filter
+ id="filter3773"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"
+ width="1.1799999999999999"
+ height="0.99999999999999978"
+ x="-0.11"
+ y="-1.0408340855860843e-17"><feGaussianBlur
+ id="feGaussianBlur3775"
+ stdDeviation="10.615"
+ result="result8" /><feComposite
+ id="feComposite3777"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3779"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3781"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(255,255,178)" /><feBlend
+ id="feBlend3783"
+ mode="normal"
+ in="result11"
+ result="result12"
+ in2="result10" /><feComposite
+ id="feComposite3785"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1513"
+ inkscape:window-height="859"
+ id="namedview3867"
+ showgrid="false"
+ inkscape:zoom="1.9585063"
+ inkscape:cx="-219.83983"
+ inkscape:cy="308.5784"
+ inkscape:window-x="75"
+ inkscape:window-y="34"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="-107.9995"
+ y1="1254.999"
+ x2="-107.9997"
+ y2="355.8898"
+ gradientTransform="matrix(1 0 0 1 468 -309)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop3795" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop3797" /></linearGradient><rect
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect3799" /><circle
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.5936"
+ stroke-miterlimit="10"
+ cx="87.502"
+ cy="524.197"
+ r="6.141"
+ id="circle3801" /><circle
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.45"
+ cx="87.502"
+ cy="524.197"
+ r="10.912"
+ id="circle3803" /><line
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="2"
+ stroke-miterlimit="10"
+ x1="88"
+ y1="529"
+ x2="88"
+ y2="607"
+ id="line3805" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,596.969 64,606.938 21,606.938 21,581.018 64,581.018 64,596.969 "
+ id="polyline3807" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,561.967 64,571.938 21,571.938 21,546.016 64,546.016 64,561.967 "
+ id="polyline3809" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,526.966 64,536.935 21,536.935 21,511.015 64,511.015 64,526.966 "
+ id="polyline3811" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,491.964 64,501.934 21,501.934 21,476.014 64,476.014 64,491.964 "
+ id="polyline3813" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,456.963 64,466.932 21,466.932 21,441.012 64,441.012 64,456.963 "
+ id="polyline3815" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,421.961 64,431.931 21,431.931 21,406.01 64,406.01 64,421.961 "
+ id="polyline3817" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,386.96 64,396.929 21,396.929 21,371.009 64,371.009 64,386.96 "
+ id="polyline3819" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,351.959 64,361.928 21,361.928 21,336.008 64,336.008 64,351.959 "
+ id="polyline3821" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,316.958 64,326.927 21,326.927 21,301.007 64,301.007 64,316.958 "
+ id="polyline3823" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,281.956 64,291.925 21,291.925 21,266.005 64,266.005 64,281.956 "
+ id="polyline3825" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,246.955 64,256.924 21,256.924 21,231.004 64,231.004 64,246.955 "
+ id="polyline3827" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,211.954 64,221.923 21,221.923 21,196.003 64,196.003 64,211.954 "
+ id="polyline3829" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,176.952 64,186.921 21,186.921 21,161.001 64,161.001 64,176.952 "
+ id="polyline3831" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 64,141.951 64,151.92 21,151.92 21,126 64,126 64,141.951 "
+ id="polyline3833" /><line
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ x1="80.5"
+ y1="126"
+ x2="80.5"
+ y2="607"
+ id="line3835" /><rect
+ x="66"
+ y="0.5"
+ fill="#FFD38C"
+ width="2"
+ height="482"
+ id="rect3837" /><polyline
+ stroke-miterlimit="10"
+ points="43,15.451 43,25.42 0,25.42 0,-0.5 43,-0.5 43,15.451 "
+ id="polyline3865"
+ transform="matrix(0.92698774,0,0,18.485339,1.5697635,10.312433)"
+ style="fill:#fe9c00;stroke:none;stroke-miterlimit:10;opacity:1;" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC_org/images/temp_bar_on_right.svg b/sample-qml/apps/HVAC_org/images/temp_bar_on_right.svg
new file mode 100644
index 0000000..95bd894
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/images/temp_bar_on_right.svg
@@ -0,0 +1,282 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="68px"
+ height="481px"
+ viewBox="0 0 68 481"
+ enable-background="new 0 0 68 481"
+ xml:space="preserve"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="temp_bar_on_right.svg"><metadata
+ id="metadata80"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs78"><linearGradient
+ id="linearGradient3780"><stop
+ style="stop-color:#fe9c00;stop-opacity:1;"
+ offset="0"
+ id="stop3782" /><stop
+ id="stop3788"
+ offset="0.5"
+ style="stop-color:#fe9c00;stop-opacity:0;" /><stop
+ style="stop-color:#fe9c00;stop-opacity:1;"
+ offset="1"
+ id="stop3784" /></linearGradient><filter
+ id="filter3773"
+ inkscape:label="Inner Glow"
+ inkscape:menu="Shadows and Glows"
+ inkscape:menu-tooltip="Adds a colorizable glow inside"
+ color-interpolation-filters="sRGB"
+ width="1.1799999"
+ height="1"
+ x="-0.11"
+ y="-1.0408341e-17"><feGaussianBlur
+ id="feGaussianBlur3775"
+ stdDeviation="10.615"
+ result="result8" /><feComposite
+ id="feComposite3777"
+ in2="result8"
+ result="result6"
+ in="SourceGraphic"
+ operator="in" /><feComposite
+ id="feComposite3779"
+ in2="result6"
+ operator="in"
+ result="result11" /><feFlood
+ id="feFlood3781"
+ result="result10"
+ in="result11"
+ flood-opacity="1"
+ flood-color="rgb(255,255,178)" /><feBlend
+ id="feBlend3783"
+ mode="normal"
+ in="result11"
+ result="result12"
+ in2="result10" /><feComposite
+ id="feComposite3785"
+ in2="SourceGraphic"
+ result="result2"
+ operator="in"
+ in="result12" /></filter></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1214"
+ inkscape:window-height="736"
+ id="namedview76"
+ showgrid="false"
+ inkscape:zoom="1.962578"
+ inkscape:cx="-71.694992"
+ inkscape:cy="256.91159"
+ inkscape:window-x="75"
+ inkscape:window-y="34"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="126.001"
+ y1="100.0005"
+ x2="126.0009"
+ y2="999.1093"
+ gradientTransform="matrix(1 0 0 -1 234 1046)"><stop
+ offset="0"
+ style="stop-color:#041724"
+ id="stop4" /><stop
+ offset="1"
+ style="stop-color:#000000"
+ id="stop6" /></linearGradient><rect
+ display="none"
+ fill="url(#SVGID_1_)"
+ width="720"
+ height="1001"
+ id="rect8" /><circle
+ display="none"
+ fill="#31ABFF"
+ stroke="#31ABFF"
+ stroke-width="0.5936"
+ stroke-miterlimit="10"
+ cx="633.498"
+ cy="420.198"
+ r="6.141"
+ id="circle10" /><circle
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.45"
+ cx="633.498"
+ cy="420.198"
+ r="10.912"
+ id="circle12" /><line
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-width="2"
+ stroke-miterlimit="10"
+ x1="633"
+ y1="419"
+ x2="633"
+ y2="607"
+ id="line14" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,596.969 657,606.938 700,606.938 700,581.018 657,581.018 657,596.969 "
+ id="polyline16" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,561.967 657,571.938 700,571.938 700,546.016 657,546.016 657,561.967 "
+ id="polyline18" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,526.966 657,536.935 700,536.935 700,511.015 657,511.015 657,526.966 "
+ id="polyline20" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,491.964 657,501.934 700,501.934 700,476.014 657,476.014 657,491.964 "
+ id="polyline22" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,456.963 657,466.932 700,466.932 700,441.012 657,441.012 657,456.963 "
+ id="polyline24" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,421.961 657,431.931 700,431.931 700,406.01 657,406.01 657,421.961 "
+ id="polyline26" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,386.96 657,396.929 700,396.929 700,371.009 657,371.009 657,386.96 "
+ id="polyline28" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,351.959 657,361.928 700,361.928 700,336.008 657,336.008 657,351.959 "
+ id="polyline30" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,316.958 657,326.927 700,326.927 700,301.007 657,301.007 657,316.958 "
+ id="polyline32" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,281.956 657,291.925 700,291.925 700,266.005 657,266.005 657,281.956 "
+ id="polyline34" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,246.955 657,256.924 700,256.924 700,231.004 657,231.004 657,246.955 "
+ id="polyline36" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,211.954 657,221.923 700,221.923 700,196.003 657,196.003 657,211.954 "
+ id="polyline38" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,176.952 657,186.921 700,186.921 700,161.001 657,161.001 657,176.952 "
+ id="polyline40" /><polyline
+ display="none"
+ fill="#31ABFF"
+ fill-opacity="0.29"
+ stroke="#31ABFF"
+ stroke-width="0.2319"
+ stroke-miterlimit="10"
+ stroke-opacity="0.64"
+ points=" 657,141.951 657,151.92 700,151.92 700,126 657,126 657,141.951 "
+ id="polyline42" /><line
+ display="none"
+ fill="none"
+ stroke="#31ABFF"
+ stroke-miterlimit="10"
+ x1="640.5"
+ y1="126"
+ x2="640.5"
+ y2="607"
+ id="line44" /><rect
+ style="fill:#ffd38c"
+ x="-3.426348"
+ y="0.4046613"
+ width="2"
+ height="482"
+ id="rect3837"
+ transform="scale(-1,1)" /><polyline
+ stroke-miterlimit="10"
+ points="43,15.451 43,25.42 0,25.42 0,-0.5 43,-0.5 43,15.451 "
+ id="polyline3865"
+ transform="matrix(-0.92698774,0,0,18.485339,67.85659,10.217094)"
+ style="fill:#fe9c00;stroke:none;fill-opacity:1" /></svg> \ No newline at end of file
diff --git a/sample-qml/apps/HVAC_org/models/HVACModel.qml b/sample-qml/apps/HVAC_org/models/HVACModel.qml
new file mode 100644
index 0000000..e737af4
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/models/HVACModel.qml
@@ -0,0 +1,47 @@
+/* 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/. */
+
+pragma Singleton
+
+import QtQuick 2.0
+import vehicle 1.0
+
+Item {
+ property bool fanUp: false
+ property bool fanRight: false
+ property bool fanDown: false
+
+ property bool fanAC: false
+ property bool fanAuto: false
+ property bool fanRecirc: false
+
+ property real fanSpeed: 0
+
+ property bool defrostMax: false
+ property bool defrostFront: false
+ property bool defrostRear: false
+
+ property real leftTemperature: 0
+ property real rightTemperature: 0
+
+ property int leftSeatHeat: 0
+ property int rightSeatHeat: 0
+
+ onFanSpeedChanged: {
+ var currentFan = ClimateModel.getRangeValue(fanSpeed,ClimateModel.fanStepSize);
+ ClimateModel.fanSpeed = currentFan;
+ }
+
+ onLeftTemperatureChanged: {
+ var temperature = ClimateModel.getRangeValue(leftTemperature,ClimateModel.temperatureStepSize);
+ ClimateModel.leftTemp = temperature;
+ }
+
+ onRightTemperatureChanged: {
+ var temperature = ClimateModel.getRangeValue(rightTemperature,ClimateModel.temperatureStepSize);
+ ClimateModel.rightTemp = temperature;
+ }
+}
diff --git a/sample-qml/apps/HVAC_org/models/TemperatureModel.qml b/sample-qml/apps/HVAC_org/models/TemperatureModel.qml
new file mode 100644
index 0000000..85ca415
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/models/TemperatureModel.qml
@@ -0,0 +1,28 @@
+/* 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/. */
+
+pragma Singleton
+
+import QtQuick 2.0
+
+ListModel {
+ ListElement { text: "LO" }
+ ListElement { text: "16\u00b0" }
+ ListElement { text: "17\u00b0" }
+ ListElement { text: "18\u00b0" }
+ ListElement { text: "19\u00b0" }
+ ListElement { text: "20\u00b0" }
+ ListElement { text: "21\u00b0" }
+ ListElement { text: "22\u00b0" }
+ ListElement { text: "23\u00b0" }
+ ListElement { text: "24\u00b0" }
+ ListElement { text: "25\u00b0" }
+ ListElement { text: "26\u00b0" }
+ ListElement { text: "27\u00b0" }
+ ListElement { text: "28\u00b0" }
+ ListElement { text: "29\u00b0" }
+ ListElement { text: "HI" }
+}
diff --git a/sample-qml/apps/HVAC_org/models/qmldir b/sample-qml/apps/HVAC_org/models/qmldir
new file mode 100644
index 0000000..d757168
--- /dev/null
+++ b/sample-qml/apps/HVAC_org/models/qmldir
@@ -0,0 +1,8 @@
+#/* 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/. */
+
+singleton HVACModel 1.0 HVACModel.qml
+singleton TemperatureModel 1.0 TemperatureModel.qml
diff --git a/sample-qml/calledbyqml.cpp b/sample-qml/calledbyqml.cpp
new file mode 100644
index 0000000..5df584a
--- /dev/null
+++ b/sample-qml/calledbyqml.cpp
@@ -0,0 +1,38 @@
+#include "calledbyqml.h"
+#include <libhomescreen.hpp>
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
+#include <QQmlContext>
+
+
+CalledByQml::CalledByQml(QObject *parent) :
+ QObject(parent)
+{
+}
+
+int CalledByQml::consoleout()
+{
+ qDebug("consoleout method is called");
+ LibHomeScreen libHomeScreen;
+ libHomeScreen.hardKeyPressed(1);
+ return 0;
+}
+
+int CalledByQml::showup()
+{
+ qDebug("showup method is called");
+ QGuiApplication app2();
+ QQmlApplicationEngine engine2;
+ QString target(getenv("AFM_APP_INSTALL_DIR"));
+ qDebug("AFM_APP_INSTALL_DIR is " + target.toLatin1());
+
+ if(NULL == target)
+ {
+ target = ".";
+ }
+
+ QString load_path;
+ load_path = target + "/main2.qml";
+ //engine2.load(QUrl(load_path));
+ return 0;
+}
diff --git a/sample-qml/calledbyqml.h b/sample-qml/calledbyqml.h
new file mode 100644
index 0000000..fbb5ef5
--- /dev/null
+++ b/sample-qml/calledbyqml.h
@@ -0,0 +1,22 @@
+#ifndef CALLEDBYQML_H
+#define CALLEDBYQML_H
+#include <QObject>
+
+class CalledByQml : public QObject
+{
+ Q_OBJECT
+
+public:
+ explicit CalledByQml(QObject *parent = 0);
+ Q_INVOKABLE int consoleout();
+ Q_INVOKABLE int showup();
+
+signals:
+
+public slots:
+ void refresh() {
+ qDebug("Called the C++ slot");
+ }
+};
+
+#endif // CALLEDBYQML_H
diff --git a/sample-qml/config.xml b/sample-qml/config.xml
new file mode 100644
index 0000000..9703e68
--- /dev/null
+++ b/sample-qml/config.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<widget xmlns="http://www.w3.org/ns/widgets" id="sample-qml" version="0.1">
+ <name>App Framework - sample-qml with homescreen</name>
+ <icon src="agl-image.png"/>
+ <content src="sample-qml" type="application/x-executable"/>
+ <description>This application is used for ... confirm homescreen functionality</description>
+ <author>Sample Company &lt;sample.agl.xxxx@mail.domain.sample.xxxxxx&gt;</author>
+ <license>APL 2.0</license>
+</widget>
diff --git a/sample-qml/deployment.pri b/sample-qml/deployment.pri
new file mode 100644
index 0000000..265ce71
--- /dev/null
+++ b/sample-qml/deployment.pri
@@ -0,0 +1,13 @@
+unix:!android {
+ isEmpty(target.path) {
+ qnx {
+ target.path = /tmp/$${TARGET}/bin
+ } else {
+ target.path = /opt/$${TARGET}/bin
+ }
+ export(target.path)
+ }
+ INSTALLS += target
+}
+
+export(INSTALLS)
diff --git a/sample-qml/dummyimports/amb/AutomotivePropertyItem.qml b/sample-qml/dummyimports/amb/AutomotivePropertyItem.qml
new file mode 100644
index 0000000..158ad57
--- /dev/null
+++ b/sample-qml/dummyimports/amb/AutomotivePropertyItem.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+Item {
+ property string propertyName: ""
+ property real value: 1.0
+ function connect() {}
+}
diff --git a/sample-qml/dummyimports/amb/qmldir b/sample-qml/dummyimports/amb/qmldir
new file mode 100644
index 0000000..1582652
--- /dev/null
+++ b/sample-qml/dummyimports/amb/qmldir
@@ -0,0 +1,2 @@
+AutomotivePropertyItem 0.1 AutomotivePropertyItem.qml
+
diff --git a/sample-qml/dummyimports/com/pelagicore/qmldevinfo/DevInfo.qml b/sample-qml/dummyimports/com/pelagicore/qmldevinfo/DevInfo.qml
new file mode 100644
index 0000000..e81b44d
--- /dev/null
+++ b/sample-qml/dummyimports/com/pelagicore/qmldevinfo/DevInfo.qml
@@ -0,0 +1,18 @@
+/* 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
+
+Item {
+ id: root
+
+ property var ipAddresses: []
+ property var ip6addresses: []
+ property string softwareVersion
+ property string buildId
+ property string nameServer
+ property string defaultGateway
+}
diff --git a/sample-qml/dummyimports/com/pelagicore/qmldevinfo/qmldir b/sample-qml/dummyimports/com/pelagicore/qmldevinfo/qmldir
new file mode 100644
index 0000000..1caf203
--- /dev/null
+++ b/sample-qml/dummyimports/com/pelagicore/qmldevinfo/qmldir
@@ -0,0 +1,7 @@
+#/* 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/. */
+
+DevInfo 0.1 DevInfo.qml
diff --git a/sample-qml/dummyimports/radio/Radio.qml b/sample-qml/dummyimports/radio/Radio.qml
new file mode 100644
index 0000000..cea2e1a
--- /dev/null
+++ b/sample-qml/dummyimports/radio/Radio.qml
@@ -0,0 +1,6 @@
+import QtQuick 2.0
+
+Item {
+ signal stopped
+ signal playing
+}
diff --git a/sample-qml/dummyimports/radio/qmldir b/sample-qml/dummyimports/radio/qmldir
new file mode 100644
index 0000000..e334188
--- /dev/null
+++ b/sample-qml/dummyimports/radio/qmldir
@@ -0,0 +1,2 @@
+Radio 1.0 Radio.qml
+RadioPropertyItem 1.0 Radio.qml
diff --git a/sample-qml/imports/components/AwesomeIcon.qml b/sample-qml/imports/components/AwesomeIcon.qml
new file mode 100644
index 0000000..542fb0f
--- /dev/null
+++ b/sample-qml/imports/components/AwesomeIcon.qml
@@ -0,0 +1,26 @@
+/* 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 system 1.0
+import components 1.0
+import utils 1.0
+
+Item {
+ height: icon.height
+ width: icon.height
+
+ property alias iconSize: icon.font.pixelSize
+ property alias ucKey: icon.text
+ property alias iconColor: icon.color
+
+ Text {
+ id: icon
+ font.family: "FontAwesome"
+ color: "white"
+ }
+}
+
diff --git a/sample-qml/imports/components/Box.qml b/sample-qml/imports/components/Box.qml
new file mode 100644
index 0000000..a2f2ae0
--- /dev/null
+++ b/sample-qml/imports/components/Box.qml
@@ -0,0 +1,49 @@
+/* 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
+
+Item {
+ id: root
+
+ opacity: 0.8
+ property color color: Style.grey
+ property color border: color
+ property string shadow: ""
+
+ OutShadow {
+ color: root.color
+ visible: root.shadow === "out"
+ }
+
+ Rectangle {
+ id: rect
+ anchors.fill: parent
+ color: Style.black
+ border.width: 1
+ border.color: root.border
+ }
+
+ InsetShadow {
+ color: root.color
+ visible: root.shadow === "fill"
+ }
+
+ InShadow {
+ color: root.color
+ visible: root.shadow === "in"
+ }
+
+ Rectangle {
+ visible: root.shadow === "fill"
+ anchors.fill: parent
+ color: "transparent"
+ border.width: 1
+ border.color: root.border
+ }
+
+}
diff --git a/sample-qml/imports/components/BoxButton.qml b/sample-qml/imports/components/BoxButton.qml
new file mode 100644
index 0000000..0969f46
--- /dev/null
+++ b/sample-qml/imports/components/BoxButton.qml
@@ -0,0 +1,36 @@
+/* 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 components 1.0
+
+Item {
+ id: root
+
+ property alias shadow: box.shadow
+ property alias color: box.color
+ property alias text: textItem.text
+
+ signal clicked()
+
+ Box {
+ id: box
+ anchors.fill: parent
+
+ Text {
+ id: textItem
+ anchors.centerIn: parent
+ horizontalAlignment: Text.AlignHCenter
+ font.pixelSize: 28
+ color: "white"
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: root.clicked()
+ }
+ }
+}
diff --git a/sample-qml/imports/components/BoxHeading.qml b/sample-qml/imports/components/BoxHeading.qml
new file mode 100644
index 0000000..bb2c62a
--- /dev/null
+++ b/sample-qml/imports/components/BoxHeading.qml
@@ -0,0 +1,37 @@
+/* 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
+
+Row {
+ id: root
+
+ property color color: Style.blueViv
+ property alias fontSize: headingText.font.pixelSize
+ property alias text: headingText.text
+ property alias boxWidth: box.width
+ property alias boxHeight: box.height
+
+ spacing: 10
+
+ Rectangle {
+ id: box
+ anchors.bottom: headingText.baseline
+ anchors.bottomMargin: 0
+ width: 100
+ height: 16
+ color: root.color
+ }
+
+ Text {
+ id: headingText
+ font.family: "Source Sans Pro"
+ font.pixelSize: 22
+ font.weight: Font.Bold
+ color: root.color
+ }
+}
diff --git a/sample-qml/imports/components/Button.qml b/sample-qml/imports/components/Button.qml
new file mode 100644
index 0000000..9d5c495
--- /dev/null
+++ b/sample-qml/imports/components/Button.qml
@@ -0,0 +1,30 @@
+/* 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
+
+Rectangle {
+ id: root
+ border.color: "#cccccc"
+ color:"#222"
+ border.width: 2
+ height: pairText.height + 20
+ width: pairText.width + 20
+
+ property string buttonText
+
+
+ Text {
+ id: pairText
+ anchors.centerIn: parent
+ font.family: "Source Sans Pro"
+ font.pixelSize: 48
+ font.weight: Font.Bold
+ color: "white"
+ font.capitalization: Font.AllUppercase
+ text: buttonText
+ }
+}
diff --git a/sample-qml/imports/components/DateTime.qml b/sample-qml/imports/components/DateTime.qml
new file mode 100644
index 0000000..6203712
--- /dev/null
+++ b/sample-qml/imports/components/DateTime.qml
@@ -0,0 +1,35 @@
+/* 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
+
+Item {
+ id: dateTime
+ anchors.left: parent.left
+ anchors.right: parent.right
+ height: 120
+ property var timeStamp: new Date()
+
+ Timer {
+ interval: 1000
+ running: true
+ repeat: true
+ onTriggered: timeStamp = new Date()
+ }
+
+ Label {
+ fontColor: Style.grey
+ text: Qt.formatDate(timeStamp, "ddd MMM d")
+ }
+
+ Label {
+ anchors.right: parent.right
+ fontColor: Style.grey
+ text: Qt.formatTime(timeStamp, "h:mm AP")
+ }
+}
+
diff --git a/sample-qml/imports/components/HexGrid.qml b/sample-qml/imports/components/HexGrid.qml
new file mode 100644
index 0000000..b81a09a
--- /dev/null
+++ b/sample-qml/imports/components/HexGrid.qml
@@ -0,0 +1,32 @@
+/* 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
+
+Item {
+ property real spacing: 0
+ property int columns: 3
+
+ width: childrenRect.width
+ height: childrenRect.height
+
+ Component.onCompleted: {
+ var sizeX = childrenRect.height
+ var sizeY = childrenRect.width
+ var column = 0
+ var row = 0
+
+ for (var n = 0; n < children.length; n++) {
+ children[n].x = column * (sizeX + spacing)
+ children[n].y = row * (0.5 * sizeY + spacing)
+ column += 2
+ if (column >= columns) {
+ row++
+ column = row % 2
+ }
+ }
+ }
+}
diff --git a/sample-qml/imports/components/HexSwitch.qml b/sample-qml/imports/components/HexSwitch.qml
new file mode 100644
index 0000000..d0b7909
--- /dev/null
+++ b/sample-qml/imports/components/HexSwitch.qml
@@ -0,0 +1,80 @@
+/* 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 QtGraphicalEffects 1.0
+
+Item {
+ width: 170 * height / 80
+ height: 80
+
+ property bool value
+ property bool showLabels: false
+
+ Image {
+ anchors.fill: parent
+ source: "../../images/switchplate_" + (value ? "on" : "off") + ".png"
+ }
+
+ Item {
+ id: shadowTarget
+ x: value ? parent.width * 0.375 : -11
+ width: parent.width * 0.7
+ height: parent.height
+
+ Image {
+ id: control
+ anchors.centerIn: parent
+ width: parent.height * 0.9
+ fillMode: Image.PreserveAspectFit
+ source: "../../images/switchcontrol.png"
+ }
+ }
+
+ DropShadow {
+ anchors.fill: shadowTarget
+ cached: true
+ horizontalOffset: parent.height * 0.05
+ verticalOffset: parent.height * 0.05
+ radius: 16
+ samples: 32
+ color: Qt.rgba(0, 0, 0, 0.35)
+ smooth: true
+ source: shadowTarget
+ }
+
+ Text {
+ text: qsTr("OFF")
+ font.family: "Source Sans Pro"
+ anchors.right: parent.left
+ anchors.rightMargin: 30
+ anchors.verticalCenter: parent.verticalCenter
+ font.pointSize: 25
+ font.letterSpacing: -0.5
+ font.weight: value ? Font.Normal : Font.Bold
+ color: value ? "#C4C4C4" : "#FE9C00"
+ visible: showLabels
+ }
+
+ Text {
+ id: onText
+ text: qsTr("ON")
+ font.family: "Source Sans Pro"
+ anchors.left: parent.right
+ anchors.leftMargin: 30
+ font.pointSize: 25
+ anchors.verticalCenter: parent.verticalCenter
+ font.letterSpacing: -0.5
+ font.weight: value ? Font.Bold : Font.Normal
+ color: value ? "#59FF00" : "#C4C4C4"
+ visible: showLabels
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: value = !value
+ }
+}
diff --git a/sample-qml/imports/components/InShadow.qml b/sample-qml/imports/components/InShadow.qml
new file mode 100644
index 0000000..2d64c2a
--- /dev/null
+++ b/sample-qml/imports/components/InShadow.qml
@@ -0,0 +1,33 @@
+/* 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
+
+ShaderEffect {
+ anchors.fill: parent
+ property color color
+ property real radius: 16
+
+ fragmentShader: "
+uniform lowp float radius;
+uniform lowp float height;
+uniform lowp float width;
+uniform lowp float qt_Opacity;
+uniform lowp vec4 color;
+varying highp vec2 qt_TexCoord0;
+
+void main(void) {
+ lowp vec2 dist = min(qt_TexCoord0, vec2(1.0) - qt_TexCoord0);
+ // Border shadow
+ lowp float xval = smoothstep(0.0, radius, dist.x * width);
+ lowp float yval = smoothstep(0.0, radius, dist.y * height);
+ lowp float borderVal = sqrt(yval * xval) * 0.5 + 0.5;
+
+ lowp vec4 borderColor = mix(color, vec4(0.0, 0.0, 0.0, 1.0), borderVal);
+ gl_FragColor = borderColor * qt_Opacity;
+}
+ "
+}
diff --git a/sample-qml/imports/components/InsetShadow.qml b/sample-qml/imports/components/InsetShadow.qml
new file mode 100644
index 0000000..6ad17cd
--- /dev/null
+++ b/sample-qml/imports/components/InsetShadow.qml
@@ -0,0 +1,40 @@
+/* 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
+
+ShaderEffect {
+ anchors.fill: parent
+ property color color
+ property real radius: 100
+ property real border: 20
+
+ fragmentShader: "
+uniform lowp float radius;
+uniform lowp float border;
+uniform lowp float height;
+uniform lowp float width;
+uniform lowp float qt_Opacity;
+uniform lowp vec4 color;
+varying highp vec2 qt_TexCoord0;
+
+void main(void) {
+ lowp vec2 dist = min(qt_TexCoord0, vec2(1.0) - qt_TexCoord0);
+ // Border shadow
+ lowp float xval = smoothstep(0.0, border, dist.x * width);
+ lowp float yval = smoothstep(0.0, border, dist.y * height);
+ lowp float borderVal = sqrt(yval * xval) * 0.5 + 0.5;
+ // Inner shadow
+ xval = smoothstep(0.0, radius, dist.x * width);
+ yval = smoothstep(0.0, radius, dist.y * width);
+ lowp float innerVal = sqrt(yval * xval) * 0.5 + 0.5;
+
+ lowp vec4 innerColor = mix(vec4(0.0, 0.0, 0.0, 0.5), color, innerVal);
+ lowp vec4 borderColor = mix(vec4(0.0, 0.0, 0.0, 1.0), innerColor, borderVal);
+ gl_FragColor = borderColor * qt_Opacity;
+}
+ "
+}
diff --git a/sample-qml/imports/components/Label.qml b/sample-qml/imports/components/Label.qml
new file mode 100644
index 0000000..e1e0b30
--- /dev/null
+++ b/sample-qml/imports/components/Label.qml
@@ -0,0 +1,27 @@
+/* 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
+
+Item {
+ // Tracer {}
+ width: childrenRect.width
+ height: childrenRect.height
+ property alias text: text.text
+ property alias label: text
+ property alias fontSize: text.font.pixelSize
+ property alias fontColor: text.color
+
+ Text {
+ id: text
+ color: "#ddd"
+ font.family: "Source Sans Pro"
+ font.pixelSize: 40
+ font.capitalization: Font.AllUppercase
+ font.weight: Font.Bold
+ }
+}
diff --git a/sample-qml/imports/components/NumberPad.qml b/sample-qml/imports/components/NumberPad.qml
new file mode 100644
index 0000000..b7763ca
--- /dev/null
+++ b/sample-qml/imports/components/NumberPad.qml
@@ -0,0 +1,101 @@
+/* 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
+
+Item {
+ id: root
+ height: childrenRect.height
+ property var letters: ["","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"]
+ property var bottomRow: ["*","0","#"]
+
+ signal number(string number)
+
+ Grid {
+ id: numberGrid
+ columns: 3
+ spacing: 20
+
+ Repeater {
+ model: 9
+ delegate: Item {
+ id: numberKey
+ width: (root.width - ( numberGrid.spacing*(numberGrid.columns-1)))/numberGrid.columns
+ height: numberKey.width * 0.8
+ anchors.margins: 10
+
+ Rectangle {
+ id: shadowTarget
+ anchors.fill: parent
+ border.width: 1
+ border.color: "white"
+ color: "#6653b5ce"
+ }
+
+ Item {
+ height: childrenRect.height
+ width: parent.width
+ anchors.centerIn: parent
+
+ Label {
+ anchors.horizontalCenter: parent.horizontalCenter
+ id: keypadNumber
+ text: index + 1
+ }
+
+ Label {
+ anchors.horizontalCenter: parent.horizontalCenter
+ id: keypadLetters
+ anchors.top: keypadNumber.bottom
+ fontSize: 30
+ fontColor: "#53b5ce"
+ text: letters[index]
+ }
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: root.number(keypadNumber.text)
+ }
+ }
+ }
+
+ Repeater {
+ model: 3
+ delegate: Item {
+ width: (root.width - ( numberGrid.spacing*(numberGrid.columns-1)))/numberGrid.columns
+ height: width * 0.8
+ anchors.margins: 10
+
+ Rectangle {
+ id: shadowTarget
+ anchors.fill: parent
+ border.width: 1
+ border.color: "white"
+ color: "#6653b5ce"
+ }
+
+ Item {
+ height: childrenRect.height
+ width: parent.width
+ anchors.centerIn: parent
+
+ Label {
+ anchors.horizontalCenter: parent.horizontalCenter
+ id: keypadNumber
+ text: bottomRow[index]
+ }
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: root.number(keypadNumber.text)
+ }
+ }
+ }
+ }
+}
diff --git a/sample-qml/imports/components/OutShadow.qml b/sample-qml/imports/components/OutShadow.qml
new file mode 100644
index 0000000..f4d8407
--- /dev/null
+++ b/sample-qml/imports/components/OutShadow.qml
@@ -0,0 +1,41 @@
+/* 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 QtGraphicalEffects 1.0
+
+Item {
+ id: root
+
+ anchors.fill: parent
+ property alias color: shadow.color
+ property alias radius: shadow.radius
+
+ Item {
+ id: shadowTarget
+ x: -radius
+ y: -radius
+ width: parent.width + 2 * radius
+ height: parent.height + 2 * radius
+
+ Rectangle {
+ anchors.centerIn: parent
+ width: root.width
+ height: root.height
+ color: "black"
+ }
+ }
+
+ DropShadow {
+ id: shadow
+ anchors.fill: shadowTarget
+ horizontalOffset: 0
+ verticalOffset: 0
+ radius: 16
+ samples: 32
+ source: shadowTarget
+ }
+}
diff --git a/sample-qml/imports/components/Switch.qml b/sample-qml/imports/components/Switch.qml
new file mode 100644
index 0000000..6cd50c7
--- /dev/null
+++ b/sample-qml/imports/components/Switch.qml
@@ -0,0 +1,13 @@
+/* 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
+
+Switch {
+ width: 100
+ height: 62
+}
+
diff --git a/sample-qml/imports/components/qmldir b/sample-qml/imports/components/qmldir
new file mode 100644
index 0000000..57e4d2d
--- /dev/null
+++ b/sample-qml/imports/components/qmldir
@@ -0,0 +1,16 @@
+#/* 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/. */
+
+AwesomeIcon 1.0 AwesomeIcon.qml
+Box 1.0 Box.qml
+BoxButton 1.0 BoxButton.qml
+BoxHeading 1.0 BoxHeading.qml
+DateTime 1.0 DateTime.qml
+HexGrid 1.0 HexGrid.qml
+HexSwitch 1.0 HexSwitch.qml
+Label 1.0 Label.qml
+NumberPad 1.0 NumberPad.qml
+Button 1.0 Button.qml
diff --git a/sample-qml/imports/radio/Radio.qml b/sample-qml/imports/radio/Radio.qml
new file mode 100644
index 0000000..cea2e1a
--- /dev/null
+++ b/sample-qml/imports/radio/Radio.qml
@@ -0,0 +1,6 @@
+import QtQuick 2.0
+
+Item {
+ signal stopped
+ signal playing
+}
diff --git a/sample-qml/imports/radio/qmldir b/sample-qml/imports/radio/qmldir
new file mode 100644
index 0000000..e334188
--- /dev/null
+++ b/sample-qml/imports/radio/qmldir
@@ -0,0 +1,2 @@
+Radio 1.0 Radio.qml
+RadioPropertyItem 1.0 Radio.qml
diff --git a/sample-qml/imports/system/App.qml b/sample-qml/imports/system/App.qml
new file mode 100644
index 0000000..d99e7f8
--- /dev/null
+++ b/sample-qml/imports/system/App.qml
@@ -0,0 +1,35 @@
+/* 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 system 1.0
+
+FocusScope {
+ id: root
+ property string appId
+ width: 1080
+ height: 1920
+ visible: true
+ property bool hasKeyFocus: false
+ focus: visible
+ onFocusChanged: if (focus) hasKeyFocus = true
+
+ Rectangle{
+ anchors.fill: parent
+ color: 'black'
+ }
+
+ Keys.onPressed: {
+ switch (event.key) {
+ case Qt.Key_Left:
+ case Qt.Key_Right:
+ root.hasKeyFocus = false
+ break
+ default:
+ break
+ }
+ }
+}
diff --git a/sample-qml/imports/system/App.qml.org b/sample-qml/imports/system/App.qml.org
new file mode 100644
index 0000000..d7da73c
--- /dev/null
+++ b/sample-qml/imports/system/App.qml.org
@@ -0,0 +1,29 @@
+/* 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 system 1.0
+
+FocusScope {
+ id: root
+ property string appId
+ anchors.fill: parent
+ visible: System.activeApp === appId
+ property bool hasKeyFocus: false
+ focus: visible
+ onFocusChanged: if (focus) hasKeyFocus = true
+
+ Keys.onPressed: {
+ switch (event.key) {
+ case Qt.Key_Left:
+ case Qt.Key_Right:
+ root.hasKeyFocus = false
+ break
+ default:
+ break
+ }
+ }
+}
diff --git a/sample-qml/imports/system/System.qml b/sample-qml/imports/system/System.qml
new file mode 100644
index 0000000..8e155fd
--- /dev/null
+++ b/sample-qml/imports/system/System.qml
@@ -0,0 +1,15 @@
+/* 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/. */
+
+pragma Singleton
+import QtQuick 2.0
+
+Item {
+ property string activeApp: "home"
+ property string activeSetting: "settings"
+ property bool showKeyboard: false
+ property bool showSettings: false
+}
diff --git a/sample-qml/imports/system/qmldir b/sample-qml/imports/system/qmldir
new file mode 100644
index 0000000..afa0f56
--- /dev/null
+++ b/sample-qml/imports/system/qmldir
@@ -0,0 +1,8 @@
+#/* 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/. */
+
+singleton System 1.0 System.qml
+App 1.0 App.qml
diff --git a/sample-qml/imports/utils/Marker.qml b/sample-qml/imports/utils/Marker.qml
new file mode 100644
index 0000000..c7a377e
--- /dev/null
+++ b/sample-qml/imports/utils/Marker.qml
@@ -0,0 +1,60 @@
+/* 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
+
+Item {
+ id: root
+ width: 120
+ height: 120
+ property string text
+ signal clicked()
+ property alias pressed: area.pressed
+ property alias color: background.color
+ property alias fontSize: label.font.pixelSize
+ property bool fill: false
+
+ Rectangle {
+ id: background
+ anchors.fill: parent
+ color: Style.backgroundColor
+ opacity: root.fill ? 1.0: 0.2
+ }
+
+ Rectangle {
+ id: frame
+ anchors.fill: parent
+ color: 'transparent'
+ border.color: Qt.darker(background.color, 1.4)
+ border.width: 2
+ opacity: 1.0
+ }
+
+
+ Rectangle {
+ anchors.fill: label
+ anchors.margins: -2
+ color: Style.backgroundColor
+ opacity: root.text ? 1.0 : 0.0
+ }
+
+ Text {
+ id: label
+ anchors.centerIn: parent
+ font.pixelSize: 14
+ color: Style.greyDarkColor
+ opacity: 0.75
+ text: root.text
+ }
+ MouseArea {
+ id: area
+ anchors.fill: parent
+ onClicked: root.clicked()
+ onPressed: background.color = Qt.darker(background.color, 1.5)
+ onReleased: background.color = Qt.lighter(background.color, 1.5)
+ }
+}
diff --git a/sample-qml/imports/utils/Style.qml b/sample-qml/imports/utils/Style.qml
new file mode 100644
index 0000000..f9d9c16
--- /dev/null
+++ b/sample-qml/imports/utils/Style.qml
@@ -0,0 +1,37 @@
+/* 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/. */
+
+pragma Singleton
+import QtQuick 2.2
+
+QtObject {
+ property bool debugMode: false
+ property bool debugFill: false
+
+ // Primary colors
+ property color orangeLt: "#ffd38c"
+ property color orangeViv: "#fe9c00"
+ property color blueLt: "#b2f0ff"
+ property color blueViv: "#53b5ce"
+ // Secondary colors
+ property color yellowLt: "#ffffb2"
+ property color yellowViv: "#ffff00"
+ property color greenLt: "#cdffb2"
+ property color greenViv: "#59ff00"
+ // Neutral colors
+ property color white: "#ffffff"
+ property color grey: "#c4c4c4"
+ property color black: "#000000"
+ property color overlay: Qt.rgba(0, 0, 0, 0.8)
+
+ function getGfxPath() {
+ return Qt.resolvedUrl("../assets/")
+ }
+
+ function gfx(name) {
+ return Qt.resolvedUrl("../../images/" + name )
+ }
+}
diff --git a/sample-qml/imports/utils/qmldir b/sample-qml/imports/utils/qmldir
new file mode 100644
index 0000000..c2df9de
--- /dev/null
+++ b/sample-qml/imports/utils/qmldir
@@ -0,0 +1,8 @@
+#/* 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/. */
+
+singleton Style 1.0 Style.qml
+Marker 1.0 Marker.qml
diff --git a/sample-qml/imports/vehicle/ClimateModel.qml b/sample-qml/imports/vehicle/ClimateModel.qml
new file mode 100644
index 0000000..9633f16
--- /dev/null
+++ b/sample-qml/imports/vehicle/ClimateModel.qml
@@ -0,0 +1,44 @@
+/* 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/. */
+
+pragma Singleton
+
+import QtQuick 2.0
+import Automotive.ClimateControl 1.0
+
+Item {
+ property real fanStepSize:1/255 //Represents the stepSize for a given Climate control.
+ property alias fanSpeed: fanControl.fanSpeedLevel
+
+ property real temperatureStepSize:1/15 //0== 15c, 15 == 30c
+
+ property alias leftTemp: leftFront.targetTemperature
+ property alias rightTemp: rightFront.targetTemperature
+
+ ClimateControlItem {
+ id:fanControl
+ }
+
+ ClimateControlItem {
+ id: leftFront
+ zone: 9
+ }
+
+ ClimateControlItem {
+ id: rightFront
+ zone: 5
+ }
+
+ function getRangeValue(inputVal,stepSize){
+ if(inputVal > 0){
+ return Math.ceil(inputVal/stepSize);
+ }else{
+ return 0;
+ }
+ }
+
+}
+
diff --git a/sample-qml/imports/vehicle/FuelModel.qml b/sample-qml/imports/vehicle/FuelModel.qml
new file mode 100644
index 0000000..fa064e2
--- /dev/null
+++ b/sample-qml/imports/vehicle/FuelModel.qml
@@ -0,0 +1,46 @@
+/* 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/. */
+
+pragma Singleton
+
+import QtQuick 2.0
+
+Item {
+ property bool metric: false
+
+ function galToL(value) {
+ return (metric ? 3.78541 : 1) * value
+ }
+
+ function mpgToLp100(value) {
+ return metric ? 235.214583571 / value : value
+ }
+
+ property real baseTank: 25
+ property real tankSize: galToL(baseTank)
+ property real level: tankSize * percentage * 0.01
+ property real percentage: 100
+ property real range: metric ? 100 * level / average : level * average
+ property real baseAverage: 20.7
+ property real average: mpgToLp100(baseAverage + mpgDiff)
+ property real mpgDiff: 0
+
+ NumberAnimation on percentage {
+ from: 100
+ to: 0
+ duration: 5000
+ loops: Animation.Infinite
+ easing.type: Easing.CosineCurve
+ }
+
+ NumberAnimation on mpgDiff {
+ from: -2
+ to: 2
+ duration: 11200
+ loops: Animation.Infinite
+ easing.type: Easing.CosineCurve
+ }
+}
diff --git a/sample-qml/imports/vehicle/PositionModel.qml b/sample-qml/imports/vehicle/PositionModel.qml
new file mode 100644
index 0000000..00956aa
--- /dev/null
+++ b/sample-qml/imports/vehicle/PositionModel.qml
@@ -0,0 +1,33 @@
+/* Copyright (C) 2015, Jaguar Land Rover, IoT.bzh. 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/. */
+
+pragma Singleton
+
+import QtQuick 2.0
+import amb 0.1
+
+Item {
+ property string nmeaString: nmea.value
+ property real satellites: satsUsed.value
+
+ AutomotivePropertyItem {
+ id: nmea
+
+ objectName: "GpsNmea"
+ propertyName: "Nmea"
+
+ Component.onCompleted: nmea.connect();
+ }
+
+ AutomotivePropertyItem {
+ id: satsUsed
+
+ objectName: "GpsSatsUsed"
+ propertyName: "SatsUsed"
+
+ Component.onCompleted: satsUsed.connect();
+ }
+}
diff --git a/sample-qml/imports/vehicle/SpeedModel.qml b/sample-qml/imports/vehicle/SpeedModel.qml
new file mode 100644
index 0000000..03422b0
--- /dev/null
+++ b/sample-qml/imports/vehicle/SpeedModel.qml
@@ -0,0 +1,38 @@
+/* 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/. */
+
+pragma Singleton
+
+import QtQuick 2.0
+import amb 0.1
+
+Item {
+ property bool metric: false
+
+ function mphToKph(value) {
+ return (metric ? 1.60934 : 1 ) * value
+ }
+
+ property real max:Math.ceil(mphToKph(baseMaxSpeed)/30)*30
+ property real baseMaxSpeed: 255
+ property real textSpeed: prop.value
+ property real percentage: textSpeed / max * 100
+
+ AutomotivePropertyItem {
+ id: prop
+
+ objectName: "VehicleSpeed"
+ propertyName: "Speed"
+
+ Component.onCompleted: prop.connect();
+ }
+
+ Behavior on percentage {
+ SmoothedAnimation {
+ velocity: 100
+ }
+ }
+}
diff --git a/sample-qml/imports/vehicle/TemperatureModel.qml b/sample-qml/imports/vehicle/TemperatureModel.qml
new file mode 100644
index 0000000..2bfbbf4
--- /dev/null
+++ b/sample-qml/imports/vehicle/TemperatureModel.qml
@@ -0,0 +1,26 @@
+/* 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/. */
+
+pragma Singleton
+
+import QtQuick 2.0
+
+Item {
+ property bool metric: true
+
+ function unit(value) {
+ return celsiusToFahrenheit(value).toFixed(1) + "\u00b0" + (metric ? "C" : "F")
+ }
+
+ function celsiusToFahrenheit(value) {
+ return (metric ? value : 1.8 * value + 32)
+ }
+
+ property real indoor: 20.4
+ property string indoorString: unit(indoor)
+ property real outdoor: 28.9
+ property string outdoorString: unit(outdoor)
+}
diff --git a/sample-qml/imports/vehicle/qmldir b/sample-qml/imports/vehicle/qmldir
new file mode 100644
index 0000000..6538e95
--- /dev/null
+++ b/sample-qml/imports/vehicle/qmldir
@@ -0,0 +1,11 @@
+#/* 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/. */
+
+singleton FuelModel 1.0 FuelModel.qml
+singleton SpeedModel 1.0 SpeedModel.qml
+singleton TemperatureModel 1.0 TemperatureModel.qml
+singleton PositionModel 1.0 PositionModel.qml
+singleton ClimateModel 1.0 ClimateModel.qml
diff --git a/sample-qml/main.cpp b/sample-qml/main.cpp
new file mode 100644
index 0000000..9238a9b
--- /dev/null
+++ b/sample-qml/main.cpp
@@ -0,0 +1,75 @@
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
+#include <unistd.h>
+#include <vector>
+#include <QQmlContext>
+#include <libhomescreen.hpp> // use libhomescreen
+#include "calledbyqml.h"
+
+
+#define FULLSCREEN 1 // assume 1 is "fullscreen"
+
+
+int main(int argc, char *argv[])
+{
+ QGuiApplication app(argc, argv);
+
+ /* use libhomescreen
+ To use libhomescreen, add library path in project file(.pro)
+ */
+ LibHomeScreen *mp_libHomeScreen;
+ mp_libHomeScreen = new LibHomeScreen();
+
+ QQmlApplicationEngine engine;
+ CalledByQml call_hsa;
+ engine.rootContext()->setContextProperty("hsa",&call_hsa);
+
+ int appcategory = 0 ;
+
+ bool enabled = true;
+ enabled = mp_libHomeScreen->renderAppToAreaAllowed(appcategory, FULLSCREEN);
+ if(enabled)
+ {
+ QString target(getenv("AFM_APP_INSTALL_DIR"));
+ qDebug("AFM_APP_INSTALL_DIR is " + target.toLatin1());
+
+ if(NULL == target)
+ {
+ target = ".";
+ }
+
+ QString load_path;
+ load_path = target + "/imports";
+ engine.addImportPath(load_path);
+ load_path = target + "/dummyimports";
+ engine.addImportPath(load_path);
+ load_path = target + "/main.qml";
+
+ engine.load(QUrl(load_path));
+
+ std::vector<int> surfaceIdList;
+ int pid = getpid();
+ //maybe we can't call this function...
+ //surfaceIdList = mp_libHomeScreen->getAllSurfacesOfProcess(pid);
+ if(surfaceIdList.empty())
+ {
+ qDebug("surface list is empty");
+ }
+ else
+ {
+ qDebug("surface list is contained");
+ // it will be implemented as soon as possible
+ //mp_libHomeScreen->renderSurfaceToArea(surfaceIdList.at(0),FULLSCREEN);
+ }
+ }
+ else
+ {
+ qDebug("renderAppToAreaAllowed is denied");
+ delete mp_libHomeScreen;
+ return 0;
+ }
+
+ app.exec();
+ delete mp_libHomeScreen;
+ return 0;
+}
diff --git a/sample-qml/main.qml b/sample-qml/main.qml
new file mode 100644
index 0000000..e2af15f
--- /dev/null
+++ b/sample-qml/main.qml
@@ -0,0 +1,38 @@
+import QtQuick 2.6
+import QtQuick.Window 2.2
+import "apps/HVAC"
+import "imports"
+import "dummyimports"
+
+Window {
+ visible: true
+ width: 1080
+ height: 1920
+ title: qsTr("AGL sample qml app")
+
+ //MainForm {
+ // anchors.fill: parent
+ // mouseArea.onClicked: {
+ // Qt.quit();
+ // }
+ //}
+ HVAC {
+ id: hvc
+ width: 1080
+ height: 1920
+ visible: true
+ }
+ onVisibleChanged: {
+ if(visible == true)
+ {
+ console.log("visible true")
+ console.log("maybe it is okay")
+ hsa.consoleout()
+ hsa.refresh();
+ }
+ else{
+ console.log("visible false")
+ }
+ }
+
+}
diff --git a/sample-qml/main2.qml b/sample-qml/main2.qml
new file mode 100644
index 0000000..f2ff4c9
--- /dev/null
+++ b/sample-qml/main2.qml
@@ -0,0 +1,27 @@
+import QtQuick 2.6
+import QtQuick.Window 2.2
+
+Window {
+ visible: true
+ width: 1080
+ height: 1920
+ title: qsTr("AGL sample qml app")
+
+ MainForm {
+ anchors.fill: parent
+ mouseArea.onClicked: {
+ Qt.quit();
+ }
+ }
+ onVisibleChanged: {
+ if(visible == true)
+ {
+ console.log("2:visible true")
+ console.log("maybe it is okay")
+ }
+ else{
+ console.log("visible2 false")
+ }
+ }
+
+}
diff --git a/sample-qml/qml.qrc b/sample-qml/qml.qrc
new file mode 100644
index 0000000..680a07e
--- /dev/null
+++ b/sample-qml/qml.qrc
@@ -0,0 +1,22 @@
+<RCC>
+ <qresource prefix="/">
+ <file>main.qml</file>
+ <file>MainForm.ui.qml</file>
+ <file>apps/HVAC/TemperatureWheel.qml</file>
+ <file>apps/HVAC/TempSlider.qml</file>
+ <file>apps/HVAC/SeatHeatButton.qml</file>
+ <file>apps/HVAC/MiddleColumn.qml</file>
+ <file>apps/HVAC/HazardButton.qml</file>
+ <file>apps/HVAC/HVAC.qml</file>
+ <file>apps/HVAC/FanControl.qml</file>
+ <file>apps/HVAC/ClimateButton.qml</file>
+ <file>imports/vehicle/qmldir</file>
+ <file>imports/utils/qmldir</file>
+ <file>imports/system/qmldir</file>
+ <file>imports/radio/qmldir</file>
+ <file>imports/components/qmldir</file>
+ <file>dummyimports/radio/qmldir</file>
+ <file>dummyimports/com/pelagicore/qmldevinfo/qmldir</file>
+ <file>dummyimports/amb/qmldir</file>
+ </qresource>
+</RCC>
diff --git a/sample-qml/sample-qml b/sample-qml/sample-qml
new file mode 100755
index 0000000..d5739e4
--- /dev/null
+++ b/sample-qml/sample-qml
Binary files differ
diff --git a/sample-qml/sample-qml.pro b/sample-qml/sample-qml.pro
new file mode 100644
index 0000000..e26bef6
--- /dev/null
+++ b/sample-qml/sample-qml.pro
@@ -0,0 +1,22 @@
+TEMPLATE = app
+
+QT += qml quick
+CONFIG += c++11
+
+SOURCES += main.cpp \
+ calledbyqml.cpp
+
+RESOURCES += qml.qrc
+
+# Additional import path used to resolve QML modules in Qt Creator's code model
+QML_IMPORT_PATH =
+
+INCLUDEPATH += $$PWD/../libhomescreen/include/
+
+LIBS += -L$$OUT_PWD/../libhomescreen -lhomescreen
+
+# Default rules for deployment.
+include(deployment.pri)
+
+HEADERS += \
+ calledbyqml.h
diff --git a/sample-qml/zip-command b/sample-qml/zip-command
new file mode 100644
index 0000000..c5108cf
--- /dev/null
+++ b/sample-qml/zip-command
@@ -0,0 +1 @@
+zip -q -r sample.wgt .