diff options
Diffstat (limited to 'SDL_Core/src/components/qt_hmi/qml_model_qt4/models')
20 files changed, 2327 insertions, 0 deletions
diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/ApplicationData.qml b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/ApplicationData.qml new file mode 100644 index 000000000..a50113095 --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/ApplicationData.qml @@ -0,0 +1,57 @@ +/** + * @file ApplicationData.qml + * @brief Model for Application. + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +import QtQuick 1.1 + +QtObject { + property string mainField1 + property string mainField2 + property string mainField3 + property string mainField4 + property string statusBar + property string mediaTrack + property string image + + function reset () { + console.debug("enter") + mainField1 = "" + mainField2 = "" + mainField3 = "" + mainField4 = "" + statusBar = "" + mediaTrack = "" + image = "" + console.debug("exit") + } +} diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/ApplicationModel.qml b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/ApplicationModel.qml new file mode 100644 index 000000000..206eaa918 --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/ApplicationModel.qml @@ -0,0 +1,91 @@ +/** + * @file ApplicationModel.qml + * @brief Own fields for each application. + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +import QtQuick 1.1 +import "../controls" + +QtObject { + property int appId + property string appName + property string ngnMediaScreenAppName + property Icon appIcon: Icon { } + property string deviceName + property int hmiDisplayLanguageDesired + property bool isMediaApplication + property variant appType + property int hmiUITextAlignment + + // media player + property string playPauseState + property ApplicationData hmiUIText: ApplicationData { } + property MediaClockModel mediaClock: MediaClockModel { } + + property string helpPrompt + property string timeoutPrompt + property ListModel options: ListModel { } + + property ListModel currentSubMenu: options + property ListModel turnList + property ListModel softButtons + property ListModel turnListSoftButtons + property ListModel customPresets + property int languageTTSVR + // This place is for adding new properties + + function reset () { + console.debug("enter") + appId = -1 + appName = "" + ngnMediaScreenAppName = "" + appIcon.reset() + deviceName = "" + hmiDisplayLanguageDesired = -1 + isMediaApplication = false + appType = undefined + playPauseState = "" + hmiUIText.reset() +// no need to reset mediaClock + helpPrompt = "" + timeoutPrompt = "" + options.clear() + currentSubMenu = options + turnList = null + softButtons = null + turnListSoftButtons = null + customPresets = null + languageTTSVR = -1 + hmiUITextAlignment = null + console.debug("exit") + } +} diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/CarMenuModel.qml b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/CarMenuModel.qml new file mode 100644 index 000000000..f636d1e79 --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/CarMenuModel.qml @@ -0,0 +1,78 @@ +/** + * @file CarMenuModel.qml + * @brief Car menu list of elements. + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +import QtQuick 1.1 + +ListModel +{ + ListElement { + name: "ambient" + icon: "../res/vehicle/Ambient Lighti Icon.png" + qml: "" + } + ListElement { + name: "cal" + icon: "../res/vehicle/cal.png" + qml: "" + } + ListElement { + name: "ev" + icon: "../res/vehicle/EV Icon.png" + qml: "" + } + ListElement { + name: "folders" + icon: "../res/vehicle/folders.png" + qml: "" + } + ListElement { + name: "key" + icon: "../res/vehicle/key_car.png" + qml: "" + } + ListElement { + name: "mcs" + icon: "../res/vehicle/MCS Icon.png" + qml: "" + } + ListElement { + name: "sun" + icon: "../res/vehicle/sun.png" + qml: "" + } + ListElement { + name: "sync" + icon: "../res/vehicle/SYNC Services.png" + qml: "" + } +} diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/Constants.js b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/Constants.js new file mode 100644 index 000000000..1bc5c558b --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/Constants.js @@ -0,0 +1,249 @@ +/** + * @file Constants.js + * @brief Namespace of constants. + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +.pragma library + +// Colors + +// Main color of HMI model(now it ~lightblue). Buttons, text, icons of this color. +var primaryColor = "#1d81d5" + +// Color of pressed buttons, text, icons etc. +var primaryColorPressed = "#8ec0ea" + +// Secondary color of HMI model, backgroud of this color. +var secondaryColor = "black" + +// Color of text at buttonts that are inactive (at phone keyboard, when no any contact started with current letter). +var inactiveButtonTextColor = "grey" + +// Color of text at buttonts that are inactive but nevertheless pressed (at phone keyboard, when no any contact started with current letter). +var inactiveButtonTextColorPressed = "lightgrey" + +// Color of text at contact list screen view (Name, number and number type). +var contactTextColor = "lightblue" + +// Color of text at buttons, when they are pressed. +var pressedButtonTextColor = "black" + +// Color of text at "white" buttons, for all other buttons (which most) use primaryColor. +var releasedButtonTextColor = "white" + +// Transparent background. +var transparentColor = "#00000000" + +// "Warning" word color +var warningColor = "red" + +// Color for PopUp +var popUpBorderColor = "white" + +// Color for hardware and simulation panels +var panelColor = "#003" + +// Color for text in hardware and simulation panels +var panelTextColor = "white" + +// Audio pass thru PopUp text color +var audioPassThruTextColor = "white" + +// Color for border of controls +var controlsBorderColor = "#ababab" + +//-------------------------------------------------------------------------------------- + +// Font sizes of different elements + +// Font size for most of text in HMI model. +var fontSize = 20 + +// Font size for text inside oval buttons. +var ovalButtonFontSize = 15 + +// Title font size +var titleFontSize = 35 + +// Power on/off button font size +var powerButtonFornSize = 25 + +// Font size of status bar +var statusBarFontSize = 15 + +// Size icon for buttons +var iconButtonSize = 30 + +// Size icon for item list +var iconItemListSize = 40 + +// font size fo TTS popup +var ttsFontSize = 12 + +// Font size for list of applications +var appListFontSize = 40 + +// Size of contact list fields +var contactListNameFieldSize = 0.4 +var contactListPhoneFieldSize = 0.3 +var contactListDescriptionFieldSize = 0.3 + +//-------------------------------------------------------------------------------------- + +// Sizes of buttons, menus, screen, etc + +// Minimal width and height of screen (screen wont resize, if height and width are lower). +var mainScreenMinWidth = 800 +var mainScreenMiHeight = 600 + +// Width for long oval button +var ovalButtonWidth = 163 + +// Height for oval button +var ovalButtonHeight = 65 + +// Height item list +var itemListHeight = 60 + +// Width for TTS popup +var ttsPopUpWidth = 250 + +// Height for TTS popup +var ttsPopUpHeight = 100 + +// Width for popup view +var popupWidth = 700 + +// Width for alert window +var alertWidth = 360 + +// Height for popup view +var popupHeigth = 500 + +// Width for combobox +var defaultComboboxWidth = 150 + +// Size icon for list of applications +var appListIconSize = 100 + +// DistanceBar height +var distanceBarHeight = 1 + + +//--------------------------------------------------------------------------------------- + +// Other + +// Offset from the edges of the screen. +var margin = 20 + +// Offset from the edges of the popup +var popupMargin = 15 + +// Spacing between contacts at contact screen view. +var contactListSpacing = 30 + +// Duration of appearance of icon/button at icon/button menus. +var animationDuration = 500 + +// Duration of appearence of "OK" button at warning screen view, when HMI starts. +var warningScreenDuration = 1000 + +// Timer to check how long preset button is pressed. +var presetButtonTimer = 800 + +// Spacing between icon and item in list +var iconItemListSpacing = 20 + +// Spacing between item on views +var generalSpacing = 10 + +// Width of scrollBar +var scrollBarWidth = 5 + +// Speak text for a given time +var ttsSpeakTime = 2000 + +// Maximal number of submenus +var maximumSubmenus = 1000 + +// Maximal number of commands in submenu or root menu +var maximumCommandsPerSubmenu = 1000 + +// padding for popup view +var popUpPadding = 20 + +// Padding for TTS popup +var ttsPopUpPadding = 10 + +// ------------------------- +var sliderBarWidth = 400 +var sliderBarHeight = 50 +var sliderBarRadius = 3 +var sliderBarBorderWidth = 1 +var sliderTextColor = "white" +var sliderBarBorderColor = "white" +var sliderBarFillColor = "white" + +// ------------------------- +var scrollableMessageTextColor = "white" +var scrollableMessageScrollBarColor = "gray" +var scrollableMessageScrollBarWidth = 10 + +// Padding for hardware and simulation panels +var panelPadding = 20 + +// Scale for pressed icon in menu +var pressedIconScale = 1.1 + +// Values of color effect for highlighted button +var highlightedButtonHue = 0.9 +var highlightedButtonSaturation = 0.0 +var highlightedButtonLightness = 0.1 + +// Values of color effect for disabled button +var disabledButtonHue = 0.0 +var disabledButtonSaturation = -1.0 +var disabledButtonLightness = 0.1 + +// Count of rows for grid menu +var menuRowCount = 2 + +// Count of columns for grid menu +var menuColumnCount = 3 + +// Radius of controls +var controlsRadius = 2 + +// Width of border of controls +var controlsBorderWidth = 1 +// Position for element that came without position value (should be always at the end) +var positionOfElementWithoutPosition = 1001 diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/ContactsListModel.qml b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/ContactsListModel.qml new file mode 100644 index 000000000..348d30156 --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/ContactsListModel.qml @@ -0,0 +1,98 @@ +/** + * @file ContactsListModel.qml + * @brief List of contacts. + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +import QtQuick 1.1 + +ListModel +{ + // TODO {ALeshin}: This list model should be sorted in ABC and Upper/lower case order, + // when it will be filled dynamically. + ListElement { name: "Aaron" ; phone:"(614)555-2444";type:"Mobile"} + ListElement { name: "Adrian" ; phone:"(740)245-3434";type:"Mobile" } + ListElement { name: "Albert" ; phone:"(614)245-5584";type:"Mobile" } + ListElement { name: "Alice" ; phone:"(313)878-3566";type:"Office"} + ListElement { name: "Alec" ; phone:"(917)608-2418";type:"Mobile"} + ListElement { name: "Alexander" ; phone:"(614)608-2400";type:"Home"} + ListElement { name: "Alexander Vasil'evich Michail Leontiy" ; phone:"(614)608-2400";type:"Mobile"} + ListElement { name: "Amber" ; phone:"(614)608-2111";type:"Mobile"} + ListElement { name: "Amy" ; phone:"(440)245-3434";type:"Mobile" } + ListElement { name: "Andy" ; phone:"(313)245-3434";type:"Mobile" } + ListElement { name: "Antje" ; phone:"(567)245-3434";type:"Home" } + ListElement { name: "buddy" ; phone:"(614)813-6610";type:"Mobile" } + ListElement { name: "Barry" ; phone:"(313)555-2211";type:"Mobile" } + ListElement { name: "Bea" ; phone:"(614)455-3434";type:"Mobile" } + ListElement { name: "Ben" ; phone:"(614)882-1843";type:"Office" } + ListElement { name: "Blake" ; phone:"(330)149-7778";type:"Mobile" } + ListElement { name: "Bob Mould" ; phone:"(313)245-3434";type:"Mobile" } + ListElement { name: "Brian" ; phone:"(614)332-7499";type:"Mobile" } + ListElement { name: "Calvin" ; phone:"(614)442-9974";type:"Mobile" } + ListElement { name: "Carl" ; phone:"(567)773-3434";type:"Home" } + ListElement { name: "Cat Power" ; phone:"(313)608-3434";type:"Home"} + ListElement { name: "Cathy" ; phone:"(313)444-456";type:"Home"} + ListElement { name: "Chris" ; phone:"(734)997-6514";type:"Home" } + ListElement { name: "Cloud Nothings"; phone:"(444)608-543";type:"Mobile"} + ListElement { name: "Cody" ; phone:"(567)365-8413";type:"Home" } + ListElement { name: "Curtis" ; phone:"(614)245-1547";type:"Office" } + ListElement { name: "Dakota" ; phone:"(567)555-4444";type:"Home" } + ListElement { name: "Dale" ; phone:"(567)723-1974";type:"Mobile" } + ListElement { name: "Dallas"; phone:"(614)556-879";type:"Home"} + ListElement { name: "Damian" ; phone:"(614)245-3434";type:"Office" } + ListElement { name: "Daniel"; phone:"(614)556-879";type:"Home"} + ListElement { name: "Darina"; phone:"(313)895-888";type:"Mobile"} + ListElement { name: "Dee "; phone:"(313)432-3434";type:"Home"} +// ListElement { name: "Edward" ; phone:"(917)608-975";type:"Office"} + ListElement { name: "Ferdinand" ; phone:"(917)879-795";type:"Mobile"} + ListElement { name: "gomez" ; phone:"(313)455-543";type:"Mobile"} + ListElement { name: "Harry Potter"; phone:"(313)888-432";type:"Home"} + ListElement { name: "Ivan"; phone:"(313)996-225";type:"Home"} +// ListElement { name: "James" ; phone:"(917)608-3434";type:"Mobile"} + ListElement { name: "Karen"; phone:"(313)998-332";type:"Home"} + ListElement { name: "Luis Torres"; phone:"(313)779-111";type:"Home"} + ListElement { name: "Mary"; phone:"(313)234-098";type:"Mobile"} + ListElement { name: "Neil"; phone:"(313)444-112";type:"Mobile"} + ListElement { name: "Oswald"; phone:"(313)456-921";type:"Mobile"} + ListElement { name: "Oscar"; phone:"(313)332-778";type:"Home"} + ListElement { name: "~1123"; phone:"(313)1332";type:"Home"} + ListElement { name: "Patrice"; phone:"(313)789-111";type:"Mobile"} + ListElement { name: "Queen Elizabeth"; phone:"(313)897-666";type:"Mobile"} + ListElement { name: "Rose"; phone:"(313)111-211";type:"Mobile"} + ListElement { name: "Susell"; phone:"(313)345-122";type:"Home"} + ListElement { name: "Thomas"; phone:"(917)608-342";type:"Mobile"} + ListElement { name: "Titus Andronicus" ; phone:"(917)608-321";type:"Office"} + ListElement { name: "Toretto" ; phone:"(917)608-3434";type:"Home"} + ListElement { name: "Uhl" ; phone:"(313)444-654";type:"Office"} + ListElement { name: "willi" ; phone:"(313)224-5712";type:"Office"} + ListElement { name: "Wanda" ; phone:"(313)666-6969";type:"Office"} + ListElement { name: "wanda" ; phone:"(313)666-6969";type:"Office"} + ListElement { name: "Zara" ; phone:"(313)231-009";type:"Mobile"} +} diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/DataStorage.qml b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/DataStorage.qml new file mode 100644 index 000000000..cc5f6fc21 --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/DataStorage.qml @@ -0,0 +1,510 @@ +/** + * @file DataStorage.qml + * @brief Container for data. + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +import QtQuick 1.1 +import "../hmi_api/Common.js" as Common +import "Internal.js" as Internal +import "Constants.js" as Constants + +QtObject { + + property string contactsFirstLetter // first letter of contact's name that need to find at contact list + property ApplicationModel currentApplication: ApplicationModel { } + property SliderModel uiSlider: SliderModel { } + property PerformAudioPassThruModel uiAudioPassThru: PerformAudioPassThruModel { } + + function getApplication(appId) { + console.log("dataContainer getApplication enter"); + for(var i = 0; i < applicationList.count; i++) { + if(applicationList.get(i).appId === appId) { + console.log("Application found", applicationList.get(i)); + return applicationList.get(i); + } + } + console.log("dataContainer getApplication exit"); + } + + onApplicationListChanged: { + console.log("onApplicationListChanged()"); + setCurrentApplication(appId); + } + + function setCurrentApplication(appId) { + console.log("Enter setCurrentApplication function"); + var oldApplicationContext = applicationContext; + if (currentApplication.appId !== appId) { + applicationContext = false; + } + + for(var i = 0; i < applicationList.count; i++) { + if(applicationList.get(i).appId === appId) { + currentApplication.appId = appId + var application = applicationList.get(i) + currentApplication.appName = application.appName + currentApplication.appType = application.appType + currentApplication.appIcon.source = application.icon + currentApplication.playPauseState = application.playPauseState + currentApplication.options = application.options + currentApplication.softButtons = application.softButtons + currentApplication.customPresets = application.customPresets + + if (application.hmiUIText.mainField1 !== undefined) { + currentApplication.hmiUIText.mainField1 = application.hmiUIText.mainField1 + } + if (application.hmiUIText.mainField2 !== undefined) { + currentApplication.hmiUIText.mainField2 = application.hmiUIText.mainField2 + } + if (application.hmiUIText.mainField3 !== undefined) { + currentApplication.hmiUIText.mainField3 = application.hmiUIText.mainField3 + } + if (application.hmiUIText.mainField4 !== undefined) { + currentApplication.hmiUIText.mainField4 = application.hmiUIText.mainField4 + } + if (application.hmiUIText.statusBar !== undefined) { + currentApplication.hmiUIText.statusBar = application.hmiUIText.statusBar + } + if (application.hmiUIText.mediaTrack !== undefined) { + currentApplication.hmiUIText.mediaTrack = application.hmiUIText.mediaTrack + } + if (application.hmiUIText.image !== undefined) { + currentApplication.hmiUIText.image = application.hmiUIText.image + } + if (application.hmiUITextAlignment !== undefined) { + currentApplication.hmiUITextAlignment = application.hmiUITextAlignment + } + if (application.helpPrompt !== undefined) { + currentApplication.helpPrompt = application.helpPrompt + } + if (application.timeoutPrompt !== undefined) { + currentApplication.timeoutPrompt = application.timeoutPrompt + } + // Check fields with mandatory = false + + currentApplication.deviceName = application.deviceName + currentApplication.isMediaApplication = application.isMediaApplication + currentApplication.turnList = application.turnList + currentApplication.turnListSoftButtons = application.turnListSoftButtons + currentApplication.mediaClock.updateMode = application.mediaClock.updateMode + currentApplication.mediaClock.runningMode = application.mediaClock.runningMode + currentApplication.mediaClock.startTimeForProgress = application.mediaClock.startTimeForProgress + if (application.mediaClock.startTime !== undefined) { + currentApplication.mediaClock.startTime = application.mediaClock.startTime + } + if (application.mediaClock.endTime !== undefined) { + currentApplication.mediaClock.endTime = application.mediaClock.endTime + } + currentApplication.languageTTSVR = application.languageTTSVR + currentApplication.hmiDisplayLanguageDesired = application.hmiDisplayLanguageDesired + // This place is for adding new properties + } + } + applicationContext = oldApplicationContext; + currentApplicationChanged() + console.log("Exit setCurrentApplication function") + } + + function addApplication(app) { + console.log("enter") + applicationList.append({ + appName: app.appName, + ngnMediaScreenAppName: app.ngnMediaScreenAppName, + icon: app.icon, + deviceName: app.deviceName, + appId: app.appId, + hmiDisplayLanguageDesired: app.hmiDisplayLanguageDesired, + isMediaApplication: app.isMediaApplication, + appType: app.appType, + helpPrompt: "", + timeoutPrompt: "", + customPresets: app.customPresets ? app.customPresets : [], + playPauseState: 'Pause', + hmiUIText: app.hmiUIText, + hmiUITextAlignment: app.hmiUITextAlignment, + options: [], + turnList: [], + turnListSoftButtons: [], + mediaClock: app.mediaClock, + languageTTSVR: Common.Language.EN_US, + softButtons: [] + // This place is for adding new properties + }) + + if (app.isMediaApplication) { + musicSourceModel.insert(0, { + "title": app.appName, + "qml": "views/SDLPlayerView.qml", + "appId": app.appId + }) + } + + console.log("exit") + } + + function setApplicationProperties(appId, props) { + console.log("Enter setApplicationProperties function"); + var app = getApplication(appId) + for (var p in props) { + if (props[p] !== undefined) { + app[p] = props[p] + } + } + if (currentApplication.appId === appId) { + setCurrentApplication(appId); // copy new values to current application + } + console.log("Exit setApplicationProperties function"); + } + + function removeApplication(appId) { + console.log("enter"); + for (var j = 0; j < musicSourceModel.count; ++j) { + if (musicSourceModel.get(j).appId === appId) { + musicSourceModel.remove(j); + break; + } + } + for (var i = 0; i < applicationList.count; i++) { + if (applicationList.get(i).appId === appId) { + applicationList.remove(i); + break; + } + } + console.log("exit"); + } + + property int systemContext + property int hmiContext + property bool applicationContext: false + property bool applicationSavedContext + property string routeText: "" + property PlayerState cdPlayerState: PlayerState { + playPauseState: 'Pause' + albumImage: "../res/album_art.png" + trackNumber: "13/16" + trackName: "The Dog Days Are Over" + albumName: "Florence and the Machine" + } + property PlayerState ipodPlayerState: PlayerState { + albumImage: "../res/album_art.png" + trackNumber: "13/16" + trackName: "The Dog Days Are Over" + albumName: "Florence and the Machine" + playPauseState: 'Pause' + } + property PlayerState usbPlayerState: PlayerState { + playPauseState: 'Pause' + albumImage: "../res/album_art.png" + trackNumber: "13/16" + trackName: "The Dog Days Are Over" + albumName: "Florence and the Machine" + } + property PlayerState linePlayerState: PlayerState { + playPauseState: 'Pause' + albumImage: "../res/album_art.png" + trackNumber: "13/16" + trackName: "The Dog Days Are Over" + albumName: "Florence and the Machine" + } + property PlayerState btPlayerState: PlayerState { + playPauseState: 'Pause' + albumImage: "../res/album_art.png" + trackNumber: "13/16" + trackName: "The Dog Days Are Over" + albumName: "Florence and the Machine" + } + property PlayerState amPlayerState: PlayerState { + songName: "So Far Around The Bend" + albumName: "The National" + presets: [ "1130", "950", "760", "1270", "1400", "2100", "940", "1001" ] + } + property PlayerState fmPlayerState: PlayerState { + songName: "So Far Around The Bend" + albumName: "The National" + presets: ["96.3", "107.9", "104.3", "101.9", "105.3", "100.5", "107.9", "103.4"] + } + property PlayerState siriusPlayerState: PlayerState { + songName: "So Far Around The Bend" + albumName: "The National" + presets: [ "Lithium", "Spectrum", "ESPN", "Alt Nation", "Lithium", "Spectrum", "ESPN", "Alt Nation" ] + } + + property bool hmiVRAvailable: false + property bool hmiTTSAvailable: false + property bool hmiNavigationAvailable: false + property bool hmiVehicleInfoAvailable: false + property bool hmiUIAvailable: false + + property int hmiUILanguage: Common.Language.EN_US + property int hmiTTSVRLanguage: Common.Language.EN_US + + property ListModel deviceList: ListModel { } + property ListModel applicationList: ListModel { } + + property ListModel vrCommands: ListModel {} + + property ListModel vrHelp: ListModel {} + + function reset () { + console.log("dataContainer reset enter"); + routeText = "" + console.log("dataContainer reset exit"); + } + + function changeRegistrationUI (language, appID) { + console.log("dataContainer changeRegistrarionUI enter"); + setApplicationProperties(appID, { hmiDisplayLanguageDesired: language }); + console.log("dataContainer changeRegistrarionUI exit"); + } + + function changeRegistrationTTSVR(language, appID) { + console.log("dataContainer changeRegistrationTTSVR enter"); + setApplicationProperties(appID, { languageTTSVR: language }); + console.log("dataContainer changeRegistrationTTSVR exit"); + } + + function addCommand (cmdID, menuParams, cmdIcon, appID) { + console.debug("enter: " + + cmdID + + ", " + + (menuParams ? + "{" + menuParams.parentID + ", " + menuParams.position + ", " + menuParams.menuName + "}" : menuParams) + + ", " + + (cmdIcon ? + "{" + cmdIcon.value + ", " + cmdIcon.imageType + "}" : cmdIcon) + + ", " + + appID + ) + var commandToAddPosition + var app = getApplication(appID) + var currentMenu = app.options + var maximumCommands = Constants.maximumCommandsPerSubmenu + var index = 0 + + if ((menuParams) && (menuParams.parentID)) { // Work with sub menu + var parentNotFound = true + for (var optionIndex = 0; optionIndex < app.options.count; ++optionIndex) { + if ((app.options.get(optionIndex).type === Internal.MenuItemType.MI_SUBMENU) && (app.options.get(optionIndex).id === menuParams.parentID)) { + currentMenu = app.options.get(optionIndex).subMenu + parentNotFound = false + maximumCommands += 1 + } + } + if (parentNotFound) { + console.log("UI::addCommand(): parentID " + menuParams.parentID + " not found") + } + } + + if (currentMenu.count < maximumCommands) { + if (menuParams && (menuParams.position !== undefined)) { + commandToAddPosition = menuParams.position + } else { + commandToAddPosition = Constants.positionOfElementWithoutPosition + } + for (var i = 0; i < currentMenu.count; i++) { + if (commandToAddPosition >= currentMenu.get(i).position) { + index = i + 1 + } else { + break + } + } + currentMenu.insert( index, + { id: cmdID, + name: menuParams.menuName, + type: Internal.MenuItemType.MI_NODE, + position: commandToAddPosition, + icon: cmdIcon ? cmdIcon : {}, + subMenu: [] + }) + } else { + console.log("addCommand(): too many commands in menu: ", menuParams.parentID, " rejecting") + throw Common.Result.REJECTED + } + console.debug("exit") + } + + function deleteCommand (cmdID, appID) { + console.debug("enter: " + cmdID + ", " + appID) + for (var optionIndex = 0; optionIndex < getApplication(appID).options.count; ++optionIndex) { + var option = getApplication(appID).options.get(optionIndex) + if (option.type === Internal.MenuItemType.MI_NODE) { + if (option.id === cmdID) { + getApplication(appID).options.remove(optionIndex) + break + } + } + if (option.type === Internal.MenuItemType.MI_SUBMENU) { + var subMenu = option.subMenu + var idMatchFound = false + for (var subOptionIndex = 0; subOptionIndex < subMenu.count; ++subOptionIndex) { + if (subMenu.get(subOptionIndex).id === cmdID) { + idMatchFound = true + if (subMenu !== currentApplication.currentSubMenu) { + subMenu.remove(subOptionIndex) + } + else { + console.log("UI::deleteCommand(): cannot remove item from current submenu") + throw Common.Result.IN_USE + } + break + } + } + if (idMatchFound) { + break + } + } + } + console.debug("exit") + } + + function addSubMenu (menuID, menuParams, appID) { + console.debug("enter: " + menuID + ", {" + menuParams.parentID + ", " + menuParams.position + ", " + menuParams.menuName + "}, " + appID) + var app = getApplication(appID) + var index = 0 + var count = app.options.count + var subMenuToAddPosition + + if (count < Constants.maximumSubmenus) { + if (menuParams.position !== undefined) { + subMenuToAddPosition = menuParams.position + } else { + subMenuToAddPosition = Constants.positionOfElementWithoutPosition + } + for (var i = 0; i < count; i++) { + if (subMenuToAddPosition >= app.options.get(i).position) { + index = i + 1 + } else { + break + } + } + app.options.insert(index, { + "id": menuID, + "name": menuParams.menuName, + "position": subMenuToAddPosition, + "type": Internal.MenuItemType.MI_SUBMENU, + "icon": undefined, + "subMenu": [{ + "id": -1, + "name": menuParams.menuName, + "position": -1, + "type": Internal.MenuItemType.MI_PARENT, + "icon": { + "imageType": Common.ImageType.DYNAMIC, + "value": "../res/nav/turnArrow.png" + }, + "subMenu": getApplication(appID).options + }] + }) + } + else { + console.log("addSubMenu(): too many submenus, rejecting") + throw Common.Result.REJECTED + } + console.debug("exit") + } + + function deleteSubMenu (menuID, appID) { + console.debug("enter: " + menuID + ", " + appID) + for (var optionIndex = 0; optionIndex < getApplication(appID).options.count; ++optionIndex) { + var option = getApplication(appID).options.get(optionIndex) + if ((option.type === Internal.MenuItemType.MI_SUBMENU) && (option.id === menuID)) { + if (option.subMenu !== currentApplication.currentSubMenu) { + getApplication(appID).options.remove(optionIndex) + } + else { + console.log("UI::deleteSubMenu(): cannot remove current submenu") + throw Common.Result.IN_USE + } + break + } + } + console.debug("exit") + } + + function setVrHelp (vrHelp) { + this.vrHelp.clear() + var index + for (var i = 0; i < vrHelp.length; ++i) { + index = 0 +// sort by simple inserts + while ((index < this.vrHelp.count) && (this.vrHelp.get(index).position < vrHelp[i].position)) { + ++index + } + this.vrHelp.insert(index, { + "text": vrHelp[i].text, + "icon": vrHelp[i].image ? vrHelp[i].image : {}, + "position": vrHelp[i].position + }) + } + } + + property NavigationModel navigationModel: NavigationModel { } + property VehicleInfoModel vehicleInfoModel: VehicleInfoModel { } + property ScrollableMessageModel scrollableMessageModel: ScrollableMessageModel { } + property bool activeVR: false + + property InteractionModel interactionModel: InteractionModel { + } + + property int driverDistractionState: Common.DriverDistractionState.DD_OFF + onDriverDistractionStateChanged: { + sdlUI.onDriverDistraction(driverDistractionState); + } + property bool activeTTS: false + property variant activePopup + property int popups: 0 + + property bool activeAlert: false + + onActiveVRChanged: setSystemContext() + onActiveAlertChanged: setSystemContext() + onPopupsChanged: setSystemContext() + + function setSystemContext () { + console.debug("enter") + if (popups > 0) { + systemContext = Common.SystemContext.SYSCTXT_HMI_OBSCURED + } + else if (activeAlert) { + systemContext = Common.SystemContext.SYSCTXT_ALERT + } + else if (activeVR) { + systemContext = Common.SystemContext.SYSCTXT_VRSESSION + } + else if (contentLoader.item !== null) { + systemContext = contentLoader.item.systemContext + } + console.debug("exit") + } + property MusicSourceModel musicSourceModel: MusicSourceModel { + } +} diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/InteractionModel.qml b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/InteractionModel.qml new file mode 100644 index 000000000..8da8a035d --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/InteractionModel.qml @@ -0,0 +1,58 @@ +/** + * @file InteractionModel.qml + * @brief Interaction model. + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +import QtQuick 1.1 +import "../hmi_api/Async.js" as Async + +QtObject { + property string initialText + property ListModel choice: ListModel { + } + property int timeout + property variant async + + function performInteraction (initialText, choiceSet, vrHelp, timeout, appID) { + console.debug("enter") + this.initialText = initialText.fieldText + choice.clear() + for (var i = 0; i < choiceSet.length; ++i) { + choice.append({"id": choiceSet[i].choiceID, "name": choiceSet[i].menuName ? choiceSet[i].menuName : "choiceID = " + choiceSet[i].choiceID, image: choiceSet[i].image}) + } + this.timeout = timeout + interactionPopup.activate() + async = new Async.AsyncCall() + console.debug("exit") + return async + } +} diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/Internal.js b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/Internal.js new file mode 100644 index 000000000..4a1ebc625 --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/Internal.js @@ -0,0 +1,163 @@ +/** + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +var MenuItemType = { + MI_NODE: 0, + MI_SUBMENU: 1, + MI_PARENT: 2 +} + +function activePageChoose(flickElement, pages) { + if (flickElement.contentX <= 0) { + return 0 + } + else if ( (flickElement.contentWidth - flickElement.contentX) < flickElement.width) { + return pages -1 + } + else { + if ( (flickElement.contentX % flickElement.width) >= (1/6 * flickElement.width)) { + return Math.ceil(flickElement.contentX / flickElement.width) + } + else if ( (flickElement.contentX % flickElement.width) > 0) { + return Math.floor(flickElement.contentX / flickElement.width) + } + } +} + +var MediaClockUpdateMode = { + MCU_COUNTUP: 0, + MCU_COUNTDOWN: 1, +} + +var MediaClockRunningMode = { + MCR_RUNNING: 0, + MCR_STOPPED: 1 +} + +function appendVrHelpItem (arrayElement, index, array) { + this.append({ + text: arrayElement.text, + image: arrayElement.image ? arrayElement.image : "", + position: arrayElement.position + }) +} + +function checkBit(value, bitPosition) { + return (value & (1 << bitPosition)) +} + +function getArrayForPresetRow() { + var array = [] + for (var i = 0; i < dataContainer.currentApplication.customPresets.count; i++) { + array.push(dataContainer.currentApplication.customPresets.get(i).text) + } + return array +} + +function pad (string, length, lead) { + if (!lead) { + lead = '0' + } + var paddedString = "" + string + while (paddedString.length < length) { + paddedString = lead + paddedString + } + return paddedString +} + +function hmsTime (hours, minutes, seconds) { + return 60 * (60 * hours + minutes) + seconds +} + +function hmsTimeToString (hmsTime) { + if (hmsTime === -1) { + return "0:00:00" + } + + var _time = hmsTime + var seconds = _time % 60 + _time -= seconds + _time /= 60 + var minutes = _time % 60 + _time -= minutes + _time /= 60 + var hours = _time + var string = "" + string += hours + string += ":" + string += pad(minutes, 2) + string += ":" + string += pad(seconds, 2) + return string +} + +function stringToHmsTime (hmsString) { + console.debug("enter: \"" + hmsString + "\"") + var substrings = hmsString.split(":") + var seconds = substrings.length > 0 ? parseInt(substrings.pop()) : 0 + if (seconds >= 60) { + console.log("incorrect field \"seconds\": " + seconds) + console.debug("exit") + return 0 + } + var minutes = substrings.length > 0 ? parseInt(substrings.pop()) : 0 + if (minutes >= 60) { + console.log("incorrect field \"minutes\": " + minutes) + console.debug("exit") + return 0 + } + var hours = substrings.length > 0 ? parseInt(substrings.pop()) : 0 + console.debug("exit") + return hmsTime(hours, minutes, seconds) +} + +function mediaClockUpdateModeToString (mediaClockUpdateMode) { + switch (mediaClockUpdateMode) { + case MediaClockUpdateMode.MCU_COUNTUP: + return "Internal.MediaClockUpdateMode.MCU_COUNTUP" + case MediaClockUpdateMode.MCU_COUNTDOWN: + return "Internal.MediaClockUpdateMode.MCU_COUNTDOWN" + default: + return "" + } +} + +function mediaClockRunningModeToString (mediaClockRunningMode) { + switch (mediaClockRunningMode) { + case MediaClockRunningMode.MCR_RUNNING: + return "Internal.MediaClockRunningMode.MCR_RUNNING" + case MediaClockRunningMode.MCR_STOPPED: + return "Internal.MediaClockRunningMode.MCR_STOPPED" + default: + return "" + } +} diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/MainMenuListModel.qml b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/MainMenuListModel.qml new file mode 100644 index 000000000..49b4e7fb9 --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/MainMenuListModel.qml @@ -0,0 +1,79 @@ +/** + * @file MainMenuListModel.qml + * @brief Main menu list of elements. + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +import QtQuick 1.1 + +ListModel +{ + ListElement { + name: "Climate" + icon: "../res/snow.png" + qml: "./views/ClimateControlView.qml" + } + + ListElement { + name: "Navigation" + icon: "../res/arrow.png" + qml: "./views/NavigationNoRouteGridView.qml" + } + + ListElement { + name: "Media" + icon: "../res/notes.png" + qml: "./views/MusicSourceView.qml" + } + + ListElement { + name: "Preferences" + icon: "../res/gear.png" + qml: "" + } + + ListElement { + name: "Apps" + icon: "../res/apps.png" + qml: "./views/ApplicationListView.qml" + } + + ListElement { + name: "Phone" + icon: "../res/phone/phone.png" + qml: "./views/PhoneMenuGridView.qml" + } + + ListElement { + name: "Car" + icon: "../res/car.png" + qml: "./views/CarMenuGridView.qml" + } +} diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/MediaClockModel.qml b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/MediaClockModel.qml new file mode 100644 index 000000000..8f062008a --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/MediaClockModel.qml @@ -0,0 +1,112 @@ +/** + * @file MediaClockModel.qml + * @brief Media clock model + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +import QtQuick 1.1 +import "Internal.js" as Internal + +QtObject { + property int updateMode + property int runningMode + property int startTime + property int endTime + property int upperTimeLimit: 60 * 60 * 60 - 1 + property int startTimeForProgress + property real progress + + property Timer timer: Timer { + id: timer + interval: 1000 + repeat: true + onTriggered: onTimer() + } + onRunningModeChanged: { + if (runningMode === Internal.MediaClockRunningMode.MCR_STOPPED) { + timer.stop() + } else { + timer.start() + } + } + + onStartTimeChanged: { + if (startTime === -1) { + progress = 0 + } else { + if (updateMode === Internal.MediaClockUpdateMode.MCU_COUNTUP) { + progress = (endTime !== -1) ? (startTime / endTime) : (startTime / upperTimeLimit) + } else { + progress = (endTime !== -1) ? ( (startTime - endTime) / (startTimeForProgress - endTime) ) + : (startTime / startTimeForProgress) + } + } + } + + function onTimer () { + switch (updateMode) { + case Internal.MediaClockUpdateMode.MCU_COUNTUP: + if (endTime !== -1) { + if (startTime < endTime) { + startTime++ + } else { + timer.stop() + runningMode = Internal.MediaClockRunningMode.MCR_STOPPED + console.debug("count Up timer stopped") + } + } else { + if (startTime < upperTimeLimit) { + startTime++ + } else { + startTime = 0 + } + } + break + case Internal.MediaClockUpdateMode.MCU_COUNTDOWN: + console.debug("count down") + if (--startTime === 0) { + timer.stop() + runningMode = Internal.MediaClockRunningMode.MCR_STOPPED + startTime = endTime = -1 + console.debug("count Down timer stopped") + } + break + } + dataContainer.setApplicationProperties(dataContainer.currentApplication.appId, { + "mediaClock": {startTime: startTime, + endTime: endTime, + updateMode: updateMode, + runningMode: runningMode, + startTimeForProgress: startTimeForProgress + } + }) + } +} diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/MusicSourceModel.qml b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/MusicSourceModel.qml new file mode 100644 index 000000000..b01c4cf83 --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/MusicSourceModel.qml @@ -0,0 +1,78 @@ +/** + * @file MusicSourceModel.qml + * @brief Music source menu list of elements. + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +import QtQuick 1.1 + +ListModel +{ + ListElement { + title: "FM" + qml: "./views/FMPlayerView.qml" + appId: 0 + } + ListElement { + title: "AM" + qml: "./views/AMPlayerView.qml" + appId: 0 + } + ListElement { + title: "BT Audio" + qml: "./views/BTPlayerView.qml" + appId: 0 + } + ListElement { + title: "Sirius" + qml: "./views/SiriusPlayerView.qml" + appId: 0 + } + ListElement { + title: "CD" + qml: "./views/CDPlayerView.qml" + appId: 0 + } + ListElement { + title: "iPod" + qml: "./views/IPodPlayerView.qml" + appId: 0 + } + ListElement { + title: "USB" + qml: "./views/UsbPlayerView.qml" + appId: 0 + } + ListElement { + title: "LineIn" + qml: "./views/LineInPlayerView.qml" + appId: 0 + } +} diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/NavigationMenuModel.qml b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/NavigationMenuModel.qml new file mode 100644 index 000000000..963225719 --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/NavigationMenuModel.qml @@ -0,0 +1,72 @@ +/** + * @file NavigationMenuModel.qml + * @brief Music source menu list of elements. + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +import QtQuick 1.1 + +ListModel +{ + ListElement { + title: "Home" + icon: "../res/buttons/long_oval_btn.png" + } + ListElement { + title: "Keyboard" + icon: "../res/buttons/long_oval_btn.png" + qml: "./views/NavigationKeyboardView.qml" + } + ListElement { + title: "Favorites" + icon: "../res/buttons/long_oval_btn.png" + } + ListElement { + title: "Work" + icon: "../res/buttons/long_oval_btn.png" + } + ListElement { + title: "Recent" + icon: "../res/buttons/long_oval_btn.png" + } + ListElement { + title: "POI" + icon: "../res/buttons/long_oval_btn.png" + } + ListElement { + title: "Scout" + icon: "../res/buttons/long_oval_btn.png" + } + ListElement { + title: "Waze" + icon: "../res/buttons/long_oval_btn.png" + } +} diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/NavigationModel.qml b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/NavigationModel.qml new file mode 100644 index 000000000..f9203875d --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/NavigationModel.qml @@ -0,0 +1,52 @@ +/** + * @file NavigationModel.qml + * @brief Model for Navigation. + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +import QtQuick 1.1 + +QtObject { + property string text1: "" + property string text2: "" + property string totalDistance: "" + property string eta: "" + property string timeToDestination: "" + property variant turnIcon + property variant nextTurnIcon + + property real distanceToManeuver: 0 + property real distanceToManeuverScale: 0 + property bool maneuverComplete + property ListModel softButtons: ListModel {} + property int appId: -1 + property ListModel alertManeuverSoftButtons: ListModel {} +} diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/PerformAudioPassThruModel.qml b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/PerformAudioPassThruModel.qml new file mode 100644 index 000000000..8b861d37a --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/PerformAudioPassThruModel.qml @@ -0,0 +1,43 @@ +/** + * @file PerformAudioPassThruModel.qml + * @brief Data model audio pass thru. + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +import QtQuick 1.1 + +QtObject { + property string appName: "" + property string firstLine: "" + property string secondLine: "" + property int timeout: 0 + property bool running: false +} diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/PhoneMenuModel.qml b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/PhoneMenuModel.qml new file mode 100644 index 000000000..a191f46e4 --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/PhoneMenuModel.qml @@ -0,0 +1,78 @@ +/** + * @file PhoneMenuModel.qml + * @brief Phone menu list of elements. + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +import QtQuick 1.1 + +ListModel +{ + ListElement { + name: "phone" + icon: "../res/phone/phone.png" + qml: "" + } + ListElement { + name: "contacts" + icon: "../res/phone/contacts.png" + qml: "./views/PhoneKeyboardView.qml" + } + ListElement { + name: "messages" + icon: "../res/phone/messages.png" + qml: "" + } + ListElement { + name: "DND" + icon: "../res/phone/dnd_off.png" + qml: "" + } + ListElement { + name: "texts" + icon: "../res/phone/texts.png" + qml: "" + } + ListElement { + name: "recent" + icon: "../res/phone/recent.png" + qml: "" + } + ListElement { + name: "keyboard" + icon: "../res/phone/keypad.png" + qml: "" + } + ListElement { + name: "more" + icon: "../res/phone/more.png" + qml: "" + } +} diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/PlayerState.qml b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/PlayerState.qml new file mode 100644 index 000000000..bbacd49f8 --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/PlayerState.qml @@ -0,0 +1,51 @@ +/** + * @file PlayerState.qml + * @brief List of parameters for each player. + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +import QtQuick 1.1 + +// Player state for all players except SDL media player +Item { + // Media players + property string playPauseState + property string albumImage + property string trackNumber + property int songPosition + property string trackName + + // Radio Players + property variant presets: [] + + // Both players + property string songName + property string albumName +} diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/ScrollableMessageModel.qml b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/ScrollableMessageModel.qml new file mode 100644 index 000000000..6fd441ac3 --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/ScrollableMessageModel.qml @@ -0,0 +1,54 @@ +/** + * @file ScrollableMessageModel.qml + * @brief Model for Scrollable Message. + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +import QtQuick 1.1 +import "../hmi_api/Common.js" as Common + +QtObject { + property string longMessageText: "ffsdjjjjjjjjj jjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjj jjjjiiiiiiiiiiiii iiiiiiiiiiii iiiiiiiii iiiiiiiiiiiii iiiiiiiiiiiiioooooo ooooooooo oooooooooooooooo ooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooo ooooooohhhhhhhhhh hhhhhhhhhhhhh hhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhh hhhhh" + + "ffsdjjjjjjjjj jjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjj jjjjiiiiiiiiiiiii iiiiiiiiiiii iiiiiiiii iiiiiiiiiiiii iiiiiiiiiiiiioooooo ooooooooo oooooooooooooooo ooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooo ooooooohhhhhhhhhh hhhhhhhhhhhhh hhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhh hhhhh" + + "ffsdjjjjjjjjj jjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjj jjjjiiiiiiiiiiiii iiiiiiiiiiii iiiiiiiii iiiiiiiiiiiii iiiiiiiiiiiiioooooo ooooooooo oooooooooooooooo ooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooo ooooooohhhhhhhhhh hhhhhhhhhhhhh hhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhh hhhhh" + + "ffsdjjjjjjjjj jjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjj jjjjiiiiiiiiiiiii iiiiiiiiiiii iiiiiiiii iiiiiiiiiiiii iiiiiiiiiiiiioooooo ooooooooo oooooooooooooooo ooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooo ooooooohhhhhhhhhh hhhhhhhhhhhhh hhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhh hhhhh" + + "ffsdjjjjjjjjj jjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjj jjjjiiiiiiiiiiiii iiiiiiiiiiii iiiiiiiii iiiiiiiiiiiii iiiiiiiiiiiiioooooo ooooooooo oooooooooooooooo ooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooo ooooooohhhhhhhhhh hhhhhhhhhhhhh hhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhh hhhhh" + + "ffsdjjjjjjjjj jjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjj jjjjiiiiiiiiiiiii iiiiiiiiiiii iiiiiiiii iiiiiiiiiiiii iiiiiiiiiiiiioooooo ooooooooo oooooooooooooooo ooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooo ooooooohhhhhhhhhh hhhhhhhhhhhhh hhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhh hhhhh" + + "ffsdjjjjjjjjj jjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjj jjjjiiiiiiiiiiiii iiiiiiiiiiii iiiiiiiii iiiiiiiiiiiii iiiiiiiiiiiiioooooo ooooooooo oooooooooooooooo ooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooo ooooooohhhhhhhhhh hhhhhhhhhhhhh hhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhh hhhhh" + + "ffsdjjjjjjjjj jjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjj jjjjiiiiiiiiiiiii iiiiiiiiiiii iiiiiiiii iiiiiiiiiiiii iiiiiiiiiiiiioooooo ooooooooo oooooooooooooooo ooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooo ooooooohhhhhhhhhh hhhhhhhhhhhhh hhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhh hhhhh" + + "ffsdjjjjjjjjj jjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjj jjjjiiiiiiiiiiiii iiiiiiiiiiii iiiiiiiii iiiiiiiiiiiii iiiiiiiiiiiiioooooo ooooooooo oooooooooooooooo ooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooo ooooooohhhhhhhhhh hhhhhhhhhhhhh hhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhh hhhhh" + property ListModel softButtons: ListModel {} + property int appId: -1 + property int timeout: 0 + property variant async + property bool running: false + +} diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/SettingsStorage.qml b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/SettingsStorage.qml new file mode 100644 index 000000000..7fb6cfcdd --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/SettingsStorage.qml @@ -0,0 +1,125 @@ +/** + * @file SettingsStorage.qml + * @brief Storage for keeping settings. + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +import QtQuick 1.1 +import "../hmi_api/Common.js" as Common + +Item +{ + property variant sdlLanguagesList: [ + Common.Language.EN_US, + Common.Language.ES_MX, + Common.Language.FR_CA, + Common.Language.DE_DE, + Common.Language.ES_ES, + Common.Language.EN_GB, + Common.Language.RU_RU, + Common.Language.TR_TR, + Common.Language.PL_PL, + Common.Language.FR_FR, + Common.Language.IT_IT, + Common.Language.SV_SE, + Common.Language.PT_PT, + Common.Language.NL_NL, + Common.Language.ZH_TW, + Common.Language.JA_JP, + Common.Language.AR_SA, + Common.Language.KO_KR, + Common.Language.PT_BR, + Common.Language.CS_CZ, + Common.Language.DA_DK, + Common.Language.NO_NO + ] + + property variant displayCapabilities: { + "displayType": Common.DisplayType.GEN2_8_DMA, + "textFields": [ + Common.TextFieldName.mainField1, + Common.TextFieldName.mainField2, + Common.TextFieldName.mainField3, + Common.TextFieldName.mainField4, + Common.TextFieldName.statusBar, + Common.TextFieldName.mediaClock, + Common.TextFieldName.mediaTrack, + Common.TextFieldName.alertText1, + Common.TextFieldName.alertText2, + Common.TextFieldName.alertText3, + Common.TextFieldName.scrollableMessageBody, + Common.TextFieldName.initialInteractionText, + Common.TextFieldName.navigationText1, + Common.TextFieldName.navigationText2, + Common.TextFieldName.ETA, + Common.TextFieldName.totalDistance, + Common.TextFieldName.navigationText, + Common.TextFieldName.audioPassThruDisplayText1, + Common.TextFieldName.audioPassThruDisplayText2, + Common.TextFieldName.sliderHeader, + Common.TextFieldName.sliderFooter, + Common.TextFieldName.notificationText + ], + "mediaClockFormats": [ + Common.MediaClockFormat.CLOCK1, + Common.MediaClockFormat.CLOCK2, + Common.MediaClockFormat.CLOCK3, + Common.MediaClockFormat.CLOCKTEXT1, + Common.MediaClockFormat.CLOCKTEXT2, + Common.MediaClockFormat.CLOCKTEXT3, + Common.MediaClockFormat.CLOCKTEXT4 + ], + "graphicSupported": true, + "imageCapabilities": [ Common.ImageType.DYNAMIC ], + "templatesAvailable": [ "" ], + "screenParams": { + "resolution": { + "resolutionWidth": 800, + "resolutionHeight": 480 + }, + "touchEventAvailable": { + "pressAvailable": true, + "multiTouchAvailable": true, + "doublePressAvailable": true + } + }, + "numCustomPresetsAvailable": 6 + } + + property variant softButtonCapabilities: { + "shortPressAvailable": true, + "longPressAvailable": true, + "upDownAvailable": true, + "imageSupported": true + } + + property variant buttonCapabilities: [] +} diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/SliderModel.qml b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/SliderModel.qml new file mode 100644 index 000000000..d335c9eb2 --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/SliderModel.qml @@ -0,0 +1,45 @@ +/** + * @file SliderModel.qml + * @brief Data model for slider. + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +import QtQuick 1.1 + +QtObject { + property string appName: "" + property string header: "" + property variant footer: [] + property int numTicks: 0 + property int position: 0 + property int timeout: 0 + property bool running: false +} diff --git a/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/VehicleInfoModel.qml b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/VehicleInfoModel.qml new file mode 100644 index 000000000..f5c309880 --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/qml_model_qt4/models/VehicleInfoModel.qml @@ -0,0 +1,234 @@ +/** + * @file VehicleInfoModel.qml + * @brief Data model for vehicle info. + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +import QtQuick 1.1 +import "../hmi_api/Common.js" as Common + +QtObject { + id: vehicleInfo + property real speed: 80.1 + property int rpm: 5000 + property real fuelLevel: 0.2 + property int fuelLevel_State: Common.ComponentVolumeStatus.CVS_LOW + property real instantFuelConsumption: 2.2 + property int driverBraking: Common.VehicleDataEventStatus.VDES_NO_EVENT + property int wiperStatus: Common.WiperStatus.OFF + property real engineTorque: 2.5 + property real accPedalPosition: 0.5 + property real steeringWheelAngle: 1.2 + property real externalTemperature: 40.0 + property string vin: '52-452-52-752' + property int odometer: 2 + property int prndl: Common.PRNDL.FIFTH + + property variant headLampStatus: { + "lowBeamsOn": false, + "highBeamsOn": false, + "ambientLightSensorStatus": Common.AmbientLightStatus.TWILIGHT_1 + } + property variant deviceStatus: { + 'voiceRecOn': false, + 'btIconOn': false, + 'callActive': false, + 'phoneRoaming': false, + 'textMsgAvailable': false, + 'battLevelStatus': Common.DeviceLevelStatus.ZERO_LEVEL_BARS, + 'stereoAudioOutputMuted': false, + 'monoAudioOutputMuted': false, + 'signalLevelStatus': Common.DeviceLevelStatus.ZERO_LEVEL_BARS, + 'primaryAudioSource': Common.PrimaryAudioSource.NO_SOURCE_SELECTED, + 'eCallEventActive': false + } + property variant bodyInformation: { + 'parkBrakeActive': false, + 'ignitionStableStatus': Common.IgnitionStableStatus.IGNITION_SWITCH_NOT_STABLE, + 'ignitionStatus': Common.IgnitionStatus.IS_UNKNOWN + } + property variant beltStatus: { + 'driverBeltDeployed': Common.VehicleDataEventStatus.VDES_NO_EVENT, + 'passengerBeltDeployed': Common.VehicleDataEventStatus.VDES_NO_EVENT, + 'passengerBuckleBelted': Common.VehicleDataEventStatus.VDES_NO_EVENT, + 'driverBuckleBelted': Common.VehicleDataEventStatus.VDES_NO_EVENT, + 'leftRow2BuckleBelted': Common.VehicleDataEventStatus.VDES_NO_EVENT, + 'passengerChildDetected': Common.VehicleDataEventStatus.VDES_NO_EVENT, + 'rightRow2BuckleBelted': Common.VehicleDataEventStatus.VDES_NO_EVENT, + 'middleRow2BuckleBelted': Common.VehicleDataEventStatus.VDES_NO_EVENT, + 'middleRow3BuckleBelted': Common.VehicleDataEventStatus.VDES_NO_EVENT, + 'leftRow3BuckleBelted': Common.VehicleDataEventStatus.VDES_NO_EVENT, + 'rightRow3BuckleBelted': Common.VehicleDataEventStatus.VDES_NO_EVENT, + 'leftRearInflatableBelted': Common.VehicleDataEventStatus.VDES_NO_EVENT, + 'rightRearInflatableBelted': Common.VehicleDataEventStatus.VDES_NO_EVENT, + 'middleRow1BeltDeployed': Common.VehicleDataEventStatus.VDES_NO_EVENT, + 'middleRow1BuckleBelted': Common.VehicleDataEventStatus.VDES_NO_EVENT, + } + property variant tirePressure: { + 'pressureTelltale': Common.WarningLightStatus.WLS_ON, + 'leftFront': { status: Common.ComponentVolumeStatus.CVS_NORMAL}, + 'rightFront': { status: Common.ComponentVolumeStatus.CVS_UNKNOWN }, + 'leftRear': { status: Common.ComponentVolumeStatus.CVS_NORMAL }, + 'rightRear': { status: Common.ComponentVolumeStatus.CVS_UNKNOWN }, + 'innerLeftRear': { status: Common.ComponentVolumeStatus.CVS_UNKNOWN }, + 'innerRightRear': { status: Common.ComponentVolumeStatus.CVS_UNKNOWN } + } + property variant gps: { + 'longitudeDegrees': 42.3293, + 'latitudeDegrees': -83.0464, + 'utcYear': 2013, + 'utcMonth': 2, + 'utcDay': 14, + 'utcHours': 13, + 'utcMinutes': 16, + 'utcSeconds': 54, + 'compassDirection': Common.CompassDirection.SOUTHWEST, + 'pdop': 4, + 'hdop': 5, + 'vdop': 6, + 'actual': false, + 'satellites': 8, + 'dimension': Common.Dimension.Dimension_2D, + 'altitude': 7, + 'heading': 173, + 'speed': 2 + } + property variant ecuDIDData: { + 'data1': 'ECU 1 Test Data', + 'data2': 'ECU 2 Test Data' + } + property variant eCallInfo: { + "eCallNotificationStatus" : Common.VehicleDataNotificationStatus.VDNS_NORMAL, + "auxECallNotificationStatus" : Common.VehicleDataNotificationStatus.VDNS_ACTIVE, + "eCallConfirmationStatus" : Common.ECallConfirmationStatus.ECCS_NORMAL + } + property variant airbagStatus: { + "driverAirbagDeployed" : Common.VehicleDataEventStatus.VDES_NO_EVENT, + "driverSideAirbagDeployed" : Common.VehicleDataEventStatus.VDES_NO, + "driverCurtainAirbagDeployed" : Common.VehicleDataEventStatus.VDES_YES, + "passengerAirbagDeployed" : Common.VehicleDataEventStatus.VDES_NOT_SUPPORTED, + "passengerCurtainAirbagDeployed" : Common.VehicleDataEventStatus.VDES_FAULT, + "driverKneeAirbagDeployed" : Common.VehicleDataEventStatus.VDES_NO, + "passengerSideAirbagDeployed" : Common.VehicleDataEventStatus.VDES_YES, + "passengerKneeAirbagDeployed" : Common.VehicleDataEventStatus.VDES_NOT_SUPPORTED + } + property variant emergencyEvent: { + "emergencyEventType" : Common.EmergencyEventType.EET_NO_EVENT, + "fuelCutoffStatus" : Common.EmergencyEventType.EET_FRONTAL, + "rolloverEvent" : Common.EmergencyEventType.EET_SIDE, + "maximumChangeVelocity" : Common.EmergencyEventType.EET_REAR, + "multipleEvents" : Common.EmergencyEventType.EET_ROLLOVER + } + property variant clusterModeStatus: { + "powerModeActive" : true, + "powerModeQualificationStatus" : Common.PowerModeQualificationStatus.POWER_MODE_UNDEFINED, + "carModeStatus" : Common.CarModeStatus.CMS_NORMAL, + "powerModeStatus" : Common.PowerModeStatus.KEY_OUT + } + property variant myKey: { + "e911Override": Common.VehicleDataStatus.VDS_NO_DATA_EXISTS + } + + + function sendGpsChange(){ + sdlVehicleInfo.onGps(vehicleInfo.gps) + } + function sendSpeedChange(){ + sdlVehicleInfo.onSpeed(vehicleInfo.speed) + } + function sendRpmChange(){ + sdlVehicleInfo.onRpm(vehicleInfo.rpm) + } + function sendFuelLevelChange(){ + sdlVehicleInfo.onFuelLevel(vehicleInfo.fuelLevel) + } + function sendFuelLevel_StateChange(){ + sdlVehicleInfo.onFuelLevel_State(vehicleInfo.fuelLevel_State) + } + function sendInstantFuelConsumptionChange(){ + sdlVehicleInfo.onInstantFuelConsumption(vehicleInfo.instantFuelConsumption) + } + function sendExternalTemperatureChange(){ + sdlVehicleInfo.onExternalTemperature(vehicleInfo.externalTemperature) + } + function sendPrndlChange() { + if (dataContainer.vehicleInfoModel.prndl !== -1) + {sdlVehicleInfo.onPrndl(vehicleInfo.prndl)} + } + function sendTirePressureChange(){ + sdlVehicleInfo.onTirePressure(vehicleInfo.tirePressure) + } + function sendOdometerChange(){ + sdlVehicleInfo.onOdometer(vehicleInfo.odometer) + } + function sendBeltStatusChange(){ + sdlVehicleInfo.onBeltStatus(vehicleInfo.beltStatus) + } + function sendBodyInformationChange(){ + sdlVehicleInfo.onBodyInformation(vehicleInfo.bodyInformation) + } + function sendDeviceStatusChange(){ + sdlVehicleInfo.onDeviceStatus(vehicleInfo.deviceStatus) + } + function sendDriverBrakingChange(){ + sdlVehicleInfo.onDriverBraking(vehicleInfo.driverBraking) + } + function sendWiperStatusChange(){ + sdlVehicleInfo.onWiperStatus(vehicleInfo.wiperStatus) + } + function sendHeadLampStatusChange(){ + sdlVehicleInfo.onHeadLampStatus(vehicleInfo.headLampStatus) + } + function sendEngineTorqueChange(){ + sdlVehicleInfo.onEngineTorque(vehicleInfo.engineTorque) + } + function sendAccPedalPositionChange(){ + sdlVehicleInfo.onAccPedalPosition(vehicleInfo.accPedalPosition) + } + function sendSteeringWheelAngleChange(){ + sdlVehicleInfo.onSteeringWheelAngle(vehicleInfo.steeringWheelAngle) + } + function sendECallInfoChange(){ + sdlVehicleInfo.onECallInfo(vehicleInfo.eCallInfo) + } + function sendAirbagStatusChange(){ + sdlVehicleInfo.onAirbagStatus(vehicleInfo.airbagStatus) + } + function sendEmergencyEventChange(){ + sdlVehicleInfo.onEmergencyEvent(vehicleInfo.emergencyEvent) + } + function sendClusterModeStatusChange(){ + sdlVehicleInfo.onClusterModeStatus(vehicleInfo.clusterModeStatus) + } + function sendMyKeyChange(){ + sdlVehicleInfo.onMyKey(vehicleInfo.myKey) + } +} |