summaryrefslogtreecommitdiffstats
path: root/doc/src/plugins/qml-sensors.qdoc
blob: 430f556c1d4d4745cc13541cd3bba5a181cadbb5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia.  For licensing terms and
** conditions see http://qt.digia.com/licensing.  For further information
** use the contact form at http://qt.digia.com/contact-us.
**
** GNU Free Documentation License Usage
** 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.  Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: http://www.gnu.org/copyleft/fdl.html.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
    \group qml-sensors
    \title QML Sensors API Plugin
    QML Support for the QtMobility Project Sensors API.
*/

/*!
    \page qml-sensors.html

    \title Sensors QML Plugin

    \brief A QML plugin for the QtMobility Project Sensors API.

    \section1 Overview

    The QML Sensors Plugin provides an easy to use interface to the Sensors API.
    It enables us to receive sensor events and to read current values from
    sensors.

    The plugin contains many sensor types and access functions to read values
    from them. As an example consider the orientation sensor. The orientation
    example simply displays text on-screen to show the current orientation.

    The QML code that reads the value is quite simple. Here we see a QML component
    \i orientation declared which is an \l OrientationSensor element. First
    the sensor is started by setting the \l {Sensor::active}{active} property
    to \i true. The element receives a signal when the reading changes and it
    is picked up by the \i onReadingChanged slot. Now the
    \l {OrientationSensor::reading}{reading} property of this element can be
    used to extract the current orientation so that it can be compared against
    the defined values of various orientations in the \l OrientationReading
    element.

    \qml
        OrientationSensor {
            id: orientation
            active: true

            onReadingChanged: {

                if (reading.orientation == OrientationReading.FaceUp)
                    content.state = "FaceUp";

                // ... more tests for different orientations ...
            }
        }

    \endqml

    Other sensors can be treated in a similar manner. For example, the \l Compass
    sensor could have almost identical coding

    \qml
        Compass {
            id: compass
            active: true

            onReadingChanged: {
                compassHeading.text = reading.azimuth;

                // ...
            }
        }
    \endqml

    \section1 QML Elements
    \annotatedlist qml-sensors_type
    \annotatedlist qml-sensors_reading

*/