From 52e96f616f903a430f8c47e6584c1254284f6132 Mon Sep 17 00:00:00 2001 From: Wolfgang Beck Date: Wed, 18 Jan 2012 15:53:21 +1000 Subject: Components exchangeable Change-Id: If028c67235567de4d7d99775dcd48e8c0a1ebf75 Sanity-Review: Qt Sanity Bot Reviewed-by: Lincoln Ramsay --- examples/sensors/maze/Button.qml | 75 --- examples/sensors/maze/Maze.qml | 27 +- .../sensors/maze/components/ApplicationWindow.qml | 51 ++ examples/sensors/maze/components/Button.qml | 75 +++ .../images/button_background_disabled.png | Bin 0 -> 579 bytes .../components/images/button_background_normal.png | Bin 0 -> 901 bytes .../images/button_background_pressed.png | Bin 0 -> 334 bytes .../maze/images/button_background_disabled.png | Bin 579 -> 0 bytes .../maze/images/button_background_normal.png | Bin 901 -> 0 bytes .../maze/images/button_background_pressed.png | Bin 334 -> 0 bytes examples/sensors/qmlqtsensors/Button.qml | 75 --- .../qmlqtsensors/components/ApplicationWindow.qml | 51 ++ .../sensors/qmlqtsensors/components/Button.qml | 75 +++ .../images/button_background_disabled.png | Bin 0 -> 579 bytes .../components/images/button_background_normal.png | Bin 0 -> 901 bytes .../images/button_background_pressed.png | Bin 0 -> 334 bytes .../images/button_background_disabled.png | Bin 579 -> 0 bytes .../images/button_background_normal.png | Bin 901 -> 0 bytes .../images/button_background_pressed.png | Bin 334 -> 0 bytes .../qmlqtsensors/images/listitem_select.png | Bin 156 -> 0 bytes examples/sensors/qmlqtsensors/main.qml | 658 +++++++++++---------- .../sensors/sensor_explorer/qml_app/Button.qml | 75 --- .../sensors/sensor_explorer/qml_app/TextField.qml | 103 ---- .../qml_app/components/ApplicationWindow.qml | 51 ++ .../sensor_explorer/qml_app/components/Button.qml | 75 +++ .../qml_app/components/TextField.qml | 109 ++++ .../images/button_background_disabled.png | Bin 0 -> 579 bytes .../components/images/button_background_normal.png | Bin 0 -> 901 bytes .../images/button_background_pressed.png | Bin 0 -> 334 bytes .../images/textfield_background_disabled.png | Bin 0 -> 936 bytes .../images/textfield_background_normal.png | Bin 0 -> 767 bytes .../qml_app/images/button_background_disabled.png | Bin 579 -> 0 bytes .../qml_app/images/button_background_normal.png | Bin 901 -> 0 bytes .../qml_app/images/button_background_pressed.png | Bin 334 -> 0 bytes .../images/textfield_background_disabled.png | Bin 936 -> 0 bytes .../qml_app/images/textfield_background_normal.png | Bin 767 -> 0 bytes examples/sensors/sensor_explorer/qml_app/main.qml | 58 +- 37 files changed, 860 insertions(+), 698 deletions(-) delete mode 100644 examples/sensors/maze/Button.qml create mode 100644 examples/sensors/maze/components/ApplicationWindow.qml create mode 100644 examples/sensors/maze/components/Button.qml create mode 100644 examples/sensors/maze/components/images/button_background_disabled.png create mode 100644 examples/sensors/maze/components/images/button_background_normal.png create mode 100644 examples/sensors/maze/components/images/button_background_pressed.png delete mode 100644 examples/sensors/maze/images/button_background_disabled.png delete mode 100644 examples/sensors/maze/images/button_background_normal.png delete mode 100644 examples/sensors/maze/images/button_background_pressed.png delete mode 100644 examples/sensors/qmlqtsensors/Button.qml create mode 100644 examples/sensors/qmlqtsensors/components/ApplicationWindow.qml create mode 100644 examples/sensors/qmlqtsensors/components/Button.qml create mode 100644 examples/sensors/qmlqtsensors/components/images/button_background_disabled.png create mode 100644 examples/sensors/qmlqtsensors/components/images/button_background_normal.png create mode 100644 examples/sensors/qmlqtsensors/components/images/button_background_pressed.png delete mode 100644 examples/sensors/qmlqtsensors/images/button_background_disabled.png delete mode 100644 examples/sensors/qmlqtsensors/images/button_background_normal.png delete mode 100644 examples/sensors/qmlqtsensors/images/button_background_pressed.png delete mode 100644 examples/sensors/qmlqtsensors/images/listitem_select.png delete mode 100644 examples/sensors/sensor_explorer/qml_app/Button.qml delete mode 100644 examples/sensors/sensor_explorer/qml_app/TextField.qml create mode 100644 examples/sensors/sensor_explorer/qml_app/components/ApplicationWindow.qml create mode 100644 examples/sensors/sensor_explorer/qml_app/components/Button.qml create mode 100644 examples/sensors/sensor_explorer/qml_app/components/TextField.qml create mode 100644 examples/sensors/sensor_explorer/qml_app/components/images/button_background_disabled.png create mode 100644 examples/sensors/sensor_explorer/qml_app/components/images/button_background_normal.png create mode 100644 examples/sensors/sensor_explorer/qml_app/components/images/button_background_pressed.png create mode 100644 examples/sensors/sensor_explorer/qml_app/components/images/textfield_background_disabled.png create mode 100644 examples/sensors/sensor_explorer/qml_app/components/images/textfield_background_normal.png delete mode 100644 examples/sensors/sensor_explorer/qml_app/images/button_background_disabled.png delete mode 100644 examples/sensors/sensor_explorer/qml_app/images/button_background_normal.png delete mode 100644 examples/sensors/sensor_explorer/qml_app/images/button_background_pressed.png delete mode 100644 examples/sensors/sensor_explorer/qml_app/images/textfield_background_disabled.png delete mode 100644 examples/sensors/sensor_explorer/qml_app/images/textfield_background_normal.png (limited to 'examples') diff --git a/examples/sensors/maze/Button.qml b/examples/sensors/maze/Button.qml deleted file mode 100644 index 2ae8f772..00000000 --- a/examples/sensors/maze/Button.qml +++ /dev/null @@ -1,75 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtSensors module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "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 Nokia Corporation and its Subsidiary(-ies) 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 -** OWNER 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." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -//Import the declarative plugins -import QtQuick 2.0 - -//Implementation of the Button control. -Item { - id: button - width: 30 - height: 100 - property alias text: innerText.text - signal clicked - - Image { - id: backgroundImage - anchors.fill: parent - source: (button.enabled ? "images/button_background_normal.png" : "images/button_background_disabled.png") - } - - Text { - id: innerText - anchors.centerIn: parent - color: "white" - font.bold: true - } - - //Mouse area to react on click events - MouseArea { - anchors.fill: button - onClicked: { button.clicked();} - onPressed: { - backgroundImage.source = "images/button_background_pressed.png" } - onReleased: { - backgroundImage.source = (button.enabled ? "images/button_background_normal.png" : "images/button_background_disabled.png") - } - } -} diff --git a/examples/sensors/maze/Maze.qml b/examples/sensors/maze/Maze.qml index 90c22a6f..d8c37dea 100644 --- a/examples/sensors/maze/Maze.qml +++ b/examples/sensors/maze/Maze.qml @@ -38,16 +38,6 @@ ** ****************************************************************************/ -//Import the declarative plugins -import QtQuick 2.0 - -//! [0] -import QtSensors 5.0 -//! [0] - -//Import the javascript functions for this game -import "lib.js" as Lib - /* Layout mainWnd / @@ -78,14 +68,19 @@ import "lib.js" as Lib ------------------------------ */ +//Import the declarative plugins +import QtQuick 2.0 +import "components" + +//! [0] +import QtSensors 5.0 +//! [0] + +//Import the javascript functions for this game +import "lib.js" as Lib -Rectangle { +ApplicationWindow { id: mainWnd - x: 0 - y: 0 - width: 320 - height: 480 - color: "#ececec" property Mouse mouseCtrl; property LabyrinthSquare cheeseSquare; diff --git a/examples/sensors/maze/components/ApplicationWindow.qml b/examples/sensors/maze/components/ApplicationWindow.qml new file mode 100644 index 00000000..4b67c2c2 --- /dev/null +++ b/examples/sensors/maze/components/ApplicationWindow.qml @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtSensors module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "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 Nokia Corporation and its Subsidiary(-ies) 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 +** OWNER 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." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +//Import the declarative plugins +import QtQuick 2.0 + +Rectangle { + id: appWnd + x: 0 + y: 0 + width: 320 + height: 480 + color: "#ececec" +} diff --git a/examples/sensors/maze/components/Button.qml b/examples/sensors/maze/components/Button.qml new file mode 100644 index 00000000..ce8feb3f --- /dev/null +++ b/examples/sensors/maze/components/Button.qml @@ -0,0 +1,75 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtSensors module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "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 Nokia Corporation and its Subsidiary(-ies) 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 +** OWNER 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." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +//Import the declarative plugins +import QtQuick 2.0 + +//Implementation of the Button control. +Item { + id: button + width: 30 + height: 100 + property alias text: innerText.text + signal clicked + + Image { + id: backgroundImage + anchors.fill: parent + source: (button.enabled ? "images/button_background_normal.png" : "images/button_background_disabled.png") + } + + Text { + id: innerText + anchors.centerIn: parent + color: "white" + font.bold: true + } + + //Mouse area to react on click events + MouseArea { + anchors.fill: button + onClicked: { button.clicked();} + onPressed: { + backgroundImage.source = "images/button_background_pressed.png" } + onReleased: { + backgroundImage.source = (button.enabled ? "images/button_background_normal.png" : "images/button_background_disabled.png") + } + } +} diff --git a/examples/sensors/maze/components/images/button_background_disabled.png b/examples/sensors/maze/components/images/button_background_disabled.png new file mode 100644 index 00000000..62a00b9a Binary files /dev/null and b/examples/sensors/maze/components/images/button_background_disabled.png differ diff --git a/examples/sensors/maze/components/images/button_background_normal.png b/examples/sensors/maze/components/images/button_background_normal.png new file mode 100644 index 00000000..1fecad5b Binary files /dev/null and b/examples/sensors/maze/components/images/button_background_normal.png differ diff --git a/examples/sensors/maze/components/images/button_background_pressed.png b/examples/sensors/maze/components/images/button_background_pressed.png new file mode 100644 index 00000000..149529e1 Binary files /dev/null and b/examples/sensors/maze/components/images/button_background_pressed.png differ diff --git a/examples/sensors/maze/images/button_background_disabled.png b/examples/sensors/maze/images/button_background_disabled.png deleted file mode 100644 index 62a00b9a..00000000 Binary files a/examples/sensors/maze/images/button_background_disabled.png and /dev/null differ diff --git a/examples/sensors/maze/images/button_background_normal.png b/examples/sensors/maze/images/button_background_normal.png deleted file mode 100644 index 1fecad5b..00000000 Binary files a/examples/sensors/maze/images/button_background_normal.png and /dev/null differ diff --git a/examples/sensors/maze/images/button_background_pressed.png b/examples/sensors/maze/images/button_background_pressed.png deleted file mode 100644 index 149529e1..00000000 Binary files a/examples/sensors/maze/images/button_background_pressed.png and /dev/null differ diff --git a/examples/sensors/qmlqtsensors/Button.qml b/examples/sensors/qmlqtsensors/Button.qml deleted file mode 100644 index ce8feb3f..00000000 --- a/examples/sensors/qmlqtsensors/Button.qml +++ /dev/null @@ -1,75 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtSensors module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "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 Nokia Corporation and its Subsidiary(-ies) 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 -** OWNER 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." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -//Import the declarative plugins -import QtQuick 2.0 - -//Implementation of the Button control. -Item { - id: button - width: 30 - height: 100 - property alias text: innerText.text - signal clicked - - Image { - id: backgroundImage - anchors.fill: parent - source: (button.enabled ? "images/button_background_normal.png" : "images/button_background_disabled.png") - } - - Text { - id: innerText - anchors.centerIn: parent - color: "white" - font.bold: true - } - - //Mouse area to react on click events - MouseArea { - anchors.fill: button - onClicked: { button.clicked();} - onPressed: { - backgroundImage.source = "images/button_background_pressed.png" } - onReleased: { - backgroundImage.source = (button.enabled ? "images/button_background_normal.png" : "images/button_background_disabled.png") - } - } -} diff --git a/examples/sensors/qmlqtsensors/components/ApplicationWindow.qml b/examples/sensors/qmlqtsensors/components/ApplicationWindow.qml new file mode 100644 index 00000000..4b67c2c2 --- /dev/null +++ b/examples/sensors/qmlqtsensors/components/ApplicationWindow.qml @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtSensors module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "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 Nokia Corporation and its Subsidiary(-ies) 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 +** OWNER 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." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +//Import the declarative plugins +import QtQuick 2.0 + +Rectangle { + id: appWnd + x: 0 + y: 0 + width: 320 + height: 480 + color: "#ececec" +} diff --git a/examples/sensors/qmlqtsensors/components/Button.qml b/examples/sensors/qmlqtsensors/components/Button.qml new file mode 100644 index 00000000..ce8feb3f --- /dev/null +++ b/examples/sensors/qmlqtsensors/components/Button.qml @@ -0,0 +1,75 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtSensors module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "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 Nokia Corporation and its Subsidiary(-ies) 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 +** OWNER 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." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +//Import the declarative plugins +import QtQuick 2.0 + +//Implementation of the Button control. +Item { + id: button + width: 30 + height: 100 + property alias text: innerText.text + signal clicked + + Image { + id: backgroundImage + anchors.fill: parent + source: (button.enabled ? "images/button_background_normal.png" : "images/button_background_disabled.png") + } + + Text { + id: innerText + anchors.centerIn: parent + color: "white" + font.bold: true + } + + //Mouse area to react on click events + MouseArea { + anchors.fill: button + onClicked: { button.clicked();} + onPressed: { + backgroundImage.source = "images/button_background_pressed.png" } + onReleased: { + backgroundImage.source = (button.enabled ? "images/button_background_normal.png" : "images/button_background_disabled.png") + } + } +} diff --git a/examples/sensors/qmlqtsensors/components/images/button_background_disabled.png b/examples/sensors/qmlqtsensors/components/images/button_background_disabled.png new file mode 100644 index 00000000..62a00b9a Binary files /dev/null and b/examples/sensors/qmlqtsensors/components/images/button_background_disabled.png differ diff --git a/examples/sensors/qmlqtsensors/components/images/button_background_normal.png b/examples/sensors/qmlqtsensors/components/images/button_background_normal.png new file mode 100644 index 00000000..1fecad5b Binary files /dev/null and b/examples/sensors/qmlqtsensors/components/images/button_background_normal.png differ diff --git a/examples/sensors/qmlqtsensors/components/images/button_background_pressed.png b/examples/sensors/qmlqtsensors/components/images/button_background_pressed.png new file mode 100644 index 00000000..149529e1 Binary files /dev/null and b/examples/sensors/qmlqtsensors/components/images/button_background_pressed.png differ diff --git a/examples/sensors/qmlqtsensors/images/button_background_disabled.png b/examples/sensors/qmlqtsensors/images/button_background_disabled.png deleted file mode 100644 index 62a00b9a..00000000 Binary files a/examples/sensors/qmlqtsensors/images/button_background_disabled.png and /dev/null differ diff --git a/examples/sensors/qmlqtsensors/images/button_background_normal.png b/examples/sensors/qmlqtsensors/images/button_background_normal.png deleted file mode 100644 index 1fecad5b..00000000 Binary files a/examples/sensors/qmlqtsensors/images/button_background_normal.png and /dev/null differ diff --git a/examples/sensors/qmlqtsensors/images/button_background_pressed.png b/examples/sensors/qmlqtsensors/images/button_background_pressed.png deleted file mode 100644 index 149529e1..00000000 Binary files a/examples/sensors/qmlqtsensors/images/button_background_pressed.png and /dev/null differ diff --git a/examples/sensors/qmlqtsensors/images/listitem_select.png b/examples/sensors/qmlqtsensors/images/listitem_select.png deleted file mode 100644 index def234f1..00000000 Binary files a/examples/sensors/qmlqtsensors/images/listitem_select.png and /dev/null differ diff --git a/examples/sensors/qmlqtsensors/main.qml b/examples/sensors/qmlqtsensors/main.qml index 87ab24a0..caa1a94d 100644 --- a/examples/sensors/qmlqtsensors/main.qml +++ b/examples/sensors/qmlqtsensors/main.qml @@ -85,405 +85,409 @@ //Import the declarative plugins import QtQuick 2.0 +import "components" //! [0] import QtSensors 5.0 //! [0] -Rectangle { - id: mainWnd - x: 0 - y: 0 - width: 320 - height: 480 - color: "transparent" - - property int accuracy: 1 - property string speed: "Slow" - - Text { - id: labelTitle - anchors.top: mainWnd.top - anchors.topMargin: 25 - anchors.left: mainWnd.left - anchors.right: mainWnd.right - - horizontalAlignment: Text.AlignHCenter - font.pixelSize: 30 - font.bold: true - text: "QML QtSensors" - } - - //Tile region +ApplicationWindow { + id: appWnd Rectangle { - id: tiltLine - anchors.top: labelTitle.bottom - anchors.topMargin: 5 - anchors.left: mainWnd.left - anchors.leftMargin: 5 - anchors.right: mainWnd.right - anchors.rightMargin: 5 - border.width: 1 - height: 1 - border.color: "#888888" - } + id: mainWnd + x: 0 + y: 0 + width: 320 + height: 480 + color: "transparent" - Text { - id: labelTilt - anchors.top: tiltLine.bottom - anchors.topMargin: 5 - anchors.left: mainWnd.left - anchors.right: mainWnd.right + property int accuracy: 1 + property string speed: "Slow" - horizontalAlignment: Text.AlignHCenter - font.bold: true - text: "TiltSensor" - } + Text { + id: labelTitle + anchors.top: mainWnd.top + anchors.topMargin: 25 + anchors.left: mainWnd.left + anchors.right: mainWnd.right -//! [1] - TiltSensor { - id: tilt - unit: TiltSensor.Degrees - enabled: false - accuracy: 1.0 - speed: TiltSensor.Slow - } -//! [1] + horizontalAlignment: Text.AlignHCenter + font.pixelSize: 30 + font.bold: true + text: "QML QtSensors" + } - Rectangle{ - id: accuracyRect - anchors.top: labelTilt.bottom - anchors.topMargin: 5 - anchors.left: mainWnd.left - anchors.leftMargin: 5 - anchors.right: mainWnd.right - anchors.rightMargin: mainWnd.width / 2 - height: 110 - color: "transparent" + //Tile region - Text{ - id: textAccuracy - anchors.top: accuracyRect.top - anchors.left: accuracyRect.left - text: "Accuracy" - font.bold: true + Rectangle { + id: tiltLine + anchors.top: labelTitle.bottom + anchors.topMargin: 5 + anchors.left: mainWnd.left + anchors.leftMargin: 5 + anchors.right: mainWnd.right + anchors.rightMargin: 5 + border.width: 1 + height: 1 + border.color: "#888888" } - Text{ - id: textAccuracyValue - anchors.top: textAccuracy.bottom + Text { + id: labelTilt + anchors.top: tiltLine.bottom anchors.topMargin: 5 - anchors.left: accuracyHigher.left - anchors.right: accuracyHigher.right - text: mainWnd.accuracy - verticalAlignment: Text.AlignVCenter + anchors.left: mainWnd.left + anchors.right: mainWnd.right + + horizontalAlignment: Text.AlignHCenter + font.bold: true + text: "TiltSensor" } - Button{ - id: accuracyLower - anchors.top: textAccuracyValue.bottom - anchors.left: accuracyRect.left - height: 30 - width: 40 - text: "-" +//! [1] + TiltSensor { + id: tilt + unit: TiltSensor.Degrees + enabled: false + accuracy: 1.0 + speed: TiltSensor.Slow + } +//! [1] - onClicked:{ - if (mainWnd.accuracy > 1){ - mainWnd.accuracy--; - tilt.accuracy = mainWnd.accuracy; - } + Rectangle{ + id: accuracyRect + anchors.top: labelTilt.bottom + anchors.topMargin: 5 + anchors.left: mainWnd.left + anchors.leftMargin: 5 + anchors.right: mainWnd.right + anchors.rightMargin: mainWnd.width / 2 + height: 110 + color: "transparent" + + Text{ + id: textAccuracy + anchors.top: accuracyRect.top + anchors.left: accuracyRect.left + text: "Accuracy" + font.bold: true } - } - Button{ - id: accuracyHigher - anchors.top: textAccuracyValue.bottom - anchors.left: accuracyLower.right - height: 30 - width: 40 - text: "+" + Text{ + id: textAccuracyValue + anchors.top: textAccuracy.bottom + anchors.topMargin: 5 + anchors.left: accuracyHigher.left + anchors.right: accuracyHigher.right + text: mainWnd.accuracy + verticalAlignment: Text.AlignVCenter + } - onClicked:{ - if (mainWnd.accuracy < 10){ - mainWnd.accuracy++; - tilt.accuracy = mainWnd.accuracy; + Button{ + id: accuracyLower + anchors.top: textAccuracyValue.bottom + anchors.left: accuracyRect.left + height: 30 + width: 40 + text: "-" + + onClicked:{ + if (mainWnd.accuracy > 1){ + mainWnd.accuracy--; + tilt.accuracy = mainWnd.accuracy; + } } } - } - } - Rectangle{ - id: speedRect - anchors.top: labelTilt.bottom - anchors.topMargin: 5 - anchors.left: mainWnd.left - anchors.leftMargin: mainWnd.width / 2 - anchors.right: mainWnd.right - anchors.rightMargin: 5 - height: 110 - color: "transparent" - - Text{ - id: textSpeed - anchors.top: speedRect.top - anchors.left: speedRect.left - text: "Speed" - font.bold: true + Button{ + id: accuracyHigher + anchors.top: textAccuracyValue.bottom + anchors.left: accuracyLower.right + height: 30 + width: 40 + text: "+" + + onClicked:{ + if (mainWnd.accuracy < 10){ + mainWnd.accuracy++; + tilt.accuracy = mainWnd.accuracy; + } + } + } } - Text{ - id: textSpeedValue - anchors.top: textSpeed.bottom + Rectangle{ + id: speedRect + anchors.top: labelTilt.bottom anchors.topMargin: 5 - anchors.left: speedLower.left - anchors.right: speedHigher.right - text: mainWnd.speed - verticalAlignment: Text.AlignVCenter - } + anchors.left: mainWnd.left + anchors.leftMargin: mainWnd.width / 2 + anchors.right: mainWnd.right + anchors.rightMargin: 5 + height: 110 + color: "transparent" + + Text{ + id: textSpeed + anchors.top: speedRect.top + anchors.left: speedRect.left + text: "Speed" + font.bold: true + } - Button{ - id: speedLower - anchors.top: textSpeedValue.bottom - anchors.left: speedRect.left - height: 30 - width: 40 - text: "-" + Text{ + id: textSpeedValue + anchors.top: textSpeed.bottom + anchors.topMargin: 5 + anchors.left: speedLower.left + anchors.right: speedHigher.right + text: mainWnd.speed + verticalAlignment: Text.AlignVCenter + } - onClicked:{ - if (tilt.speed === TiltSensor.Fast) { - mainWnd.speed = "Medium"; - tilt.speed = TiltSensor.Medium; + Button{ + id: speedLower + anchors.top: textSpeedValue.bottom + anchors.left: speedRect.left + height: 30 + width: 40 + text: "-" + + onClicked:{ + if (tilt.speed === TiltSensor.Fast) { + mainWnd.speed = "Medium"; + tilt.speed = TiltSensor.Medium; + } + else if (tilt.speed === TiltSensor.Medium) { + mainWnd.speed = "Slow"; + tilt.speed = TiltSensor.Slow; + } } - else if (tilt.speed === TiltSensor.Medium) { - mainWnd.speed = "Slow"; - tilt.speed = TiltSensor.Slow; + } + + Button{ + id: speedHigher + anchors.top: textSpeedValue.bottom + anchors.left: speedLower.right + height: 30 + width: 40 + text: "+" + + onClicked:{ + if (tilt.speed === TiltSensor.Slow) { + mainWnd.speed = "Medium"; + tilt.speed = TiltSensor.Medium; + } + else if (tilt.speed === TiltSensor.Medium) { + mainWnd.speed = "Fast"; + tilt.speed = TiltSensor.Fast; + } } } } Button{ - id: speedHigher - anchors.top: textSpeedValue.bottom - anchors.left: speedLower.right + id: calibrate + anchors.left: mainWnd.left + anchors.leftMargin: 5 + anchors.top: accuracyRect.bottom height: 30 - width: 40 - text: "+" + width: 80 + text: "Calibrate" onClicked:{ - if (tilt.speed === TiltSensor.Slow) { - mainWnd.speed = "Medium"; - tilt.speed = TiltSensor.Medium; - } - else if (tilt.speed === TiltSensor.Medium) { - mainWnd.speed = "Fast"; - tilt.speed = TiltSensor.Fast; - } + tilt.calibrate(); } } - } - Button{ - id: calibrate - anchors.left: mainWnd.left - anchors.leftMargin: 5 - anchors.top: accuracyRect.bottom - height: 30 - width: 80 - text: "Calibrate" - - onClicked:{ - tilt.calibrate(); - } - } + Button{ + id: useRadian + anchors.top: calibrate.bottom + anchors.left: mainWnd.left + anchors.leftMargin: 5 + height: 30 + width: 80 + text: (tilt !== null ? tilt.unit === TiltSensor.Radians ? "Degree" : "Radians" : "Degree") - Button{ - id: useRadian - anchors.top: calibrate.bottom - anchors.left: mainWnd.left - anchors.leftMargin: 5 - height: 30 - width: 80 - text: (tilt !== null ? tilt.unit === TiltSensor.Radians ? "Degree" : "Radians" : "Degree") - - onClicked:{ - tilt.unit = (useRadian.text === "Radians" ? TiltSensor.Radians : TiltSensor.Degrees); + onClicked:{ + tilt.unit = (useRadian.text === "Radians" ? TiltSensor.Radians : TiltSensor.Degrees); + } } - } - Button{ - id: tiltStart - anchors.top: useRadian.bottom - anchors.left: mainWnd.left - anchors.leftMargin: 5 - height: 30 - width: 80 - text: tilt.enabled ? "Stop" : "Start" + Button{ + id: tiltStart + anchors.top: useRadian.bottom + anchors.left: mainWnd.left + anchors.leftMargin: 5 + height: 30 + width: 80 + text: tilt.enabled ? "Stop" : "Start" - onClicked:{ + onClicked:{ //! [2] - tilt.enabled = (tiltStart.text === "Start" ? true: false); + tilt.enabled = (tiltStart.text === "Start" ? true: false); //! [2] + } } - } - Text { - id: xrottext - anchors.right: mainWnd.right - anchors.rightMargin: 5 - anchors.left: useRadian.right - anchors.leftMargin: 15 - anchors.top: useRadian.top - anchors.bottom: useRadian.bottom - verticalAlignment: Text.AlignVCenter + Text { + id: xrottext + anchors.right: mainWnd.right + anchors.rightMargin: 5 + anchors.left: useRadian.right + anchors.leftMargin: 15 + anchors.top: useRadian.top + anchors.bottom: useRadian.bottom + verticalAlignment: Text.AlignVCenter //! [3] - text: "X Rotation: " + tilt.xRotation + (tilt.unit === TiltSensor.Radians ? " rad" : "°") + text: "X Rotation: " + tilt.xRotation + (tilt.unit === TiltSensor.Radians ? " rad" : "°") //! [3] - } + } - Text { - id: yrottext - anchors.right: mainWnd.right - anchors.rightMargin: 5 - anchors.left: tiltStart.right - anchors.leftMargin: 15 - anchors.top: tiltStart.top - anchors.bottom: tiltStart.bottom - verticalAlignment: Text.AlignVCenter + Text { + id: yrottext + anchors.right: mainWnd.right + anchors.rightMargin: 5 + anchors.left: tiltStart.right + anchors.leftMargin: 15 + anchors.top: tiltStart.top + anchors.bottom: tiltStart.bottom + verticalAlignment: Text.AlignVCenter //! [4] - text: "Y Rotation: " + tilt.yRotation + (tilt.unit === TiltSensor.Radians ? " rad" : "°") + text: "Y Rotation: " + tilt.yRotation + (tilt.unit === TiltSensor.Radians ? " rad" : "°") //! [4] - } + } - //Ambient Light region + //Ambient Light region - Rectangle { - id: ambientlightLine - anchors.top: tiltStart.bottom - anchors.topMargin: 5 - anchors.left: mainWnd.left - anchors.leftMargin: 5 - anchors.right: mainWnd.right - anchors.rightMargin: 5 - border.width: 1 - height: 1 - border.color: "#888888" - } + Rectangle { + id: ambientlightLine + anchors.top: tiltStart.bottom + anchors.topMargin: 5 + anchors.left: mainWnd.left + anchors.leftMargin: 5 + anchors.right: mainWnd.right + anchors.rightMargin: 5 + border.width: 1 + height: 1 + border.color: "#888888" + } - Text { - id: labelAmbientLight - anchors.top: ambientlightLine.bottom - anchors.topMargin: 5 - anchors.left: mainWnd.left - anchors.right: mainWnd.right + Text { + id: labelAmbientLight + anchors.top: ambientlightLine.bottom + anchors.topMargin: 5 + anchors.left: mainWnd.left + anchors.right: mainWnd.right - horizontalAlignment: Text.AlignHCenter - font.bold: true - text: "AmbientLightSensor" - } + horizontalAlignment: Text.AlignHCenter + font.bold: true + text: "AmbientLightSensor" + } - AmbientLightSensor { - id: ambientlight - enabled: false + AmbientLightSensor { + id: ambientlight + enabled: false //! [5] - onLightLevelChanged:{ - if (ambientlight.lightLevel == AmbientLightSensor.Unknown) - ambientlighttext.text = "Ambient light: Unknown"; - else if (ambientlight.lightLevel == AmbientLightSensor.Dark) - ambientlighttext.text = "Ambient light: Dark"; - else if (ambientlight.lightLevel == AmbientLightSensor.Twilight) - ambientlighttext.text = "Ambient light: Twilight"; - else if (ambientlight.lightLevel == AmbientLightSensor.Light) - ambientlighttext.text = "Ambient light: Light"; - else if (ambientlight.lightLevel == AmbientLightSensor.Bright) - ambientlighttext.text = "Ambient light: Bright"; - else if (ambientlight.lightLevel == AmbientLightSensor.Sunny) - ambientlighttext.text = "Ambient light: Sunny"; - } + onLightLevelChanged:{ + if (ambientlight.lightLevel == AmbientLightSensor.Unknown) + ambientlighttext.text = "Ambient light: Unknown"; + else if (ambientlight.lightLevel == AmbientLightSensor.Dark) + ambientlighttext.text = "Ambient light: Dark"; + else if (ambientlight.lightLevel == AmbientLightSensor.Twilight) + ambientlighttext.text = "Ambient light: Twilight"; + else if (ambientlight.lightLevel == AmbientLightSensor.Light) + ambientlighttext.text = "Ambient light: Light"; + else if (ambientlight.lightLevel == AmbientLightSensor.Bright) + ambientlighttext.text = "Ambient light: Bright"; + else if (ambientlight.lightLevel == AmbientLightSensor.Sunny) + ambientlighttext.text = "Ambient light: Sunny"; + } //! [5] - } + } + + Button{ + id: ambientlightStart + anchors.top: labelAmbientLight.bottom + anchors.topMargin: 5 + anchors.left: mainWnd.left + anchors.leftMargin: 5 + height: 30 + width: 80 + text: ambientlight.enabled ? "Stop" : "Start" - Button{ - id: ambientlightStart - anchors.top: labelAmbientLight.bottom - anchors.topMargin: 5 - anchors.left: mainWnd.left - anchors.leftMargin: 5 - height: 30 - width: 80 - text: ambientlight.enabled ? "Stop" : "Start" - - onClicked:{ - ambientlight.enabled = (ambientlightStart.text === "Start" ? true: false); + onClicked:{ + ambientlight.enabled = (ambientlightStart.text === "Start" ? true: false); + } } - } - Text { - id: ambientlighttext - anchors.left: ambientlightStart.right - anchors.leftMargin: 15 - anchors.top: ambientlightStart.top - anchors.bottom: ambientlightStart.bottom - verticalAlignment: Text.AlignVCenter - text: "Ambient light: -" - } + Text { + id: ambientlighttext + anchors.left: ambientlightStart.right + anchors.leftMargin: 15 + anchors.top: ambientlightStart.top + anchors.bottom: ambientlightStart.bottom + verticalAlignment: Text.AlignVCenter + text: "Ambient light: -" + } - //Proximity region + //Proximity region - Rectangle { - id: proximityLine - anchors.top: ambientlightStart.bottom - anchors.topMargin: 5 - anchors.left: mainWnd.left - anchors.leftMargin: 5 - anchors.right: mainWnd.right - anchors.rightMargin: 5 - border.width: 1 - height: 1 - border.color: "#888888" - } + Rectangle { + id: proximityLine + anchors.top: ambientlightStart.bottom + anchors.topMargin: 5 + anchors.left: mainWnd.left + anchors.leftMargin: 5 + anchors.right: mainWnd.right + anchors.rightMargin: 5 + border.width: 1 + height: 1 + border.color: "#888888" + } - Text { - id: labelProximityLight - anchors.top: proximityLine.bottom - anchors.topMargin: 5 - anchors.left: mainWnd.left - anchors.right: mainWnd.right - horizontalAlignment: Text.AlignHCenter - font.bold: true - text: "ProximitySensor" - } + Text { + id: labelProximityLight + anchors.top: proximityLine.bottom + anchors.topMargin: 5 + anchors.left: mainWnd.left + anchors.right: mainWnd.right + horizontalAlignment: Text.AlignHCenter + font.bold: true + text: "ProximitySensor" + } - ProximitySensor { - id: proxi - enabled: false - } + ProximitySensor { + id: proxi + enabled: false + } + + Button{ + id: proxiStart + anchors.top: labelProximityLight.bottom + anchors.topMargin: 5 + anchors.left: mainWnd.left + anchors.leftMargin: 5 + height: 30 + width: 80 + text: proxi.enabled ? "Stop" : "Start" - Button{ - id: proxiStart - anchors.top: labelProximityLight.bottom - anchors.topMargin: 5 - anchors.left: mainWnd.left - anchors.leftMargin: 5 - height: 30 - width: 80 - text: proxi.enabled ? "Stop" : "Start" - - onClicked:{ - proxi.enabled = (proxiStart.text === "Start" ? true: false); + onClicked:{ + proxi.enabled = (proxiStart.text === "Start" ? true: false); + } } - } - Text { - id: proxitext - anchors.left: proxiStart.right - anchors.leftMargin: 15 - anchors.top: proxiStart.top - anchors.bottom: proxiStart.bottom - verticalAlignment: Text.AlignVCenter + Text { + id: proxitext + anchors.left: proxiStart.right + anchors.leftMargin: 15 + anchors.top: proxiStart.top + anchors.bottom: proxiStart.bottom + verticalAlignment: Text.AlignVCenter //! [6] - text: "Proximity: " + (proxi.near ? "near" : "far") + text: "Proximity: " + (proxi.near ? "near" : "far") //! [6] + } } } - diff --git a/examples/sensors/sensor_explorer/qml_app/Button.qml b/examples/sensors/sensor_explorer/qml_app/Button.qml deleted file mode 100644 index ce8feb3f..00000000 --- a/examples/sensors/sensor_explorer/qml_app/Button.qml +++ /dev/null @@ -1,75 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtSensors module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "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 Nokia Corporation and its Subsidiary(-ies) 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 -** OWNER 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." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -//Import the declarative plugins -import QtQuick 2.0 - -//Implementation of the Button control. -Item { - id: button - width: 30 - height: 100 - property alias text: innerText.text - signal clicked - - Image { - id: backgroundImage - anchors.fill: parent - source: (button.enabled ? "images/button_background_normal.png" : "images/button_background_disabled.png") - } - - Text { - id: innerText - anchors.centerIn: parent - color: "white" - font.bold: true - } - - //Mouse area to react on click events - MouseArea { - anchors.fill: button - onClicked: { button.clicked();} - onPressed: { - backgroundImage.source = "images/button_background_pressed.png" } - onReleased: { - backgroundImage.source = (button.enabled ? "images/button_background_normal.png" : "images/button_background_disabled.png") - } - } -} diff --git a/examples/sensors/sensor_explorer/qml_app/TextField.qml b/examples/sensors/sensor_explorer/qml_app/TextField.qml deleted file mode 100644 index 681b7122..00000000 --- a/examples/sensors/sensor_explorer/qml_app/TextField.qml +++ /dev/null @@ -1,103 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtSensors module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "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 Nokia Corporation and its Subsidiary(-ies) 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 -** OWNER 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." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -//Import the declarative plugins -import QtQuick 2.0 - -Item { - id: textInputFrame - property alias text: textInput.text - resources: [ - Component{ - id: cursorA - Rectangle { - id: cursor_rect - width: 2 - height: 20 - color: "#1c94ff" - visible: textInput.cursorVisible - - PropertyAnimation on opacity { - easing.type: Easing.OutSine - loops: Animation.Infinite - from: 0 - to: 1.0 - duration: 750 - } - } - } - ] - - Image { - id: backgroundImage - anchors.fill: parent - source: (textInputFrame.enabled ? "images/textfield_background_normal.png" : "images/textfield_background_disabled.png") - } - - TextInput { - id: textInput - anchors.fill: parent - anchors.topMargin: 5 - anchors.leftMargin: 5 - anchors.rightMargin: 5 - activeFocusOnPress: false - - cursorDelegate: cursorA - - onEnabledChanged: { - textInput.focus = false; - } - - MouseArea { - anchors.fill: parent - - onClicked: { - if (!textInput.activeFocus) { - textInput.forceActiveFocus() - textInput.openSoftwareInputPanel(); - } else { - textInput.focus = false; - } - } - - onPressAndHold: textInput.closeSoftwareInputPanel(); - } - } -} diff --git a/examples/sensors/sensor_explorer/qml_app/components/ApplicationWindow.qml b/examples/sensors/sensor_explorer/qml_app/components/ApplicationWindow.qml new file mode 100644 index 00000000..4b67c2c2 --- /dev/null +++ b/examples/sensors/sensor_explorer/qml_app/components/ApplicationWindow.qml @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtSensors module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "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 Nokia Corporation and its Subsidiary(-ies) 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 +** OWNER 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." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +//Import the declarative plugins +import QtQuick 2.0 + +Rectangle { + id: appWnd + x: 0 + y: 0 + width: 320 + height: 480 + color: "#ececec" +} diff --git a/examples/sensors/sensor_explorer/qml_app/components/Button.qml b/examples/sensors/sensor_explorer/qml_app/components/Button.qml new file mode 100644 index 00000000..ce8feb3f --- /dev/null +++ b/examples/sensors/sensor_explorer/qml_app/components/Button.qml @@ -0,0 +1,75 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtSensors module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "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 Nokia Corporation and its Subsidiary(-ies) 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 +** OWNER 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." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +//Import the declarative plugins +import QtQuick 2.0 + +//Implementation of the Button control. +Item { + id: button + width: 30 + height: 100 + property alias text: innerText.text + signal clicked + + Image { + id: backgroundImage + anchors.fill: parent + source: (button.enabled ? "images/button_background_normal.png" : "images/button_background_disabled.png") + } + + Text { + id: innerText + anchors.centerIn: parent + color: "white" + font.bold: true + } + + //Mouse area to react on click events + MouseArea { + anchors.fill: button + onClicked: { button.clicked();} + onPressed: { + backgroundImage.source = "images/button_background_pressed.png" } + onReleased: { + backgroundImage.source = (button.enabled ? "images/button_background_normal.png" : "images/button_background_disabled.png") + } + } +} diff --git a/examples/sensors/sensor_explorer/qml_app/components/TextField.qml b/examples/sensors/sensor_explorer/qml_app/components/TextField.qml new file mode 100644 index 00000000..aad3680a --- /dev/null +++ b/examples/sensors/sensor_explorer/qml_app/components/TextField.qml @@ -0,0 +1,109 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtSensors module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "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 Nokia Corporation and its Subsidiary(-ies) 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 +** OWNER 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." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +//Import the declarative plugins +import QtQuick 2.0 + +Item { + id: textInputFrame + property alias text: textInput.text + signal accepted + + resources: [ + Component{ + id: cursorA + Rectangle { + id: cursor_rect + width: 2 + height: 20 + color: "#1c94ff" + visible: textInput.cursorVisible + + PropertyAnimation on opacity { + easing.type: Easing.OutSine + loops: Animation.Infinite + from: 0 + to: 1.0 + duration: 750 + } + } + } + ] + + Image { + id: backgroundImage + anchors.fill: parent + source: (textInputFrame.enabled ? "images/textfield_background_normal.png" : "images/textfield_background_disabled.png") + } + + TextInput { + id: textInput + anchors.fill: parent + anchors.topMargin: 5 + anchors.leftMargin: 5 + anchors.rightMargin: 5 + activeFocusOnPress: false + + cursorDelegate: cursorA + + onEnabledChanged: { + textInput.focus = false; + } + + onAccepted: { + textInputFrame.accepted(); + } + + MouseArea { + anchors.fill: parent + + onClicked: { + if (!textInput.activeFocus) { + textInput.forceActiveFocus() + textInput.openSoftwareInputPanel(); + } else { + textInput.focus = false; + } + } + + onPressAndHold: textInput.closeSoftwareInputPanel(); + } + } +} diff --git a/examples/sensors/sensor_explorer/qml_app/components/images/button_background_disabled.png b/examples/sensors/sensor_explorer/qml_app/components/images/button_background_disabled.png new file mode 100644 index 00000000..62a00b9a Binary files /dev/null and b/examples/sensors/sensor_explorer/qml_app/components/images/button_background_disabled.png differ diff --git a/examples/sensors/sensor_explorer/qml_app/components/images/button_background_normal.png b/examples/sensors/sensor_explorer/qml_app/components/images/button_background_normal.png new file mode 100644 index 00000000..1fecad5b Binary files /dev/null and b/examples/sensors/sensor_explorer/qml_app/components/images/button_background_normal.png differ diff --git a/examples/sensors/sensor_explorer/qml_app/components/images/button_background_pressed.png b/examples/sensors/sensor_explorer/qml_app/components/images/button_background_pressed.png new file mode 100644 index 00000000..149529e1 Binary files /dev/null and b/examples/sensors/sensor_explorer/qml_app/components/images/button_background_pressed.png differ diff --git a/examples/sensors/sensor_explorer/qml_app/components/images/textfield_background_disabled.png b/examples/sensors/sensor_explorer/qml_app/components/images/textfield_background_disabled.png new file mode 100644 index 00000000..98bc601f Binary files /dev/null and b/examples/sensors/sensor_explorer/qml_app/components/images/textfield_background_disabled.png differ diff --git a/examples/sensors/sensor_explorer/qml_app/components/images/textfield_background_normal.png b/examples/sensors/sensor_explorer/qml_app/components/images/textfield_background_normal.png new file mode 100644 index 00000000..b90b50cd Binary files /dev/null and b/examples/sensors/sensor_explorer/qml_app/components/images/textfield_background_normal.png differ diff --git a/examples/sensors/sensor_explorer/qml_app/images/button_background_disabled.png b/examples/sensors/sensor_explorer/qml_app/images/button_background_disabled.png deleted file mode 100644 index 62a00b9a..00000000 Binary files a/examples/sensors/sensor_explorer/qml_app/images/button_background_disabled.png and /dev/null differ diff --git a/examples/sensors/sensor_explorer/qml_app/images/button_background_normal.png b/examples/sensors/sensor_explorer/qml_app/images/button_background_normal.png deleted file mode 100644 index 1fecad5b..00000000 Binary files a/examples/sensors/sensor_explorer/qml_app/images/button_background_normal.png and /dev/null differ diff --git a/examples/sensors/sensor_explorer/qml_app/images/button_background_pressed.png b/examples/sensors/sensor_explorer/qml_app/images/button_background_pressed.png deleted file mode 100644 index 149529e1..00000000 Binary files a/examples/sensors/sensor_explorer/qml_app/images/button_background_pressed.png and /dev/null differ diff --git a/examples/sensors/sensor_explorer/qml_app/images/textfield_background_disabled.png b/examples/sensors/sensor_explorer/qml_app/images/textfield_background_disabled.png deleted file mode 100644 index 98bc601f..00000000 Binary files a/examples/sensors/sensor_explorer/qml_app/images/textfield_background_disabled.png and /dev/null differ diff --git a/examples/sensors/sensor_explorer/qml_app/images/textfield_background_normal.png b/examples/sensors/sensor_explorer/qml_app/images/textfield_background_normal.png deleted file mode 100644 index b90b50cd..00000000 Binary files a/examples/sensors/sensor_explorer/qml_app/images/textfield_background_normal.png and /dev/null differ diff --git a/examples/sensors/sensor_explorer/qml_app/main.qml b/examples/sensors/sensor_explorer/qml_app/main.qml index 7796b8ab..e6c2f30b 100644 --- a/examples/sensors/sensor_explorer/qml_app/main.qml +++ b/examples/sensors/sensor_explorer/qml_app/main.qml @@ -40,18 +40,14 @@ //Import the declarative plugins import QtQuick 2.0 +import "components" //! [0] import Explorer 1.0 //! [0] -Rectangle { +ApplicationWindow { id: mainWnd - x: 0 - y: 0 - width: 320 - height: 480 - color: "#ececec" //! [1] SensorExplorer { @@ -65,7 +61,7 @@ Rectangle { anchors.topMargin: 20 anchors.left: parent.left anchors.right: parent.right - height: 200 + height: 170 title: "sensor explorer" //! [2] @@ -105,7 +101,7 @@ Rectangle { anchors.bottomMargin: 5 onSelectedItemChanged: { - changePropertyButton.enabled = (propertyList.selectedItem === null ? + textfield.enabled = (propertyList.selectedItem === null ? false : propertyList.selectedItem.isWriteable); } } @@ -153,40 +149,48 @@ Rectangle { } } - Button { - id: changePropertyButton - anchors.bottom: parent.bottom + TextField { + id: textfield + anchors.top: parent.bottom + anchors.topMargin: -35 anchors.left: startstopButton.right + anchors.right: parent.right anchors.margins: 5 - text: "Set" - enabled: false height: 30 - width: 60 + enabled: false onEnabledChanged: { - textfield.visible = changePropertyButton.enabled; + if (!textfield.enabled) { + textfield.closeSoftwareInputPanel(); + textfield.anchors.top= parent.bottom; + textfield.anchors.topMargin= -35; + textfield.text = ""; + } } - onClicked: { + onFocusChanged: { + if (textfield.focus) { + textfield.anchors.top= sensorList.bottom + textfield.anchors.topMargin= -15 + } + else { + textfield.closeSoftwareInputPanel(); + textfield.anchors.top= parent.bottom; + textfield.anchors.topMargin= -35; + } + } + + onAccepted: { + if (explorer.selectedSensorItem !== null && propertyList.selectedItem !== null) { //! [4] explorer.selectedSensorItem.changePropertyValue(propertyList.selectedItem, textfield.text); //! [4] + propertyList.focus=true; } - textfield.text = ""; } } - - TextField { - id: textfield - anchors.bottom: parent.bottom - anchors.left: changePropertyButton.right - anchors.right: parent.right - anchors.margins: 5 - height: 30 - enabled: true - } } -- cgit v1.2.3