summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Byrne <jack@livio.io>2015-05-07 11:57:08 -0700
committerJack Byrne <jack@livio.io>2015-05-07 11:57:08 -0700
commit4ffc7dcff7fb45f1be507c5cd41b66f4347b2306 (patch)
tree0d046642396f4dcfa0c45016719177f6db9919f4
parenteb78ad5c42a5763e0bd7555fe287b71d7e5f1427 (diff)
downloadsmartdevicelink-4ffc7dcff7fb45f1be507c5cd41b66f4347b2306.tar.gz
Added HMI view for climate controls
-rw-r--r--src/components/HMI/app/controller/ClimateController.js17
-rw-r--r--src/components/HMI/app/model/ClimateControlModel.js22
-rw-r--r--src/components/HMI/app/view/climateView.js60
-rw-r--r--src/components/HMI/css/climateControl.css51
-rw-r--r--src/components/HMI/index.html3
-rw-r--r--src/components/interfaces/MOBILE_API.xml33
6 files changed, 182 insertions, 4 deletions
diff --git a/src/components/HMI/app/controller/ClimateController.js b/src/components/HMI/app/controller/ClimateController.js
new file mode 100644
index 000000000..c1d60ef77
--- /dev/null
+++ b/src/components/HMI/app/controller/ClimateController.js
@@ -0,0 +1,17 @@
+SDL.ClimateController = Em.Object.create({
+
+ modelBinding: "SDL.ClimateControlModel",
+
+ climateUp: function() {
+ this.model.increaseSpeed();
+ },
+
+ climateDown: function() {
+ this.model.decreaseSpeed();
+ },
+ setClimate: function(request){
+
+ this.model.setSpeed(request.params.fanSpeed);
+ }
+
+}); \ No newline at end of file
diff --git a/src/components/HMI/app/model/ClimateControlModel.js b/src/components/HMI/app/model/ClimateControlModel.js
new file mode 100644
index 000000000..ee8c79427
--- /dev/null
+++ b/src/components/HMI/app/model/ClimateControlModel.js
@@ -0,0 +1,22 @@
+SDL.ClimateControlModel = Em.Object.create({
+
+ currentTemp: 72,
+
+ currentFanSpeed: 0,
+
+ increaseSpeed: function(){
+ this.set('currentFanSpeed', this.currentFanSpeed+1);
+ Em.Logger.log(this.currentFanSpeed);
+ },
+
+ decreaseSpeed: function(){
+ this.set('currentFanSpeed', this.currentFanSpeed-1);
+ Em.Logger.log(this.currentFanSpeed);
+ },
+
+ setSpeed: function(speed){
+ this.set('currentFanSpeed', speed);
+ Em.Logger.log(this.currentFanSpeed);
+ }
+
+}) \ No newline at end of file
diff --git a/src/components/HMI/app/view/climateView.js b/src/components/HMI/app/view/climateView.js
index 626c2a235..87649228a 100644
--- a/src/components/HMI/app/view/climateView.js
+++ b/src/components/HMI/app/view/climateView.js
@@ -42,15 +42,67 @@ SDL.ClimateView = Em.ContainerView.create( {
childViews:
[
- 'windowText'
+ 'climateView'
],
- windowText: SDL.Label.extend( {
+ climateView: Em.ContainerView.extend( {
- classNames: 'windowText',
+ elementId: 'climate_control',
- content: 'Climate'
+ childViews: [
+ 'fanSpeed'
+ //'currentTemp',
+ //'desiredTemp',
+ //'acEnable',
+ //'recirculateAirEnable',
+ //'autoModeEnable',
+ //'defrostZone',
+ //'dualModeEnable'
+
+ ],
+
+ fanSpeed: Em.ContainerView.extend({
+ elementId: 'fan_speed_container',
+ childViews: [
+ 'fanSpeedUpButton',
+ 'fanSpeedDownButton',
+ 'fanSpeedLevel'
+
+ ],
+
+ fanSpeedUpButton: SDL.Button.extend({
+ elementId: 'fan_speed_up_button',
+
+ text: 'Up',
+
+ action: 'climateUp',
+
+ target: "SDL.ClimateController"
+
+
+ }),
+
+ fanSpeedDownButton: SDL.Button.extend({
+ elementId: 'fan_speed_down_button',
+
+ text: 'Down',
+
+ action: 'climateDown',
+
+ target: "SDL.ClimateController",
+
+ }),
+
+ fanSpeedLevel: SDL.Label.extend({
+
+ elementId: 'fan_speed_level',
+
+ contentBinding: Em.Binding.oneWay('SDL.ClimateController.model.currentFanSpeed')
+
+ })
+ })
+
} )
} );
diff --git a/src/components/HMI/css/climateControl.css b/src/components/HMI/css/climateControl.css
new file mode 100644
index 000000000..278ee0b6f
--- /dev/null
+++ b/src/components/HMI/css/climateControl.css
@@ -0,0 +1,51 @@
+#climate_control{
+ width: 800px;
+ height: 480px;
+}
+
+#fan_speed_container{
+ width: 282px;
+ height: 200px;
+ position: absolute;
+ left: 100px;
+ top: 141px;
+}
+
+#fan_speed_up_button{
+ left: 95px;
+ top: 0px;
+ width: 93px;
+ height: 49px;
+ border-left: 1px solid #393939;
+ border-right: 1px solid #393939;
+ border-top: 1px solid #393939;
+ font-size: 26px;
+ text-align: center;
+ line-height: 32px;
+}
+
+#fan_speed_down_button{
+ left: 95px;
+ top: 100px;
+ width: 93px;
+ height: 49px;
+ border-left: 1px solid #393939;
+ border-right: 1px solid #000;
+ border-top: 1px solid #393939;
+ font-size: 26px;
+ text-align: center;
+ line-height: 32px;
+}
+
+#fan_speed_level{
+ left: 95px;
+ top: 50px;
+ width: 93px;
+ height: 49px;
+ border-top: 1px solid #393939;
+ border-left: 1px solid #393939;
+ border-right: 1px solid #000;
+ font-size: 26px;
+ text-align: center;
+ line-height: 32px;
+} \ No newline at end of file
diff --git a/src/components/HMI/index.html b/src/components/HMI/index.html
index fc7aae55a..4ffb7b92f 100644
--- a/src/components/HMI/index.html
+++ b/src/components/HMI/index.html
@@ -12,6 +12,7 @@
<link rel="stylesheet" type="text/css" href="css/settings.css" />
<link rel="stylesheet" type="text/css" href="css/media.css" />
<link rel="stylesheet" type="text/css" href="css/sdl.css" />
+ <link rel="stylesheet" type="text/css" href="css/climateControl.css" />
<!--Libs-->
@@ -83,12 +84,14 @@
<script type="text/javascript" src="app/model/sdl/NonMediaModel.js"></script>
<script type="text/javascript" src="app/model/sdl/MediaModel.js"></script>
<script type="text/javascript" src="app/model/sdl/Model.js"></script>
+ <script type="text/javascript" src="app/model/ClimateControlModel.js"></script>
<!-- SDL models END -->
<!-- Controllers -->
<!--script type="text/javascript" src="app/controller/AppController.js"></script-->
<script type="text/javascript" src="app/controller/MediaController.js"></script>
<script type="text/javascript" src="app/controller/PhoneController.js"></script>
+ <script type="text/javascript" src="app/controller/ClimateController.js"></script>
<script type="text/javascript" src="app/controller/InfoController.js"></script>
<script type="text/javascript" src="app/controller/SettingsController.js"></script>
diff --git a/src/components/interfaces/MOBILE_API.xml b/src/components/interfaces/MOBILE_API.xml
index 41b00fd1f..475076364 100644
--- a/src/components/interfaces/MOBILE_API.xml
+++ b/src/components/interfaces/MOBILE_API.xml
@@ -5018,6 +5018,39 @@
</param>
</function>
+
+<function name="SetInteriorVehicleData" functionID="SetInteriorVehicleDataID" messagetype="request">
+ <param name="moduleData" type="ModuleData">
+ <description>The zone, module, and data to set for the (zone, module) pair</description>
+ </param>
+</function>
+
+<function name="SetInteriorVehicleData" functionID="SetInteriorVehicleDataID" messagetype="response">
+ <description>Used to set the values of one zone and one data type within that zone</description>
+ <param name="moduleData" type="ModuleData">
+ </param>
+ <param name="resultCode" type="Result" platform="documentation">
+ <description>See Result</description>
+ <element name="SUCCESS"/>
+ <element name="INVALID_DATA"/>
+ <element name="OUT_OF_MEMORY"/>
+ <element name="TOO_MANY_PENDING_REQUESTS"/>
+ <element name="APPLICATION_NOT_REGISTERED"/>
+ <element name="GENERIC_ERROR"/>
+ <element name="REJECTED"/>
+ <element name="IGNORED"/>
+ <element name="DISALLOWED"/>
+ <element name="USER_DISALLOWED"/>
+ <element name="READ_ONLY"/>
+ <element name="UNSUPPORTED_RESOURCE"/>
+ </param>
+ <param name="info" type="String" maxlength="1000" mandatory="false">
+ </param>
+ <param name="success" type="Boolean" platform="documentation">
+ <description> true if successful; false, if failed </description>
+ </param>
+</function>
+
<!-- Notifications -->
<function name="OnHMIStatus" functionID="OnHMIStatusID" messagetype="notification">