diff options
author | Wolfgang Beck <wolfgang.beck@nokia.com> | 2012-01-12 14:15:57 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-13 01:10:34 +0100 |
commit | 612ea53f2b21fcedd169b6c7270268ef212e0b39 (patch) | |
tree | 1fdefa2211fdd4bbfb94d171fb4ec09ff6957c48 /examples/sensors/qmlqtsensors | |
parent | a045f3fe0cfcab90e0ec881eb51ab7015112a177 (diff) |
Examples for SDK Team
Change-Id: I93f92a85419f0519f887ccd12a39bf61d7db7aae
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lincoln Ramsay <lincoln.ramsay@nokia.com>
Reviewed-by: Wolfgang Beck <wolfgang.beck@nokia.com>
Diffstat (limited to 'examples/sensors/qmlqtsensors')
15 files changed, 753 insertions, 0 deletions
diff --git a/examples/sensors/qmlqtsensors/Button.qml b/examples/sensors/qmlqtsensors/Button.qml new file mode 100644 index 00000000..ce8feb3f --- /dev/null +++ b/examples/sensors/qmlqtsensors/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/RadioButton.qml b/examples/sensors/qmlqtsensors/RadioButton.qml new file mode 100644 index 00000000..d7ed8747 --- /dev/null +++ b/examples/sensors/qmlqtsensors/RadioButton.qml @@ -0,0 +1,87 @@ +/**************************************************************************** +** +** 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 QtQuick 2.0 + +Rectangle { + id: button + width: 100 + height: 30 + property alias text: innerText.text + property bool checked + signal clicked + color: "transparent" + + Image{ + id: image + width: button.height + height: button.height + anchors.right: button.right + source: (button.checked == true ? (button.enabled ? + "images/radiobutton_background_checked.png" : "images/radiobutton_background_disabled_checked.png") : + (button.enabled ? + "images/radiobutton_background_unchecked.png" : "images/radiobutton_background_disabled.png")) + } + + Text{ + id: innerText + anchors.fill: parent + enabled: button.enabled + color: "black" + verticalAlignment: Text.AlignVCenter + + onEnabledChanged: { + (enabled ? innerText.color = "black" : innerText.color = "gray"); + } + } + + MouseArea{ + anchors.fill: button + onClicked: { + setCheck(true); + button.clicked(); + } + } + + function setCheck(val) + { + checked = val; + } +} diff --git a/examples/sensors/qmlqtsensors/icon.png b/examples/sensors/qmlqtsensors/icon.png Binary files differnew file mode 100755 index 00000000..d3243c5b --- /dev/null +++ b/examples/sensors/qmlqtsensors/icon.png diff --git a/examples/sensors/qmlqtsensors/images/button_background_disabled.png b/examples/sensors/qmlqtsensors/images/button_background_disabled.png Binary files differnew file mode 100644 index 00000000..62a00b9a --- /dev/null +++ b/examples/sensors/qmlqtsensors/images/button_background_disabled.png diff --git a/examples/sensors/qmlqtsensors/images/button_background_normal.png b/examples/sensors/qmlqtsensors/images/button_background_normal.png Binary files differnew file mode 100644 index 00000000..1fecad5b --- /dev/null +++ b/examples/sensors/qmlqtsensors/images/button_background_normal.png diff --git a/examples/sensors/qmlqtsensors/images/button_background_pressed.png b/examples/sensors/qmlqtsensors/images/button_background_pressed.png Binary files differnew file mode 100644 index 00000000..149529e1 --- /dev/null +++ b/examples/sensors/qmlqtsensors/images/button_background_pressed.png diff --git a/examples/sensors/qmlqtsensors/images/listitem_select.png b/examples/sensors/qmlqtsensors/images/listitem_select.png Binary files differnew file mode 100644 index 00000000..def234f1 --- /dev/null +++ b/examples/sensors/qmlqtsensors/images/listitem_select.png diff --git a/examples/sensors/qmlqtsensors/images/radiobutton_background_checked.png b/examples/sensors/qmlqtsensors/images/radiobutton_background_checked.png Binary files differnew file mode 100644 index 00000000..a5c7ef31 --- /dev/null +++ b/examples/sensors/qmlqtsensors/images/radiobutton_background_checked.png diff --git a/examples/sensors/qmlqtsensors/images/radiobutton_background_disabled.png b/examples/sensors/qmlqtsensors/images/radiobutton_background_disabled.png Binary files differnew file mode 100644 index 00000000..2fce913a --- /dev/null +++ b/examples/sensors/qmlqtsensors/images/radiobutton_background_disabled.png diff --git a/examples/sensors/qmlqtsensors/images/radiobutton_background_disabled_checked.png b/examples/sensors/qmlqtsensors/images/radiobutton_background_disabled_checked.png Binary files differnew file mode 100644 index 00000000..46b56378 --- /dev/null +++ b/examples/sensors/qmlqtsensors/images/radiobutton_background_disabled_checked.png diff --git a/examples/sensors/qmlqtsensors/images/radiobutton_background_unchecked.png b/examples/sensors/qmlqtsensors/images/radiobutton_background_unchecked.png Binary files differnew file mode 100644 index 00000000..b09b5d9f --- /dev/null +++ b/examples/sensors/qmlqtsensors/images/radiobutton_background_unchecked.png diff --git a/examples/sensors/qmlqtsensors/info.json b/examples/sensors/qmlqtsensors/info.json new file mode 100644 index 00000000..797dd6f0 --- /dev/null +++ b/examples/sensors/qmlqtsensors/info.json @@ -0,0 +1,14 @@ +{ + "info-version": "1.0", + "dict": { + "Category": "application", + "Runtime": "qml", + "DisplayName": "QtSensors", + "Subcategory": "utility", + "MainQML": "main.qml", + "Version": "1.0", + "Identifier": "com.nokia.mt.qmlqtsensors.demo", + "Summary": "QML QtSensors demo", + "Author": "Qt" + } +} diff --git a/examples/sensors/qmlqtsensors/main.qml b/examples/sensors/qmlqtsensors/main.qml new file mode 100644 index 00000000..44481b6e --- /dev/null +++ b/examples/sensors/qmlqtsensors/main.qml @@ -0,0 +1,491 @@ +/**************************************************************************** +** +** 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 + +//! [0] +import QtSensors 5.0 +//! [0] + +/* Layout + mainWnd + / +--------------------------------------------------------------------------------- +|-------------------------------------------------------------------------------- +|| labelTitle | +|-------------------------------------------------------------------------------- +|-------------------------------------------------------------------------------- <---- tiltLine +|-------------------------------------------------------------------------------- +|| labelTilt | +|-------------------------------------------------------------------------------- +| / accuracyRect / speedRect +|-------------------------------------------||----------------------------------| +|| Accuracy <----- textAccuracy || Speed <-----textSpeed | +|| @ 0 Degree <- selButton0DegreeAccuracy || @ Slow <- selButtonSlowSpeed | +|| O 1 Degree <- selButton1DegreeAccuracy || O Medium <- selButtonMediumSpeed | +|| O 5 Degree <- selButton5DegreeAccuracy || O Fast <- selButtonFastSpeed | +|------------------------------------------ ||----------------------------------| +| ----------- +| |Calibrate| <------------------ calibrate +| ----------- +| --------- +| |Degree | <-------------------- useRadian X Rotation: 0 <------------------ xrottext +| --------- +| --------- +| |Start | <-------------------- tiltStart Y Rotation: 0 <------------------ yrottext +| --------- +|-------------------------------------------------------------------------------- <---- ambientlightLine +|-------------------------------------------------------------------------------- +|| labelAmbientLight | +|-------------------------------------------------------------------------------- +| --------- +| |Start | <-------------------- ablStart Ambient light: - <--------------- abltext +| --------- +|-------------------------------------------------------------------------------- <---- proximityLine +|-------------------------------------------------------------------------------- +|| labelProximityLight | +|-------------------------------------------------------------------------------- +| --------- +| |Start | <-------------------- proxiStart Proximity: - <--------------- proxitext +| --------- +------------------------------------------------------------------------------ + +*/ + +Rectangle { + id: mainWnd + x: 0 + y: 0 + width: 320 + height: 480 + color: "#ececec" + + 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 + + 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: labelTilt + anchors.top: tiltLine.bottom + anchors.topMargin: 5 + anchors.left: mainWnd.left + anchors.right: mainWnd.right + + horizontalAlignment: Text.AlignHCenter + font.bold: true + text: "TiltSensor" + } + +//! [1] + TiltSensor { + id: tilt + unit: TiltSensor.Degrees + enabled: false + accuracy: 1.0 + } +//! [1] + + 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 + } + + RadioButton{ + id: selButton0DegreeAccuracy + anchors.top: textAccuracy.bottom + anchors.left: accuracyRect.left + anchors.right: accuracyRect.right + anchors.rightMargin: 10 + checked: true + text: "0 Degree" + + onClicked:{ + selButton1DegreeAccuracy.setCheck(false); + selButton5DegreeAccuracy.setCheck(false); + tilt.accuracy = 0.0; + } + } + + RadioButton{ + id: selButton1DegreeAccuracy + anchors.top: selButton0DegreeAccuracy.bottom + anchors.left: accuracyRect.left + anchors.right: accuracyRect.right + anchors.rightMargin: 10 + checked: false + text: "1 Degree" + + onClicked:{ + selButton0DegreeAccuracy.setCheck(false); + selButton5DegreeAccuracy.setCheck(false); + tilt.accuracy = (tilt.unit == TiltSensor.Degrees ? 1.0 : (3.14 / 180.0)); + } + } + + RadioButton{ + id: selButton5DegreeAccuracy + anchors.top: selButton1DegreeAccuracy.bottom + anchors.left: accuracyRect.left + anchors.right: accuracyRect.right + anchors.rightMargin: 10 + checked: false + text: "5 Degree" + + onClicked:{ + selButton0DegreeAccuracy.setCheck(false); + selButton1DegreeAccuracy.setCheck(false); + tilt.accuracy = (tilt.unit == TiltSensor.Degrees ? 5.0 : (5.0 * 3.14 / 180.0)); + } + } + } + + 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 + } + + RadioButton{ + id: selButtonSlowSpeed + anchors.top: textSpeed.bottom + anchors.left: speedRect.left + anchors.right: speedRect.right + anchors.rightMargin: 10 + checked: true + text: "Slow" + + onClicked:{ + selButtonMediumSpeed.setCheck(false); + selButtonFastSpeed.setCheck(false); + tilt.speed = TiltSensor.Slow; + } + } + + + RadioButton{ + id: selButtonMediumSpeed + anchors.top: selButtonSlowSpeed.bottom + anchors.left: speedRect.left + anchors.right: speedRect.right + anchors.rightMargin: 10 + checked: false + text: "Medium" + + onClicked:{ + selButtonSlowSpeed.setCheck(false); + selButtonFastSpeed.setCheck(false); + tilt.speed = TiltSensor.Medium; + } + } + + + RadioButton{ + id: selButtonFastSpeed + anchors.top: selButtonMediumSpeed.bottom + anchors.left: speedRect.left + anchors.right: speedRect.right + anchors.rightMargin: 10 + checked: false + text: "Fast" + + onClicked:{ + selButtonSlowSpeed.setCheck(false); + selButtonMediumSpeed.setCheck(false); + tilt.speed = TiltSensor.Fast; + } + } + } + + + 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") + + 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" + + onClicked:{ +//! [2] + 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 +//! [3] + 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 +//! [4] + text: "Y Rotation: " + tilt.yRotation + (tilt.unit === TiltSensor.Radians ? " rad" : "°") +//! [4] + } + + //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" + } + + 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" + } + + 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"; + } +//! [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" + + 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: -" + } + + //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" + } + + 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 + } + + 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); + } + } + + 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") +//! [6] + } +} diff --git a/examples/sensors/qmlqtsensors/qmlqtsensors.qdoc b/examples/sensors/qmlqtsensors/qmlqtsensors.qdoc new file mode 100644 index 00000000..37318b82 --- /dev/null +++ b/examples/sensors/qmlqtsensors/qmlqtsensors.qdoc @@ -0,0 +1,68 @@ +/**************************************************************************** +** +** 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 documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** GNU Free Documentation License +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms +** and conditions contained in a signed written agreement between you +** and Nokia. +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \example sensors/qmlqtsensors + \title QML QtSensors example + \ingroup qtsensors-examples + \brief The QML QtSensors example demonstrates the QML sensors elements in the QtSensors 5 import. + \image qmlqtsensors.jpg + +\section1 Overview + To write a QML application that will use the QML sensors elements in the QtSensors 5 import you need to to the following steps: + + Import the QtSensors 5.x declarative plugin: + +\snippet ../examples/sensors/qmlqtsensors/main.qml 0 + + Add the Sensor QML elements into your qml file. + + In this example we use the TiltSensor: + +\snippet ../examples/sensors/qmlqtsensors/main.qml 1 + + The Tilt-, AmbientLight- and the Proximity QML element sensor have the 'enabled' property in common. + To start or stop the sensor set this property to true or false. + +\snippet ../examples/sensors/qmlqtsensors/main.qml 2 + + Reading the data can be done for each sensor type like following: + + \l {QtSensors5::TiltSensor} {TiltSensor} + +\snippet ../examples/sensors/qmlqtsensors/main.qml 3 +\snippet ../examples/sensors/qmlqtsensors/main.qml 4 + + \l {QtSensors5::AmbientLightSensor} {AmbientLightSensor} + +\snippet ../examples/sensors/qmlqtsensors/main.qml 5 + + \l {QtSensors5::ProximitySensor} {ProximitySensor} + +\snippet ../examples/sensors/qmlqtsensors/main.qml 6 +*/ + diff --git a/examples/sensors/qmlqtsensors/qmlqtsensors.qmlproject b/examples/sensors/qmlqtsensors/qmlqtsensors.qmlproject new file mode 100644 index 00000000..4d32f758 --- /dev/null +++ b/examples/sensors/qmlqtsensors/qmlqtsensors.qmlproject @@ -0,0 +1,18 @@ +import QmlProject 1.1 + +Project { + mainFile: "main.qml" + + /* Include .qml, .js, and image files from current directory and subdirectories */ + QmlFiles { + directory: "." + } + JavaScriptFiles { + directory: "." + } + ImageFiles { + directory: "." + } + /* List of plugin directories passed to QML runtime */ + // importPaths: [ "../exampleplugin" ] +} |