summaryrefslogtreecommitdiffstats
path: root/basicsuite/sensors
diff options
context:
space:
mode:
authorTopi Reinio <topi.reinio@digia.com>2014-01-24 13:22:02 +0100
committerTopi Reiniƶ <topi.reinio@digia.com>2014-01-27 11:29:55 +0200
commitca01d5f9f5e960337a044be6e00de58fd4fbdb05 (patch)
tree3f2e25c5f05d5e5ba9bc44f2e5a09b86741c3fb5 /basicsuite/sensors
parent5a362f80d9da6d2d36efc127588f3c427211f98c (diff)
Make basicsuite demos run stand-alone
This change will make the demos run standalone when built in Qt Creator. - Rename example directories to lowercase/non-whitespace to avoid build & deployment problems - Add title.txt files so titles remain displayed correctly in the launcher - Add a common shared source files used for the standalone apps, and .pro-files for each example - Remove .qmlproject files (not needed) - Adjust documentation to match the new directory structure Change-Id: Ib24e461952da3b2c88aab0363249115ea44ee0f2 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@digia.com>
Diffstat (limited to 'basicsuite/sensors')
-rw-r--r--basicsuite/sensors/1.pngbin0 -> 33675 bytes
-rw-r--r--basicsuite/sensors/2.pngbin0 -> 27754 bytes
-rw-r--r--basicsuite/sensors/3.pngbin0 -> 27841 bytes
-rw-r--r--basicsuite/sensors/Accelbubble.qml108
-rw-r--r--basicsuite/sensors/Light.qml90
-rw-r--r--basicsuite/sensors/bluebubble.pngbin0 -> 12815 bytes
-rw-r--r--basicsuite/sensors/description.txt4
-rw-r--r--basicsuite/sensors/main.qml105
-rw-r--r--basicsuite/sensors/preview_l.jpgbin0 -> 19464 bytes
-rw-r--r--basicsuite/sensors/sensors.pro12
-rw-r--r--basicsuite/sensors/title.txt1
11 files changed, 320 insertions, 0 deletions
diff --git a/basicsuite/sensors/1.png b/basicsuite/sensors/1.png
new file mode 100644
index 0000000..8dd146b
--- /dev/null
+++ b/basicsuite/sensors/1.png
Binary files differ
diff --git a/basicsuite/sensors/2.png b/basicsuite/sensors/2.png
new file mode 100644
index 0000000..362abaf
--- /dev/null
+++ b/basicsuite/sensors/2.png
Binary files differ
diff --git a/basicsuite/sensors/3.png b/basicsuite/sensors/3.png
new file mode 100644
index 0000000..c8d3f8c
--- /dev/null
+++ b/basicsuite/sensors/3.png
Binary files differ
diff --git a/basicsuite/sensors/Accelbubble.qml b/basicsuite/sensors/Accelbubble.qml
new file mode 100644
index 0000000..d0ab880
--- /dev/null
+++ b/basicsuite/sensors/Accelbubble.qml
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: For any questions to Digia, please use the contact form at
+** http://qt.digia.com/
+**
+** This file is part of the examples of the Qt Enterprise Embedded.
+**
+** $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 Digia Plc 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
+import QtSensors 5.0
+
+Item {
+ Rectangle {
+ id: field
+ color: "lightblue"
+ border.width: 1
+ border.color: "darkblue"
+ width: parent.width
+ height: parent.height
+ Accelerometer {
+ id: accel
+ active:true
+ onReadingChanged: {
+ var newX = (bubble.x + calcRoll(accel.reading.x, accel.reading.y, accel.reading.z) * .1)
+ var newY = (bubble.y - calcPitch(accel.reading.x, accel.reading.y, accel.reading.z) * .1)
+
+ if (newX < 0)
+ newX = 0
+ if (newY < 0)
+ newY = 0
+
+ var right = field.width - bubble.width
+ var bottom = field.height - bubble.height
+
+ if (newX > right)
+ newX = right
+ if (newY > bottom)
+ newY = bottom
+
+ bubble.x = newX
+ bubble.y = newY
+ }
+ }
+
+ Image {
+ id: bubble
+ source: "bluebubble.png"
+ property real centerX: parent.width / 2
+ property real centerY: parent.height / 2;
+ property real bubbleCenter: bubble.width / 2
+ x: centerX - bubbleCenter
+ y: centerY - bubbleCenter
+ smooth: true
+
+ Behavior on y {
+ SmoothedAnimation {
+ easing.type: Easing.Linear
+ duration: 100
+ }
+ }
+ Behavior on x {
+ SmoothedAnimation {
+ easing.type: Easing.Linear
+ duration: 100
+ }
+ }
+ }
+ }
+
+ function calcPitch(x,y,z) {
+ return Math.atan(y / Math.sqrt(x*x + z*z)) * 57.2957795;
+ }
+ function calcRoll(x,y,z) {
+ return Math.atan(x / Math.sqrt(y*y + z*z)) * 57.2957795;
+ }
+}
diff --git a/basicsuite/sensors/Light.qml b/basicsuite/sensors/Light.qml
new file mode 100644
index 0000000..fd71790
--- /dev/null
+++ b/basicsuite/sensors/Light.qml
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: For any questions to Digia, please use the contact form at
+** http://qt.digia.com/
+**
+** This file is part of the examples of the Qt Enterprise Embedded.
+**
+** $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 Digia Plc 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
+import QtSensors 5.0
+
+Item {
+ rotation: 180
+ Rectangle {
+ id: bg
+ width: parent.width
+ height: parent.height
+ Text {
+ id: illuminanceLevel
+ anchors.horizontalCenter: parent.horizontalCenter
+ font.pointSize: 26
+ anchors.top: parent.top
+ }
+ Image {
+ id: avatar
+ anchors.top: illuminanceLevel.bottom
+ anchors.topMargin: 30
+ anchors.centerIn: parent
+ }
+
+ AmbientLightSensor {
+ active: true
+ onReadingChanged: {
+ if (reading.lightLevel === AmbientLightReading.Dark) {
+ avatar.source = "3.png"
+ bg.color = "midnightblue"
+ } else if (reading.lightLevel === AmbientLightReading.Twilight
+ || reading.lightLevel === AmbientLightReading.Light) {
+ avatar.source = "2.png"
+ bg.color = "steelblue"
+ } else if (reading.lightLevel === AmbientLightReading.Bright
+ || reading.lightLevel === AmbientLightReading.Sunny) {
+ avatar.source = "1.png"
+ bg.color = "yellow"
+ } else {
+ avatar.text = "Unknown light level"
+ }
+ }
+ }
+
+ LightSensor {
+ active: true
+ onReadingChanged: {
+ illuminanceLevel.text = "Illuminance: " + reading.illuminance
+ }
+ }
+ }
+}
diff --git a/basicsuite/sensors/bluebubble.png b/basicsuite/sensors/bluebubble.png
new file mode 100644
index 0000000..f96126e
--- /dev/null
+++ b/basicsuite/sensors/bluebubble.png
Binary files differ
diff --git a/basicsuite/sensors/description.txt b/basicsuite/sensors/description.txt
new file mode 100644
index 0000000..f6048cc
--- /dev/null
+++ b/basicsuite/sensors/description.txt
@@ -0,0 +1,4 @@
+This demo utilizes the accelerometer and light sensor readings in an application.
+
+For the accelometer, tilting the device moves the bubble around. For the light sensor,
+exposing the device to different lighting conditions changes the display.
diff --git a/basicsuite/sensors/main.qml b/basicsuite/sensors/main.qml
new file mode 100644
index 0000000..359306c
--- /dev/null
+++ b/basicsuite/sensors/main.qml
@@ -0,0 +1,105 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: For any questions to Digia, please use the contact form at
+** http://qt.digia.com/
+**
+** This file is part of the examples of the Qt Enterprise Embedded.
+**
+** $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 Digia Plc 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
+import QtSensors 5.0
+import QtSensors 5.0 as Sensors
+
+Item {
+ id: root
+ width: 800
+ height: 1280
+
+ Component {
+ id: sensorExample
+ Rectangle {
+ id: main
+ width: root.height
+ height: root.width
+ rotation: 90
+ border.width: 1
+ Light {
+ id: lys
+ width: main.width
+ height: main.height / 2
+ }
+
+ Accelbubble {
+ width: main.width
+ height: main.height / 2
+ anchors.top: lys.bottom
+ }
+ }
+ }
+
+ Component {
+ id: message
+ Rectangle {
+ width: root.width
+ height: root.height
+ Text {
+ font.pixelSize: 22
+ anchors.centerIn: parent
+ text: "It appears that this device doesn't provide the required sensors!"
+ }
+ }
+ }
+
+ Loader {
+ id: pageLoader
+ anchors.centerIn: parent
+ }
+
+ Component.onCompleted: {
+ var typesList = Sensors.QmlSensors.sensorTypes();
+ var count = 0
+ for (var i = 0; i < typesList.length; ++i) {
+ if (typesList[i] == "QAccelerometer")
+ count++
+ if (typesList[i] == "QLightSensor")
+ count++
+ }
+
+ if (count > 1)
+ pageLoader.sourceComponent = sensorExample
+ else
+ pageLoader.sourceComponent = message
+ }
+}
diff --git a/basicsuite/sensors/preview_l.jpg b/basicsuite/sensors/preview_l.jpg
new file mode 100644
index 0000000..7ce979d
--- /dev/null
+++ b/basicsuite/sensors/preview_l.jpg
Binary files differ
diff --git a/basicsuite/sensors/sensors.pro b/basicsuite/sensors/sensors.pro
new file mode 100644
index 0000000..bb1373e
--- /dev/null
+++ b/basicsuite/sensors/sensors.pro
@@ -0,0 +1,12 @@
+TARGET = sensors
+
+include(../shared/shared.pri)
+
+content.files = \
+ *.qml \
+ *.png
+content.path = $$DESTPATH
+
+OTHER_FILES += $${content.files}
+
+INSTALLS += target content \ No newline at end of file
diff --git a/basicsuite/sensors/title.txt b/basicsuite/sensors/title.txt
new file mode 100644
index 0000000..558b7c0
--- /dev/null
+++ b/basicsuite/sensors/title.txt
@@ -0,0 +1 @@
+Sensors Demo