diff options
Diffstat (limited to 'examples/sensors/sensor_explorer/doc/src')
-rw-r--r-- | examples/sensors/sensor_explorer/doc/src/sensor_explorer.qdoc | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/examples/sensors/sensor_explorer/doc/src/sensor_explorer.qdoc b/examples/sensors/sensor_explorer/doc/src/sensor_explorer.qdoc deleted file mode 100644 index 412499c9..00000000 --- a/examples/sensors/sensor_explorer/doc/src/sensor_explorer.qdoc +++ /dev/null @@ -1,142 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \example sensor_explorer - \title Qt Sensors - Explorer QML Example - \ingroup qtsensors-examples - \brief Demonstrates how to read the meta-data of available sensors. - - \image qtsensors-examples-sensor-explorer.png - - The example is implemented as a typical model-view application. The - models are written with C++ and exposed to QML, and the views are - implemented as QML types in the QML application. - - \section1 Exposing and Importing the Models - - The QML models written in C++ are exposed in the project build files - as a \c SensorModels QML module. - - \e CMake: - \code - qt_add_qml_module(sensor_explorer - URI SensorModels - VERSION 1.0 - ) - \endcode - - \e qmake: - \code - CONFIG += qmltypes - QML_IMPORT_NAME = SensorModels - QML_IMPORT_MAJOR_VERSION = 1 - \endcode - - The individual model elements are exposed as part of the model - code by using the \c QML_ELEMENT macro as illustrated here: - \snippet sensor_explorer/sensormodels.h 0 - - To access the models in the QML application, the module is imported - by the application QML: - \snippet sensor_explorer/sensor_explorer.qml 0 - - \section1 Populating the Model of Available Sensors - - The \c AvailableSensorsModel is a list model that provides information on - available sensors on the device. The model is populated once at the - element's construction time: - - \snippet sensor_explorer/sensormodels.cpp 0 - - The model's \c data() function returns a pointer to the requested sensor - object. - - \snippet sensor_explorer/sensormodels.cpp 1 - - Since the sensor (QSensor) is a QObject, the QML is then able to directly - access all metaproperties and -functions directly. - - \note It would be possible to refresh the sensor list later at will, but for - the simplicity of the example such functionality is not exposed to QML. - - \section1 Populating the Model of Sensor Properties - - The \c SensorPropertyModel is a table model that provides individual - sensor's property-value pairs as columns. The column \c 0 provides the - property's name and the column \c 1 provides the property's value. The - population of the properties is done by reading the metadata of the sensors. - The model reads both the sensor's metadata as well as the sensor's reading's - metadata. The code below illustrates the reading of the \c reading metadata: - - \snippet sensor_explorer/sensormodels.cpp 2 - - This metadata access allows providing the model data for all sensors - without prior compile-time understanding of their properties. - - Once the metadata is set, the code then subscribes to the - QSensor::readingChanged() signal to detect sensor reading changes. - Upon such changes (for example a rotation value changes), the model data - is updated accordingly. - - \section1 Viewing the Models - - The QML application is based on two views. The first view shows the available - sensors as a selectable list. The second view shows the selected sensor's - properties and their values. The delegates for viewing the individual items - are simplistic \e {rectangle and text} items. - - Binding the two views functionally together is done by binding the property - model's \c sensor property to the current selection of the available sensors - model: - - \snippet sensor_explorer/sensor_explorer.qml 1 - - When the selected sensor changes, the \c sensor of the property model changes - accordingly. - - The following snippet illustrates how the property view is implemented. For - more details about QML models and views, please see - \l{Models and Views in Qt Quick}. - - \snippet sensor_explorer/sensor_explorer.qml 3 - - For clarity it should be mentioned that the \c display attribute used by - the text element refers to the Qt::DisplayRole role of the model, which is - provided by default by Qt models. - - \section1 Activating the Sensors - - The example has a button for activating and deactivating the currently - selected sensor. The button is enabled only if a sensor is currently - selected, as illustrated below. - - \snippet sensor_explorer/sensor_explorer.qml 2 - - On clicking the button, the sensor's active property is toggled on/off. - -*/ |