diff options
author | Jack Byrne <jack@livio.io> | 2015-05-07 11:57:08 -0700 |
---|---|---|
committer | Jack Byrne <jack@livio.io> | 2015-05-07 11:57:08 -0700 |
commit | 4ffc7dcff7fb45f1be507c5cd41b66f4347b2306 (patch) | |
tree | 0d046642396f4dcfa0c45016719177f6db9919f4 | |
parent | eb78ad5c42a5763e0bd7555fe287b71d7e5f1427 (diff) | |
download | smartdevicelink-4ffc7dcff7fb45f1be507c5cd41b66f4347b2306.tar.gz |
Added HMI view for climate controls
-rw-r--r-- | src/components/HMI/app/controller/ClimateController.js | 17 | ||||
-rw-r--r-- | src/components/HMI/app/model/ClimateControlModel.js | 22 | ||||
-rw-r--r-- | src/components/HMI/app/view/climateView.js | 60 | ||||
-rw-r--r-- | src/components/HMI/css/climateControl.css | 51 | ||||
-rw-r--r-- | src/components/HMI/index.html | 3 | ||||
-rw-r--r-- | src/components/interfaces/MOBILE_API.xml | 33 |
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">
|