diff options
Diffstat (limited to 'src/components/qt_hmi/qml_model_qt4/controls')
28 files changed, 2452 insertions, 0 deletions
diff --git a/src/components/qt_hmi/qml_model_qt4/controls/ArrowKeys.qml b/src/components/qt_hmi/qml_model_qt4/controls/ArrowKeys.qml new file mode 100644 index 0000000000..4f33960127 --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/ArrowKeys.qml @@ -0,0 +1,68 @@ +/** + * @file ArrowKeys.qml + * @brief Keys with arrow for cursor movement. + * 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 { + width: buttonOk.width + height: buttonOk.height + + HardwareButton { + id: arrowUp + buttonId: Common.ButtonName.TUNEUP + name: "Up" + } + HardwareButton { + id: arrowDown + buttonId: Common.ButtonName.TUNEDOWN + name: "Down" + } + HardwareButton { + id: arrowLeft + buttonId: Common.ButtonName.SEEKLEFT + name: "Left" + } + HardwareButton { + id: arrowRight + buttonId: Common.ButtonName.SEEKRIGHT + name: "Right" + } + HardwareButton { + id: buttonOk + buttonId: Common.ButtonName.OK + name: "Ok" + longPressAvailable: false + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/BackButton.qml b/src/components/qt_hmi/qml_model_qt4/controls/BackButton.qml new file mode 100644 index 0000000000..906b3098ba --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/BackButton.qml @@ -0,0 +1,48 @@ +/** + * @file BackButton.qml + * @brief Button "Back" that return to previous menu. + * 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 "../models/Constants.js" as Constants + +OvalButton { + text: "Back" + onClicked: { contentLoader.back() } + fontSize: Constants.fontSize + opacity: 0 + + NumberAnimation on opacity { + to: 1; + duration: Constants.animationDuration + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/CheckBox.qml b/src/components/qt_hmi/qml_model_qt4/controls/CheckBox.qml new file mode 100644 index 0000000000..39d693b971 --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/CheckBox.qml @@ -0,0 +1,78 @@ +/** + * @file CheckBox.qml + * @brief Check box + * 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 "../models/Constants.js" as Constants + +Item { + property alias text: text.text + property alias color: text.color + property bool checked: false + + signal clicked + + onCheckedChanged: { + selector.color = checked ? Constants.primaryColorPressed : Constants.transparentColor + } + + height: checkbox.height + Constants.generalSpacing / 2 + width: checkbox.width + text.width + 1.5 * Constants.generalSpacing + + MouseArea { + anchors.fill: parent + onClicked: { checked = !checked; parent.clicked() } + } + Rectangle { + id: checkbox + width: text.font.pixelSize + Constants.generalSpacing / 2 + height: width + anchors.left: parent.left + border.color: Constants.controlsBorderColor + border.width: Constants.controlsBorderWidth + color: Constants.panelTextColor + radius: Constants.controlsRadius + Rectangle { + id: selector + anchors.fill: parent + anchors.margins: checkbox.width / 8 + color: Constants.transparentColor + } + } + Text { + id: text + anchors.left: checkbox.right + anchors.leftMargin: Constants.generalSpacing + anchors.verticalCenter: checkbox.verticalCenter + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/CircleButton.qml b/src/components/qt_hmi/qml_model_qt4/controls/CircleButton.qml new file mode 100644 index 0000000000..818f07ffc5 --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/CircleButton.qml @@ -0,0 +1,87 @@ +/** + * @file CircleButton.qml + * @brief Parent class for circle button. + * 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 "../models/Constants.js" as Constants + +Image { + id: circleBtn + source: imgOff + property alias text: btnText.text + property alias pixelSize: btnText.font.pixelSize + property string dest: "" + property bool isPressed: false + property string imgOff: "../res/buttons/round_btn.png" + property string imgOn: "../res/buttons/round_pressed_btn.png" + property string textColorOnPressed: Constants.secondaryColor + property string textColorDefault: Constants.primaryColor + + signal clicked() + function wasClicked() + { + clicked() + } + + Text { + anchors.centerIn: parent + id: btnText + color: textColorDefault + } + + MouseArea { + anchors.fill: parent + onPressed: { + console.log("CircleButton onPressed enter"); + source = imgOn + btnText.color = textColorOnPressed + isPressed = true + console.log("CircleButton onPressed exit"); + } + onReleased: { + console.log("CircleButton onReleased enter"); + source = imgOff + btnText.color = textColorDefault + isPressed = false + console.log("CircleButton onReleased exit"); + } + onClicked: { + console.log("CircleButton onClicked enter"); + if(dest !== ""){ + contentLoader.go(dest) + } + circleBtn.wasClicked() + console.log("CircleButton onClicked enter"); + } + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/ClickableImage.qml b/src/components/qt_hmi/qml_model_qt4/controls/ClickableImage.qml new file mode 100644 index 0000000000..f35f7c3020 --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/ClickableImage.qml @@ -0,0 +1,66 @@ +/** + * @file ClickableImage.qml + * @brief Clickable image item + * 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 "../models/Constants.js" as Constants + +Image { + signal pressed () + signal released () + signal canceled () + signal clicked() + + MouseArea { + anchors.fill: parent + + onPressed: { + parent.scale = Constants.pressedIconScale + parent.pressed() + } + + onReleased: { + parent.scale = 1 + parent.released() + } + + onCanceled: { + parent.scale = 1 + parent.canceled() + } + + onClicked: { + parent.clicked() + } + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/ClickableText.qml b/src/components/qt_hmi/qml_model_qt4/controls/ClickableText.qml new file mode 100644 index 0000000000..e6b9fbf246 --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/ClickableText.qml @@ -0,0 +1,77 @@ +/** + * @file ClickableText.qml + * @brief Clickable text item + * 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 + +Text { + property string defaultColor + property string pressedColor + signal pressed () + signal released () + signal canceled () + signal clicked () + + color: defaultColor + + MouseArea { + anchors.fill: parent + + onPressed: { + press() + parent.pressed() + } + + onReleased: { + release() + parent.released() + } + + onCanceled: { + release() + parent.canceled() + } + + onClicked: { + parent.clicked() + } + } + + function press () { + color = pressedColor + } + + function release () { + color = defaultColor + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/ClimateControlBtn.qml b/src/components/qt_hmi/qml_model_qt4/controls/ClimateControlBtn.qml new file mode 100644 index 0000000000..abd344272c --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/ClimateControlBtn.qml @@ -0,0 +1,93 @@ +/** + * @file ClimateControlBtn.qml + * @brief Round button, which is used at climat menu. + * 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 "../models/Constants.js" as Constants + +Item +{ + id: climateControlBtn + width: climateBtnImg.width + height: climateBtnImg.height + property string name: "" + property string txt: "" + state: "off" + + Image { + id: climateBtnImg + source: climateControlBtn.state === "off" ? "../res/climate/climate_round_off_btn.png" : "../res/climate/climate_round_on_btn.png" + + Image { + id: hoverImg + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + property string st: climateControlBtn.state === "off" ? "_off" : "_on" + source: climateControlBtn.name === "" ? "": "../res/climate/" + climateControlBtn.name + st + ".png" + } + + Text { + id: hoverText + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + text: climateControlBtn.txt + font.pixelSize: Constants.fontSize + color: climateControlBtn.state === "off" ? Constants.primaryColor : Constants.secondaryColor + } + + MouseArea { + anchors.fill: parent + onClicked: { + if(climateControlBtn.state === "on") { + climateControlBtn.state = "off" + climateBtnImg.source = "../res/climate/climate_round_off_btn.png" + if(climateControlBtn.txt != "") { + hoverText.color = Constants.primaryColor + } + if(climateControlBtn.name != "") { + hoverImg.source = "../res/climate/" + climateControlBtn.name + "_off.png" + } + } else { + climateControlBtn.state = "on" + climateBtnImg.source = "../res/climate/climate_round_on_btn.png" + if(climateControlBtn.txt != "") { + hoverText.color = Constants.secondaryColor + } + if(climateControlBtn.name != "") { + hoverImg.source = "../res/climate/" + climateControlBtn.name + "_on.png" + } + } + } + } + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/ComboBox.qml b/src/components/qt_hmi/qml_model_qt4/controls/ComboBox.qml new file mode 100644 index 0000000000..d5129a2a10 --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/ComboBox.qml @@ -0,0 +1,143 @@ +/** + * @file ComboBox.qml + * @brief Combo box + * 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 "../models/Constants.js" as Constants + +Item { + id: container + width: Constants.defaultComboboxWidth + height: main.height + + property alias model: listView.model + property alias currentIndex: listView.currentIndex + property alias currentText: textMain.text + property string textRole + + function choose(name) { + var count = listView.count + for (var i = 0; i < count; ++i) { + if (name === listView.model.get(i).name) { + listView.currentIndex = i + break + } + } + + textMain.text = name + } + + Rectangle { + id: main + + anchors.left: parent.left + anchors.right: parent.right + height: label.font.pixelSize + Constants.generalSpacing + color: Constants.panelTextColor + border.color: Constants.controlsBorderColor + border.width: Constants.controlsBorderWidth + radius: Constants.controlsRadius + + Text { + id: textMain + anchors.left: parent.left + anchors.right: arrow.left + anchors.top: parent.top + anchors.bottom: parent.bottom + color: Constants.secondaryColor + verticalAlignment: Text.AlignVCenter + anchors.leftMargin: Constants.generalSpacing + anchors.rightMargin: Constants.generalSpacing + elide: Text.ElideRight + } + + Rectangle { + id: arrow + anchors.right: parent.right + height: parent.height; width: height + + color: Constants.panelTextColor + border.color: Constants.controlsBorderColor + border.width: Constants.controlsBorderWidth + radius: Constants.controlsRadius + + Text { + anchors.fill: parent + text: "v" + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + color: Constants.secondaryColor + } + } + + MouseArea { + anchors.fill: parent + hoverEnabled: true + onClicked: listView.visible = !listView.visible + } + } + + ScrollableListView { + id: listView + anchors.top: main.bottom + anchors.left: main.left + anchors.right: main.right + height: 150 + visible: false + delegate: Rectangle { + anchors.left: parent.left + anchors.right: parent.right + height: label.font.pixelSize + Constants.generalSpacing + color: Constants.panelTextColor + border.color: Constants.controlsBorderColor + border.width: Constants.controlsBorderWidth + Text { + id: label + anchors.fill: parent + anchors.leftMargin: Constants.generalSpacing + anchors.rightMargin: Constants.generalSpacing + verticalAlignment: Text.AlignVCenter + text: model.name + color: Constants.secondaryColor + elide: Text.ElideRight + } + MouseArea { + anchors.fill: parent + hoverEnabled: true + onClicked: { choose(model.name); listView.visible = false } + onEntered: { parent.color = Constants.primaryColorPressed } + onExited: { parent.color = Constants.panelTextColor } + } + } + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/GradientRectangle.qml b/src/components/qt_hmi/qml_model_qt4/controls/GradientRectangle.qml new file mode 100644 index 0000000000..7b21bb4567 --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/GradientRectangle.qml @@ -0,0 +1,125 @@ +/** + * @file GradientRectangle.qml + * @brief Rectangle with gradient. + * 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 "../models/Constants.js" as Constants +import "../hmi_api/Common.js" as Common + +Rectangle { + property string firstColor: "grey" + property string secondColor: "#2E2E2E" + property alias fontSize: text.font.pixelSize + property alias text: text.text + property int customButtonID + property bool isCustomButton: false + property bool clickProcessed + signal pressed() + signal released() + + radius: 5 + border.color: "#D3D3D3" + + Text { + id: text + anchors.fill: parent + font.pixelSize: Constants.titleFontSize + color: "white" + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + elide: Text.ElideRight + } + + MouseArea { + anchors.fill: parent + + onPressed: { + firstColor = "#2E2E2E" + secondColor = "grey" + parent.pressed() + } + onReleased: { + firstColor = "grey" + secondColor = "#2E2E2E" + parent.released() + } + } + + Timer { + id: timer + interval: Constants.customButtonTimer + repeat: false + triggeredOnStart: false + } + + onPressed: { + if (isCustomButton) { + timer.start() + clickProcessed = false + sdlButtons.onButtonEvent(Common.ButtonName.CUSTOM_BUTTON, Common.ButtonEventMode.BUTTONDOWN, customButtonID) + } + } + + onReleased: { + if (isCustomButton) { + sdlButtons.onButtonEvent(Common.ButtonName.CUSTOM_BUTTON, Common.ButtonEventMode.BUTTONUP, customButtonID) + timer.stop() + if (!clickProcessed) { + sdlButtons.onButtonPress(Common.ButtonName.CUSTOM_BUTTON, Common.ButtonPressMode.SHORT, customButtonID) + } + } + } + + Connections { + target: timer + onTriggered: { + if (isCustomButton) { + if(!clickProcessed) { + sdlButtons.onButtonPress(Common.ButtonName.CUSTOM_BUTTON, Common.ButtonPressMode.LONG, customButtonID) + clickProcessed = true + } + } + } + } + + gradient: Gradient { + GradientStop { + position: 0.1 + color: firstColor + } + GradientStop { + position: 0.5 + color: secondColor + } + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/GridItem.qml b/src/components/qt_hmi/qml_model_qt4/controls/GridItem.qml new file mode 100644 index 0000000000..84528ab800 --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/GridItem.qml @@ -0,0 +1,53 @@ +/** + * @file GridItem.qml + * @brief Item with animation for GridMenu + * 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 "../models/Constants.js" as Constants + +Item { + id: item + opacity: 0 + SequentialAnimation { + id: animation + PauseAnimation {duration: index * 100 } + NumberAnimation { + target: item + duration: Constants.animationDuration + property: "opacity" + from: 0; to: 1; + } + } + Component.onCompleted: { + animation.start() + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/HardwareButton.qml b/src/components/qt_hmi/qml_model_qt4/controls/HardwareButton.qml new file mode 100644 index 0000000000..ea8e406c6e --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/HardwareButton.qml @@ -0,0 +1,108 @@ +/** + * @file HardwareButton.qml + * @brief Parent class for hardware button. + * 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 com.ford.sdl.hmi.hw_buttons 1.0 +import "../hmi_api/Common.js" as Common + +MaskedContainer { + property string name + property int buttonId: Common.ButtonName.CUSTOM_BUTTON + property bool upDownAvailable: true + property bool shortPressAvailable: true + property bool longPressAvailable: true + + signal hold + + Image { + source: "../res/controlButtons/" + name + "Button.png" + } + Image { + id: pressedImg + source: "../res/controlButtons/" + name + "Button_pressed.png" + visible: false + Behavior on opacity { + NumberAnimation { duration: 80 } + } + } + Timer { + id: timer + interval: 2000 + repeat: false + triggeredOnStart: false + } + property bool clickProcessed + onPressed: { + clickProcessed = false + pressedImg.visible = true + timer.start() + if (upDownAvailable) { + sdlButtons.onButtonEvent(buttonId, Common.ButtonEventMode.BUTTONDOWN, undefined) + } + } + + onReleased: { + if (upDownAvailable) { + sdlButtons.onButtonEvent(buttonId, Common.ButtonEventMode.BUTTONUP, undefined) + } + timer.stop() + if (!clickProcessed && shortPressAvailable) { + sdlButtons.onButtonPress(buttonId, Common.ButtonPressMode.SHORT, undefined) + } + pressedImg.visible = false + } + + Connections { + target: timer + onTriggered: { + if(!clickProcessed && longPressAvailable) { + sdlButtons.onButtonPress(buttonId, Common.ButtonPressMode.LONG, undefined) + clickProcessed = true + hold() + } + } + } + + Component.onCompleted: { + if (buttonId !== Common.ButtonName.CUSTOM_BUTTON) { + settingsContainer.buttonCapabilities.push( + { + name: buttonId, + upDownAvailable: upDownAvailable, + shortPressAvailable: shortPressAvailable, + longPressAvailable: longPressAvailable + }); + } + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/HeaderMenu.qml b/src/components/qt_hmi/qml_model_qt4/controls/HeaderMenu.qml new file mode 100644 index 0000000000..2b0b418c54 --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/HeaderMenu.qml @@ -0,0 +1,134 @@ +/** + * @file HeaderMenu.qml + * @brief Header menu view. + * 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 "../models/Constants.js" as Constants + +Item { + id: headerMenu + anchors.fill: parent + + Text { + anchors.leftMargin: Constants.margin + anchors.topMargin: Constants.margin + anchors.left: parent.left + anchors.verticalCenter: parent.verticalCenter + color: Constants.primaryColor + font.pixelSize: Constants.fontSize + text: "75°" + } + + Item { + width: menuText.width + height: parent.height + anchors.topMargin: Constants.margin + anchors.horizontalCenter: headerMenu.horizontalCenter + signal clicked () + + ClickableText { + id: menuLogo + anchors.horizontalCenter: menuText.horizontalCenter + anchors.bottom: parent.verticalCenter + text: "≡" + defaultColor: Constants.primaryColor + pressedColor: Constants.primaryColorPressed + font.pixelSize: Constants.fontSize + + onClicked: parent.clicked() + onPressed: menuLogo.press() + onReleased: menuLogo.release() + onCanceled: menuLogo.release() + } + + ClickableText { + id: menuText + anchors.top: parent.verticalCenter + text: "MENU"; + defaultColor: Constants.primaryColor + pressedColor: Constants.primaryColorPressed + font.pixelSize: Constants.fontSize + + onClicked: parent.clicked() + onPressed: menuText.press() + onReleased: menuText.release() + onCanceled: menuText.release() + } + + onClicked: { + contentLoader.go("./views/MainMenuView.qml") + } + } + + Row { + id: clock + height: childrenRect.height + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + anchors.rightMargin: Constants.margin + anchors.topMargin: Constants.margin + property date date: new Date() + + Timer { + running: true + repeat: true + interval: 1000 + onTriggered: { + clock.date = new Date(); + } + } + + Text { + text: Qt.formatTime(clock.date, "hh"); + color: Constants.primaryColor + font.pixelSize: Constants.fontSize; + } + + Item { + width: 10 + height: parent.height + Text { + anchors.horizontalCenter: parent.horizontalCenter + text: clock.date.getSeconds() % 2 ? ":" : "" + color: Constants.primaryColor + font.pixelSize: Constants.fontSize; + } + } + + Text { + text: Qt.formatTime(clock.date, "mm"); + color: Constants.primaryColor + font.pixelSize: Constants.fontSize; + } + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/Icon.qml b/src/components/qt_hmi/qml_model_qt4/controls/Icon.qml new file mode 100644 index 0000000000..d0bfdba78b --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/Icon.qml @@ -0,0 +1,65 @@ +/** + * @file Navigation.qml + * @brief Icon. + * 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 source + + Image { + anchors.fill: parent + source: url(parent.source) + + function image(turnIcon) { + if (turnIcon && turnIcon.imageType === Common.ImageType.STATIC) { + return turnIcon.value; + } else { + return ""; + } + } + + function url(turnIcon) { + if (turnIcon && turnIcon.imageType === Common.ImageType.DYNAMIC) { + return turnIcon.value; + } else { + return ""; + } + } + } + + function reset () { + source = undefined + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/ListItem.qml b/src/components/qt_hmi/qml_model_qt4/controls/ListItem.qml new file mode 100644 index 0000000000..c87c24de4d --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/ListItem.qml @@ -0,0 +1,70 @@ +/** + * @file Entry.qml + * @brief Entry with icon and text for list. + * 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 "../models/Constants.js" as Constants + +Rectangle { + id: main + color: Constants.transparentColor + + property alias text: label.text + property alias fontSize: label.font.pixelSize + property alias icon: image.source + + Icon { + id: image + width: Constants.iconItemListSize + height: Constants.iconItemListSize + anchors.left: parent.left + anchors.leftMargin: Constants.generalSpacing + anchors.verticalCenter: parent.verticalCenter + visible: source ? true : false + } + Text { + id: label + anchors.verticalCenter: parent.verticalCenter + height: image.height + width: parent.width - image.width + z: 50 + verticalAlignment: Text.AlignVCenter + font.pixelSize: Constants.fontSize + text: "Name Entry" + anchors.left: image.right + anchors.leftMargin: Constants.generalSpacing + anchors.verticalCenterOffset: 0 + visible: text !== "" + color: Constants.primaryColor + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/MaskedButton.qml b/src/components/qt_hmi/qml_model_qt4/controls/MaskedButton.qml new file mode 100644 index 0000000000..d8a95d1a00 --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/MaskedButton.qml @@ -0,0 +1,64 @@ +/** + * @file MaskedButton.qml + * @brief Masked button. + * 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 com.ford.sdl.hmi.hw_buttons 1.0 + +MaskedContainer { + property string name + + Image { + id: icon + source: "../res/controlButtons/" + name + "Button.png" + } + + onPressed: { + state = "pressed"; + } + + onReleased: { + state = ""; + } + + states: [ + State { + name: "pressed" + PropertyChanges { + target: icon + source: "../res/controlButtons/" + name + "Button_pressed.png" + } + } + + ] +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/MultiTouchArea.qml b/src/components/qt_hmi/qml_model_qt4/controls/MultiTouchArea.qml new file mode 100644 index 0000000000..e86dcedc8f --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/MultiTouchArea.qml @@ -0,0 +1,77 @@ +/** + * @file MultiTouchArea.qml + * @brief Area for multitouch. + * 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 + +MultiPointTouchArea { + readonly property int created: Date.now() + + signal pressed(var touchPoints) + signal released(var touchPoints) + signal canceled(var touchPoints) + signal updated(var touchPoints) + + function fillEvent(touchPoints) { + var event = [] + for (var i = 0; i < touchPoints.length; ++i) { + event.push({ + id: touchPoints[i].pointId, + ts: [Date.now() - created], + c: [{ x: touchPoints.x, y: touchPoints.y }] // TODO(KKolodiy): need cast to int + }) + } + return event + } + + minimumTouchPoints: 1 + maximumTouchPoints: 10 + + onPressed: { + sdlUI.onTouchEvent(Common.BEGIN, fillEvent(touchPoints)) + parent.pressed(touchPoints) + } + onReleased: { + sdlUI.onTouchEvent(Common.END, fillEvent(touchPoints)) + parent.released(touchPoints) + } + onCanceled: { + sdlUI.onTouchEvent(Common.END, fillEvent(touchPoints)) + parent.canceled(touchPoints) + } + onUpdated: { + sdlUI.onTouchEvent(Common.MOVE, fillEvent(touchPoints)) + parent.updated(touchPoints) + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/OvalButton.qml b/src/components/qt_hmi/qml_model_qt4/controls/OvalButton.qml new file mode 100644 index 0000000000..59458499a7 --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/OvalButton.qml @@ -0,0 +1,240 @@ +/** + * @file OvalButton.qml + * @brief Oval button with flexible width. + * 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 com.ford.sdl.hmi.hw_buttons 1.0 +import "../models/Constants.js" as Constants + +// Don't change constants. It break button +// TODO (dchmerev@luxoft.com): make this comment more clear +// todo (ykazakov): eliminate this problem and remove all such comments + +Item { + id: main + width: dynamic ? field.width + 2 * left.width : Constants.ovalButtonWidth + height: Constants.ovalButtonHeight + + signal clicked; + signal pressed; + signal released; + signal pressAndHold; + property alias text: label.text + property alias fontSize: label.font.pixelSize + property alias icon: image.source + property bool highlighted: false + property bool dynamic: false + property bool disabled: false + property color colorizeColor + property real colorizeStrength + + onDisabledChanged: colorize() + onHighlightedChanged: colorize() + Component.onCompleted: colorize() + + function colorize() { + if (disabled) { + colorizeColor = "gray"; + colorizeStrength = 1; + } else if (highlighted) { + colorizeColor = "cyan"; + colorizeStrength = 1; + } else { + colorizeStrength = 0; + } + } + + Item { + id: buttonBorderImage + visible: true + anchors.fill: parent + Image { + id: left + width: 31 + anchors.left: parent.left + anchors.bottom: parent.bottom + anchors.top: parent.top + source: "../res/buttons/oval_btn_left.png" + effect: Colorize { + color: main.colorizeColor + strength: main.colorizeStrength + } + } + + Image { + id: right + width: 31 + anchors.top: parent.top + anchors.bottom: parent.bottom + anchors.right: parent.right + source: "../res/buttons/oval_btn_right.png" + effect: Colorize { + color: main.colorizeColor + strength: main.colorizeStrength + } + } + + Image { + id: top + height: 10 + anchors.right: parent.right + anchors.rightMargin: 31 + anchors.left: parent.left + anchors.leftMargin: 31 + anchors.top: parent.top + fillMode: Image.TileHorizontally + source: "../res/buttons/oval_btn_top.png" + effect: Colorize { + color: main.colorizeColor + strength: main.colorizeStrength + } + } + + Image { + id: bottom + height: 11 + anchors.right: parent.right + anchors.rightMargin: 31 + anchors.left: parent.left + anchors.leftMargin: 31 + anchors.bottom: parent.bottom + fillMode: Image.TileHorizontally + source: "../res/buttons/oval_btn_bottom.png" + effect: Colorize { + color: main.colorizeColor + strength: main.colorizeStrength + } + } + } + + Rectangle { + id: background + color: Constants.transparentColor + anchors.fill: parent + anchors.rightMargin: 31 + anchors.leftMargin: 31 + anchors.bottomMargin: 10 + anchors.topMargin: 10 + visible: true + effect: Colorize { + color: main.colorizeColor + strength: main.colorizeStrength + } + } + + MouseArea { + id: mousearea + anchors.rightMargin: 15 + anchors.leftMargin: 15 + anchors.bottomMargin: 11 + anchors.topMargin: 10 + anchors.fill: parent + enabled: !parent.disabled + onPressed: { + parent.state = "pressed"; + parent.pressed(); + } + onReleased: { + parent.state = ""; + parent.released(); + } + onClicked: { + parent.clicked(); + } + onPressAndHold: { + parent.pressAndHold(); + } + onCanceled: { + parent.state = ""; + } + } + + Item { + id: field + anchors.fill: background + + Icon { + id: image + width: Constants.iconButtonSize + height: Constants.iconButtonSize + anchors.verticalCenter: parent.verticalCenter + visible: source ? true : false + } + Text { + id: label + width: image.visible ? parent.width - image.width : parent.width + color: Constants.primaryColor + anchors.centerIn: parent + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + font.pixelSize: Constants.ovalButtonFontSize + visible: true + elide: Text.ElideRight + effect: Colorize { + id: colorizeLabel + color: main.colorizeColor + strength: main.colorizeStrength + } + } + } + + states: [ + State { + name: "pressed" + PropertyChanges { + target: left + source: "../res/buttons/oval_btn_pressed_left.png" + } + + PropertyChanges { + target: right + source: "../res/buttons/oval_btn_pressed_right.png" + } + + PropertyChanges { + target: background + color: Constants.primaryColor + } + + PropertyChanges { + target: label + color: Constants.secondaryColor + } + + PropertyChanges { + target: colorizeLabel + strength: 0 + } + } + ] +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/PagedFlickable.qml b/src/components/qt_hmi/qml_model_qt4/controls/PagedFlickable.qml new file mode 100644 index 0000000000..6d40ad6478 --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/PagedFlickable.qml @@ -0,0 +1,105 @@ +/** + * @file PagedFlickable.qml + * @brief Animated row. + * 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 + +Item +{ + id: flickablePage + height: container.height + pager.height + default property alias content: containerRow.children + property alias spacing: containerRow.spacing + property int elementWidth + property int snapTo + property int count: 0 + + Flickable { + id: container + anchors.bottom: parent.bottom + maximumFlickVelocity: 1500 + contentWidth: containerRow.width + height: containerRow.height + width: parent.width + interactive: contentWidth > width + + onMovementEnded: { + var rest = contentX % snapTo + var t = 0.25 + if (rest > parent.snapTo / 2) { + rest = rest - parent.snapTo + } + var vel = 2 * rest / t + flickDeceleration = Math.abs(vel) / t + flick(vel, 0) + flickDeceleration = 1500 + } + Row { + id: containerRow + anchors.verticalCenter: parent.verticalCenter + } + } + + Pager { + id: pager + space: 7 + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: parent.top + + pages: { + if ( (container.contentWidth % container.width) >= (flickablePage.elementWidth / 2 + flickablePage.spacing)) { + return Math.ceil(container.contentWidth / container.width) + } + else { + return Math.floor(container.contentWidth / container.width) + } + } + + activePage: { + if (container.contentX <= 0) { + return 0 + } + else if ( (container.contentWidth - container.contentX) < container.width) { + return pages -1 + } + else { + if ( (container.contentX % container.width) >= (flickablePage.elementWidth / 2 + flickablePage.spacing)) { + return Math.ceil(container.contentX / container.width) + } + else if ( (container.contentX % container.width) > 0) { + return Math.floor(container.contentX / container.width) + } + } + } + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/Pager.qml b/src/components/qt_hmi/qml_model_qt4/controls/Pager.qml new file mode 100644 index 0000000000..471d932113 --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/Pager.qml @@ -0,0 +1,53 @@ +/** + * @file Pager.qml + * @brief Bubbles that indicate about page switch. + * 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 + +Row { + id: pager + property int pages + property int activePage: 0 + property int space + property int itemsInRowOnScreen: 3 + + spacing: space + visible: pages !== 1 + + Repeater { + model: pages + Image { + source: index === activePage ? "../res/white_ball.png" : "../res/blue_ball.png" + } + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/PlayPauseButton.qml b/src/components/qt_hmi/qml_model_qt4/controls/PlayPauseButton.qml new file mode 100644 index 0000000000..825884cc1e --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/PlayPauseButton.qml @@ -0,0 +1,77 @@ +/** + * @file PlayPauseButton.qml + * @brief Behavior of Play/Pause button. + * 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 + +Image { + id: playPauseButton + property string sourceOnPressed: "" + property string sourceOnReleased: "" + + signal clicked + + MouseArea { + anchors.fill: parent + onPressed: { + playPauseButton.source = playPauseButton.sourceOnPressed + } + onReleased: { + playPauseButton.source = playPauseButton.sourceOnReleased + } + onClicked: { + playPauseButton.clicked() + } + } + states: [ + State { + name: "Play" + PropertyChanges { + target: playPauseButton + source: "../res/buttons/player_play_btn.png" + sourceOnPressed: "../res/buttons/player_play_pressed_btn.png" + sourceOnReleased: "../res/buttons/player_pause_btn.png" + } + }, + + State { + name: "Pause" + PropertyChanges { + target: playPauseButton + source: "../res/buttons/player_pause_btn.png" + sourceOnPressed: "../res/buttons/player_pause_pressed_btn.png" + sourceOnReleased: "../res/buttons/player_play_btn.png" + } + } + ] +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/PowerSwitchButton.qml b/src/components/qt_hmi/qml_model_qt4/controls/PowerSwitchButton.qml new file mode 100644 index 0000000000..2027e1f592 --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/PowerSwitchButton.qml @@ -0,0 +1,75 @@ +/** + * @file PowerSwitchBtn.qml + * @brief On/Off button. + * 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 "../models/Constants.js" as Constants + +Rectangle { + id: powerSwitchBtn + state: "Turn ON" + width: 120 + height: 80 + radius: 5 + property bool pressed; + + gradient: Gradient { + GradientStop { position: pressed ? 1.0 : 0.0; color: "#2c2c2c" } + GradientStop { position: pressed ? 0.0 : 1.0; color: "black" } + } + + MouseArea { + anchors.fill: parent + onPressed: { + parent.pressed = true + } + onReleased: { + parent.pressed = false + parent.state = parent.state === "Turn ON" ? "Turn OFF" : "Turn ON" + btnText.text = parent.state + if (parent.state === "Turn OFF") { + contentLoader.reset() + mainScreen.visible = true + warningInfo.showOkButton() + } + } + } + + Text { + id: btnText + color: "red" + text: parent.state + anchors.centerIn: parent + font.pixelSize: Constants.powerButtonFornSize + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/PresetRow.qml b/src/components/qt_hmi/qml_model_qt4/controls/PresetRow.qml new file mode 100644 index 0000000000..1454ed812d --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/PresetRow.qml @@ -0,0 +1,106 @@ +/** + * @file PresetRow.qml + * @brief Animated row with radio stations. + * 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 "../models/Constants.js" as Constants + +Item { + id: presetRow + height: childrenRect.height + property variant presets: [] + property int selectedIndex: 0 + signal presetSelected + signal presetButtonPressed() + signal presetButtonReleased() + signal presetButtonClicked() + signal presetButtonHold() + + Image { + id: circleButton + source: "../res/buttons/preset_pressed_btn.png" + visible: false + enabled: false + } + + PagedFlickable { + width: parent.width + spacing: (width - (circleButton.width * 4)) / 3 + snapTo: spacing + circleButton.width + elementWidth: circleButton.width + + Repeater { + model: presetRow.presets.length + delegate: + Column { + width: circleButton.width + Image { + anchors.horizontalCenter: parent.horizontalCenter + source: presetRow.selectedIndex === index ? "../res/buttons/preset_pressed_btn.png" : "../res/buttons/preset_btn.png" + MouseArea { + anchors.fill: parent + onPressed: { + presetRow.selectedIndex = index; + presetButtonPressed() + } + onReleased: { + presetRow.selectedIndex = index; + presetButtonReleased() + } + onClicked: { + presetRow.selectedIndex = index + presetButtonClicked() + } + onPressAndHold: { + presetRow.selectedIndex = index; + presetButtonHold() + } + } + Text { + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + text: index + 1 + font.pixelSize: Constants.fontSize + color: presetRow.selectedIndex === index ? Constants.secondaryColor : Constants.primaryColor + } + } + Text { + anchors.horizontalCenter: parent.horizontalCenter + text: presetRow.presets[index] + font.pixelSize: Constants.fontSize + color: "white" + } + } + } + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/PushButton.qml b/src/components/qt_hmi/qml_model_qt4/controls/PushButton.qml new file mode 100644 index 0000000000..36ee9bbb3f --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/PushButton.qml @@ -0,0 +1,136 @@ +/** + * @file PushButton.qml + * @brief Simple button + * 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 + +Rectangle { + id: toggleButton + width: 160 + height: 40 + radius: 2 + border.width: 2 + border.color: "#000000" + gradient: grUnpressed + + property alias label : label.text + + signal pressed() + signal unpressed() + signal clicked() + + property bool toggleMode: false + + state: "unpressed" + onStateChanged: { + if (state == "pressed") { + pressed(); + } else { + unpressed(); + } + } + + Text { + id: label + color: "white" + text: "PushButton" + font.pixelSize: 18 + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + anchors.horizontalCenter: parent.horizontalCenter + anchors.fill: parent + } + MouseArea { + id: mouseArea + + anchors.fill: parent + onPressed: { + if (toggleMode) { + if (parent.state == "unpressed") { + parent.state = "pressed" + } else { + parent.state = "unpressed" + } + } else { + parent.state = "pressed" + } + } + onReleased: { + if (!toggleMode) { + parent.state = "unpressed" + if (mouse.isClick) { + parent.clicked() + } + } + } + } + + states: [ + State { + name: "pressed" + PropertyChanges { + target: toggleButton + gradient: grPressed + } + }, + State { + name: "unpressed" + PropertyChanges { + target: toggleButton + gradient: grUnpressed + } + } + ] + + Gradient { + id: grUnpressed + + GradientStop { position: 0.0; color: "#2c2c2c" } + GradientStop { position: 1.0; color: "#0c0c0c" } + } + + Gradient { + id: grPressed + + GradientStop { position: 0.0; color: "black" } + GradientStop { position: 1.0; color: "black" } + } + + transitions: [ + Transition { + from: "unpressed" + to: "pressed" + reversible: true + } + ] +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/ScrollableListView.qml b/src/components/qt_hmi/qml_model_qt4/controls/ScrollableListView.qml new file mode 100644 index 0000000000..cc26c87271 --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/ScrollableListView.qml @@ -0,0 +1,49 @@ +/** + * @file ScrollableListView.qml + * @brief ListView with scrollbar on the right + * 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 "../models/Constants.js" as Constants + +ListView { + clip: true + + Rectangle { + visible: parent.height < parent.contentHeight + anchors.right: parent.right + y: parent.visibleArea.yPosition * parent.height + width: Constants.scrollBarWidth + height: parent.visibleArea.heightRatio * parent.height + color: Constants.primaryColor + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/ScrollableText.qml b/src/components/qt_hmi/qml_model_qt4/controls/ScrollableText.qml new file mode 100644 index 0000000000..82f568414b --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/ScrollableText.qml @@ -0,0 +1,70 @@ +/** + * @file ScrollableText.qml + * @brief Text with scrollers if text more than zone + * 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 "../models/Constants.js" as Constants + +Item { + property alias text: text.text + clip: true + + Flickable { + id: flickable + anchors.fill: parent + contentWidth: text.width + contentHeight: text.height + + Text { + id: text + color: Constants.popUpBorderColor + font.pixelSize: Constants.ttsFontSize + } + } + Rectangle { + visible: flickable.height < flickable.contentHeight + anchors.right: flickable.right + y: flickable.visibleArea.yPosition * flickable.height + width: Constants.scrollBarWidth + height: flickable.visibleArea.heightRatio * flickable.height + color: Constants.popUpBorderColor + } + Rectangle { + visible: flickable.width < flickable.contentWidth + anchors.bottom: flickable.bottom + x: flickable.visibleArea.xPosition * flickable.width + height: Constants.scrollBarWidth + width: flickable.visibleArea.widthRatio * flickable.width + color: Constants.popUpBorderColor + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/SoftButton.js b/src/components/qt_hmi/qml_model_qt4/controls/SoftButton.js new file mode 100644 index 0000000000..227f638366 --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/SoftButton.js @@ -0,0 +1,39 @@ +/** + * @file SoftButton.js + * @brief Soft button view 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 + +var Action = { + doOnClicked: 0, + doOnReleased: 1 +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/SoftButton.qml b/src/components/qt_hmi/qml_model_qt4/controls/SoftButton.qml new file mode 100644 index 0000000000..b92cd51263 --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/SoftButton.qml @@ -0,0 +1,104 @@ +/** + * @file SoftButton.qml + * @brief Soft button view + * 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 "SoftButton.js" as SoftButton + +OvalButton { + property variant button + property int appId + visible: !!button + + signal defaultAction; + signal stealFocus; + signal keepContext; + + property int actionOrder: SoftButton.Action.doOnClicked + + highlighted: button ? button.isHighlighted : false + onPressed: { + actionOrder = SoftButton.Action.doOnClicked + sdlButtons.onButtonEvent(Common.ButtonName.CUSTOM_BUTTON, Common.ButtonEventMode.BUTTONDOWN, button.softButtonID) + } + + onReleased: { + if (actionOrder === SoftButton.Action.doOnReleased) { + switch (button.systemAction) { + case Common.SystemAction.DEFAULT_ACTION: + defaultAction(); + break; + case Common.SystemAction.STEAL_FOCUS: + if (dataContainer.currentApplication.isMediaApplication) { + contentLoader.go("views/SDLPlayerView.qml", appId); + } else { + contentLoader.go("views/SDLNonMediaView.qml", appId); + } + stealFocus(); + break; + case Common.SystemAction.KEEP_CONTEXT: + keepContext(); + break; + } + } + + sdlButtons.onButtonEvent(Common.ButtonName.CUSTOM_BUTTON, Common.ButtonEventMode.BUTTONUP, button.softButtonID) + } + + onClicked: { + sdlButtons.onButtonPress(Common.ButtonName.CUSTOM_BUTTON, Common.ButtonPressMode.SHORT, button.softButtonID); + switch (button.systemAction) { + case Common.SystemAction.DEFAULT_ACTION: + defaultAction(); + break; + case Common.SystemAction.STEAL_FOCUS: + if (dataContainer.currentApplication.isMediaApplication) { contentLoader.go("views/SDLPlayerView.qml", appId); } + else { contentLoader.go("views/SDLNonMediaView.qml", appId); } + stealFocus(); + break; + case Common.SystemAction.KEEP_CONTEXT: + keepContext(); + break; + } + } + + onPressAndHold: { + actionOrder = SoftButton.Action.doOnReleased; // action should be triggered on release + sdlButtons.onButtonPress(Common.ButtonName.CUSTOM_BUTTON, Common.ButtonPressMode.LONG, button.softButtonID); + } + + onButtonChanged: { + icon = button && button.type !== Common.SoftButtonType.SBT_TEXT ? button.image : undefined; + text = button && button.type !== Common.SoftButtonType.SBT_IMAGE ? button.text : "" + } +} diff --git a/src/components/qt_hmi/qml_model_qt4/controls/StatusBar.qml b/src/components/qt_hmi/qml_model_qt4/controls/StatusBar.qml new file mode 100644 index 0000000000..a6d7640f36 --- /dev/null +++ b/src/components/qt_hmi/qml_model_qt4/controls/StatusBar.qml @@ -0,0 +1,42 @@ +/** + * @file StatusBar.qml + * @brief Status bar that contains text string. + * 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 "../models/Constants.js" as Constants + +Text { + text: dataContainer.currentApplication.hmiUIText.statusBar + color: Constants.primaryColor + font.pixelSize: Constants.statusBarFontSize +} |