summaryrefslogtreecommitdiffstats
path: root/examples/sensors/sensor_explorer
diff options
context:
space:
mode:
Diffstat (limited to 'examples/sensors/sensor_explorer')
-rw-r--r--examples/sensors/sensor_explorer/doc/images/qtsensors-examples-explorer.pngbin39820 -> 0 bytes
-rw-r--r--examples/sensors/sensor_explorer/doc/src/sensor_explorer.qdoc104
-rw-r--r--examples/sensors/sensor_explorer/import/explorer.cpp152
-rw-r--r--examples/sensors/sensor_explorer/import/explorer.h88
-rw-r--r--examples/sensors/sensor_explorer/import/import.json1
-rw-r--r--examples/sensors/sensor_explorer/import/import.pro38
-rw-r--r--examples/sensors/sensor_explorer/import/main.cpp65
-rw-r--r--examples/sensors/sensor_explorer/import/main.h64
-rw-r--r--examples/sensors/sensor_explorer/import/propertyinfo.cpp149
-rw-r--r--examples/sensors/sensor_explorer/import/propertyinfo.h92
-rw-r--r--examples/sensors/sensor_explorer/import/qmldir2
-rw-r--r--examples/sensors/sensor_explorer/import/sensoritem.cpp331
-rw-r--r--examples/sensors/sensor_explorer/import/sensoritem.h105
-rw-r--r--examples/sensors/sensor_explorer/main.cpp74
-rw-r--r--examples/sensors/sensor_explorer/qml.pro21
-rw-r--r--examples/sensors/sensor_explorer/qml.qrc5
-rw-r--r--examples/sensors/sensor_explorer/sensor_explorer.pro6
-rw-r--r--examples/sensors/sensor_explorer/sensor_explorer.qml224
18 files changed, 0 insertions, 1521 deletions
diff --git a/examples/sensors/sensor_explorer/doc/images/qtsensors-examples-explorer.png b/examples/sensors/sensor_explorer/doc/images/qtsensors-examples-explorer.png
deleted file mode 100644
index 888fc3c6..00000000
--- a/examples/sensors/sensor_explorer/doc/images/qtsensors-examples-explorer.png
+++ /dev/null
Binary files differ
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 367711b1..00000000
--- a/examples/sensors/sensor_explorer/doc/src/sensor_explorer.qdoc
+++ /dev/null
@@ -1,104 +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-explorer.png
-
- This example is divided into two parts:
-
- \list
- \li A \l{Sensor Explorer QML Import}{C++ plugin} that provides QML
- alternatives for \c QSensorExplorer, \c QPropertyInfo and
- \c QSensorItem C++ classes.
- \li A \l{Sensor Explorer QML Application}{QML Application} that uses
- the QML types to read the sensor meta-data and present it.
- \endlist
-
- This example is built as an executable with C++ code that runs the QML,
- but it can also be launched directly using the \c qmlscene tool. You
- should build the top-level \e sensor_explorer project before trying to
- run this example or it will not be able to find its dependencies.
-
- \code
- qmlscene -I . sensor_explorer.qml
- \endcode
-
- Above, the -I . parameter adds the current directory as a module import
- path to locate the Explorer QML module.
-
- \section1 Sensor Explorer QML Import
-
- The Sensor Explorer QML import defines the \e Explorer QML module,
- exporting \c QSensorExplorer, \c QPropertyInfo and \c QSensorItem C++
- classes as QML types. The source code is available in the
- \c sensor_explorer/import subdirectory.
-
- \section1 Sensor Explorer QML Application
-
- To write a QML application that will use the QML types exposed by the
- Explorer module, following steps are needed:
-
- Import the Explorer 1.0 declarative plugin:
-
- \snippet sensor_explorer/sensor_explorer.qml 0
-
- Create a SensorExplorer QML item:
-
- \snippet sensor_explorer/sensor_explorer.qml 1
-
- You can retrieve a list of all available sensors using
- \c SensorExplorer.availableSensors:
-
- \snippet sensor_explorer/sensor_explorer.qml 2
-
- The example uses the returned list as a model to populate a view of
- available sensors.
-
- To retrieve the properties of a sensor, use \c SensorItem.properties:
-
- \snippet sensor_explorer/sensor_explorer.qml 3
-
- The property list is used as a model for another view that displays the
- property names and values.
-
- It is possible to edit the values of certain sensor properties. Selecting
- a writable property value will open an editor. \c SensorExplorer QML
- type allows you to pass a new value for a sensor property value as
- follows:
-
- \snippet sensor_explorer/sensor_explorer.qml 4
-
- Starting and stopping a sensor can be done by setting the
- \c SensorItem.start property:
-
- \snippet sensor_explorer/sensor_explorer.qml 5
-*/
diff --git a/examples/sensors/sensor_explorer/import/explorer.cpp b/examples/sensors/sensor_explorer/import/explorer.cpp
deleted file mode 100644
index 0665a98f..00000000
--- a/examples/sensors/sensor_explorer/import/explorer.cpp
+++ /dev/null
@@ -1,152 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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$
-**
-****************************************************************************/
-
-#include "explorer.h"
-#include <QtCore/QDebug>
-#include <qsensor.h>
-#include <QMetaObject>
-#include <QMetaProperty>
-
-QT_BEGIN_NAMESPACE
-
-/*
- \class QSensorExplorer
- \brief The QSensorExplorer type provides an easy access for reading all avalaible sensors installed on the system.
-*/
-
-/*
- Construct a QSensorExplorer object with parent \a parent
-*/
-QSensorExplorer::QSensorExplorer(QObject* parent)
- : QObject(parent)
- , _selectedSensorItem(0)
-{
- loadSensors();
-}
-
-/*
- Destructor of a QSensorExplorer
-*/
-QSensorExplorer::~QSensorExplorer()
-{
-}
-
-/*
- Load all available sensors and store it in a list.
-*/
-void QSensorExplorer::loadSensors()
-{
- //! [0]
- _availableSensors.clear();
-
- foreach (const QByteArray &type, QSensor::sensorTypes()) {
- qDebug() << "Found type" << type;
- foreach (const QByteArray &identifier, QSensor::sensorsForType(type)) {
- qDebug() << "Found identifier" << identifier;
- // Don't put in sensors we can't connect to
- QSensor* sensor = new QSensor(type, this);
- sensor->setIdentifier(identifier);
- if (!sensor->connectToBackend()) {
- qDebug() << "Couldn't connect to" << identifier;
- continue;
- }
-
- qDebug() << "Adding identifier" << identifier;
- _availableSensors.append(new QSensorItem(sensor, this));
- }
- }
- emit availableSensorsChanged();
- //! [0]
-}
-
-/*
- \fn QSensorExplorer::availableSensorsChanged()
- Notifies the client if the list of the available sensors was changed
-*/
-
-/*
- \property QSensorExplorer::availableSensors
- Returns a list of all available sensor.
-*/
-QQmlListProperty<QSensorItem> QSensorExplorer::availableSensors()
-{
- return QQmlListProperty<QSensorItem>(this, &_availableSensors);
-}
-
-/*
- \fn QSensorExplorer::selectedSensorItemChanged()
- Notifies the client if the selected sensor has been changed
-*/
-
-/*
- \property QSensorExplorer::selectedSensorItem
- Returns the current selected sensor item.
-*/
-QSensorItem* QSensorExplorer::selectedSensorItem()
-{
- return _selectedSensorItem;
-}
-
-/*
- \fn QSensorExplorer::setSelectedSensorItem(QSensorItem* selitem)
- Sets the QSensorItem \a selitem as the current selected QSensorItem.
-*/
-void QSensorExplorer::setSelectedSensorItem(QSensorItem* selitem)
-{
- if (selitem && _selectedSensorItem != selitem) {
- if (_selectedSensorItem)
- _selectedSensorItem->unSelect();
- _selectedSensorItem = selitem;
- _selectedSensorItem->select();
- emit selectedSensorItemChanged();
- }
-}
-
-QT_END_NAMESPACE
diff --git a/examples/sensors/sensor_explorer/import/explorer.h b/examples/sensors/sensor_explorer/import/explorer.h
deleted file mode 100644
index 2e583f81..00000000
--- a/examples/sensors/sensor_explorer/import/explorer.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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$
-**
-****************************************************************************/
-
-#ifndef QSEONSOREXPLORER_H
-#define QSEONSOREXPLORER_H
-
-#include <QtQml/QtQml>
-#include <QtQml/QQmlListProperty>
-#include "sensoritem.h"
-
-QT_BEGIN_NAMESPACE
-
-class QSensorExplorer : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QQmlListProperty<QSensorItem> availableSensors READ availableSensors NOTIFY availableSensorsChanged)
- Q_PROPERTY(QSensorItem* selectedSensorItem READ selectedSensorItem WRITE setSelectedSensorItem NOTIFY selectedSensorItemChanged)
-public:
- QSensorExplorer(QObject* parent = 0);
- virtual ~QSensorExplorer();
-
-private:
- QQmlListProperty<QSensorItem> availableSensors();
- void loadSensors();
- void setSelectedSensorItem(QSensorItem* selitem);
- QSensorItem* selectedSensorItem();
-
-Q_SIGNALS:
- void availableSensorsChanged();
- void selectedSensorItemChanged();
-
-private:
- QList<QSensorItem*> _availableSensors;
- QSensorItem* _selectedSensorItem;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QSensorExplorer)
-
-#endif // QSEONSOREXPLORER_H
diff --git a/examples/sensors/sensor_explorer/import/import.json b/examples/sensors/sensor_explorer/import/import.json
deleted file mode 100644
index 0967ef42..00000000
--- a/examples/sensors/sensor_explorer/import/import.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/examples/sensors/sensor_explorer/import/import.pro b/examples/sensors/sensor_explorer/import/import.pro
deleted file mode 100644
index 48509214..00000000
--- a/examples/sensors/sensor_explorer/import/import.pro
+++ /dev/null
@@ -1,38 +0,0 @@
-TEMPLATE = lib
-CONFIG += plugin
-
-TARGET = $$qtLibraryTarget(declarative_explorer)
-
-macos: DESTDIR = ../sensor_explorer.app/Contents/MacOS/Explorer
-else: DESTDIR = ../Explorer
-
-QT += qml sensors
-
-SOURCES = \
- main.cpp \
- explorer.cpp \
- sensoritem.cpp \
- propertyinfo.cpp
-
-HEADERS = \
- main.h \
- explorer.h \
- sensoritem.h \
- propertyinfo.h
-
-DESTPATH=$$[QT_INSTALL_EXAMPLES]/sensors/sensor_explorer/Explorer
-
-target.path=$$DESTPATH
-qmldir.files=$$PWD/qmldir
-qmldir.path=$$DESTPATH
-INSTALLS += target qmldir
-
-CONFIG += install_ok # Do not cargo-cult this!
-
-OTHER_FILES += \
- import.json qmldir
-
-# Copy the qmldir file to the same folder as the plugin binary
-cpqmldir.files = $$PWD/qmldir
-cpqmldir.path = $$DESTDIR
-COPIES += cpqmldir
diff --git a/examples/sensors/sensor_explorer/import/main.cpp b/examples/sensors/sensor_explorer/import/main.cpp
deleted file mode 100644
index 4199b2f4..00000000
--- a/examples/sensors/sensor_explorer/import/main.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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$
-**
-****************************************************************************/
-
-#include "main.h"
-#include "explorer.h"
-
-QT_BEGIN_NAMESPACE
-
-void SensorExplorerDeclarativeModule::registerTypes(const char *uri)
-{
- Q_ASSERT(QLatin1String(uri) == QLatin1String("Explorer"));
- // @uri Explorer
- qmlRegisterType<QSensorExplorer>(uri, 1, 0, "SensorExplorer");
- qmlRegisterType<QSensorItem>(uri, 1, 0, "SensorItem");
- qmlRegisterType<QPropertyInfo>(uri, 1, 0, "PropertyInfo");
-}
-
-QT_END_NAMESPACE
diff --git a/examples/sensors/sensor_explorer/import/main.h b/examples/sensors/sensor_explorer/import/main.h
deleted file mode 100644
index 6964bec6..00000000
--- a/examples/sensors/sensor_explorer/import/main.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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$
-**
-****************************************************************************/
-
-#include <QtQml/QQmlExtensionPlugin>
-#include <QtQml/QtQml>
-
-QT_BEGIN_NAMESPACE
-
-class SensorExplorerDeclarativeModule : public QQmlExtensionPlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid FILE "import.json")
-public:
- void registerTypes(const char *uri) override;
-};
-
-QT_END_NAMESPACE
diff --git a/examples/sensors/sensor_explorer/import/propertyinfo.cpp b/examples/sensors/sensor_explorer/import/propertyinfo.cpp
deleted file mode 100644
index 4704a6a1..00000000
--- a/examples/sensors/sensor_explorer/import/propertyinfo.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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$
-**
-****************************************************************************/
-
-#include "sensoritem.h"
-#include <QtCore/QDebug>
-#include <QtSensors>
-
-QT_BEGIN_NAMESPACE
-
-/*
- \class QPropertyInfo
- \brief The QPropertyInfo type provides an easy access for reading and writing the property values.
-*/
-
-/*
- Construct a QPropertyInfo object with parent \a parent
-*/
-QPropertyInfo::QPropertyInfo(QObject* parent)
- : QObject(parent)
- , _index(0)
- , _isWriteable(false)
- , _name("")
- , _typeName("")
- , _value("")
-{}
-
-/*
- Construct a QPropertyInfo object with parent \a parent, property name \a name, property index \a index,
- property write access \a writeable, property type \a typeName and property value \a value
-*/
-QPropertyInfo::QPropertyInfo(const QString& name, int index, bool writeable, const QString& typeName, const QString& value, QObject* parent)
- : QObject(parent)
- , _index(index)
- , _isWriteable(writeable)
- , _name(name)
- , _typeName(typeName)
- , _value(value)
-{}
-
-/*
- \property QPropertyInfo::name
- Returns the name of the property
-*/
-QString QPropertyInfo::name()
-{
- return _name;
-}
-
-/*
- \property QPropertyInfo::typeName
- Returns the type of the property
-*/
-QString QPropertyInfo::typeName()
-{
- return _typeName;
-}
-
-/*
- \property QPropertyInfo::value
- Returns the current value of the property
-*/
-QString QPropertyInfo::value()
-{
- return _value;
-}
-
-/*
- \fn void QPropertyInfo::valueChanged()
- Signal that notifies the client if the property value was changed.
-*/
-
-/*
- \fn QPropertyInfo::setValue(const QString& value)
- Sets the value \a value of the property
-*/
-void QPropertyInfo::setValue(const QString& value)
-{
- if (value != _value){
- _value = value;
- emit valueChanged();
- }
-}
-
-/*
- \fn QPropertyInfo::index()
- Returns the meta-data index of the property
-*/
-int QPropertyInfo::index()
-{
- return _index;
-}
-
-/*
- \property QPropertyInfo::isWriteable
- Returns true if the property is writeable false if property is read only
-*/
-bool QPropertyInfo::isWriteable()
-{
- return _isWriteable;
-}
-
-QT_END_NAMESPACE
diff --git a/examples/sensors/sensor_explorer/import/propertyinfo.h b/examples/sensors/sensor_explorer/import/propertyinfo.h
deleted file mode 100644
index 53b194a3..00000000
--- a/examples/sensors/sensor_explorer/import/propertyinfo.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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$
-**
-****************************************************************************/
-
-#ifndef QPROPERTYINFO_H
-#define QPROPERTYINFO_H
-
-#include <QtQml/QtQml>
-#include <QtCore/QString>
-
-QT_BEGIN_NAMESPACE
-
-class QPropertyInfo : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QString name READ name CONSTANT)
- Q_PROPERTY(QString typeName READ typeName CONSTANT)
- Q_PROPERTY(QString value READ value NOTIFY valueChanged)
- Q_PROPERTY(bool isWriteable READ isWriteable CONSTANT)
-
-public:
- QPropertyInfo(QObject* parent = 0);
- QPropertyInfo(const QString& name, int index, bool writeable, const QString& typeName, const QString& value, QObject* parent=0);
- QString name();
- QString typeName();
- QString value();
- void setValue(const QString& value);
- int index();
- bool isWriteable();
-
-Q_SIGNALS:
- void valueChanged();
-
-private:
- int _index;
- bool _isWriteable;
- QString _name;
- QString _typeName;
- QString _value;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QPropertyInfo)
-
-#endif // QPROPERTYINFO_H
diff --git a/examples/sensors/sensor_explorer/import/qmldir b/examples/sensors/sensor_explorer/import/qmldir
deleted file mode 100644
index 31c037fa..00000000
--- a/examples/sensors/sensor_explorer/import/qmldir
+++ /dev/null
@@ -1,2 +0,0 @@
-module Explorer
-plugin declarative_explorer
diff --git a/examples/sensors/sensor_explorer/import/sensoritem.cpp b/examples/sensors/sensor_explorer/import/sensoritem.cpp
deleted file mode 100644
index f268db3a..00000000
--- a/examples/sensors/sensor_explorer/import/sensoritem.cpp
+++ /dev/null
@@ -1,331 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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$
-**
-****************************************************************************/
-
-#include "sensoritem.h"
-#include <QtCore/QDebug>
-#include <QtSensors>
-
-QT_BEGIN_NAMESPACE
-
-/*
- \class QSensorItem
- \brief The QSensorItem type provides information about the metadata from a sensors installed on the system.
-*/
-
-/*
- Construct a QSensorItem object with parent \a parent
-*/
-QSensorItem::QSensorItem(QObject* parent)
- : QObject(parent)
- , _qsensor(0)
-{
-}
-
-/*
- Construct a QSensorItem object with QSensor \a sensor and parent \a parent
-*/
-QSensorItem::QSensorItem(QSensor* sensor, QObject* parent)
- : QObject(parent)
- , _qsensor(sensor)
-{
-}
-
-/*
- Destructor of a QSensorItem
-*/
-QSensorItem::~QSensorItem()
-{
-}
-
-/*
- \fn QSensorItem::startChanged()
- Notifies the client if the sensors has changed its start active status
-*/
-
-/*
- \property QSensorItem::start
- This property starts or stops the sensor
-*/
-bool QSensorItem::start()
-{
- return (_qsensor ? _qsensor->isActive() : false);
-}
-
-void QSensorItem::setStart(bool run)
-{
- if (_qsensor)
- _qsensor->setActive(run);
-}
-
-/*
- \property QSensorItem::id
- Returns the sensor id of the sensor item
-*/
-QString QSensorItem::id()
-{
- return (_qsensor ? _qsensor->identifier() : "");
-}
-
-/*
- Set the new value \a val to the QPropertyInfo object \a property
-*/
-void QSensorItem::changePropertyValue(QPropertyInfo* property, const QString& val)
-{
- if (_qsensor && _sensorProperties.contains(property)){
- if ( _qsensor->setProperty(property->name().toLatin1().constData(), QVariant(val)))
- updateSensorPropertyValues();
- else
- qWarning() << "new property value couldn't be set";
- }
-}
-
-/*
- Reading the metadata and activates the sensor.
-*/
-void QSensorItem::select()
-{
- if (_sensorProperties.isEmpty()) {
- // Probe the reading using Qt's meta-object facilities
- //Read properties from reader
- QSensorReading *reading = _qsensor->reading();
- const QMetaObject *mo = reading->metaObject();
- int firstProperty = QSensorReading::staticMetaObject.propertyOffset();
-
- for (int i = firstProperty; i < mo->propertyCount(); ++i) {
- QString typeName = QLatin1String(mo->property(i).typeName());
- int crap = typeName.lastIndexOf("::");
- if (crap != -1)
- typeName = typeName.mid(crap + 2);
-
- QPropertyInfo* pi = new QPropertyInfo(mo->property(i).name()
- , i
- , isWriteable(mo->property(i).name())
- , typeName
- , "-"
- , this);
- _readerProperties.append(pi);
- }
-
- //Read properties from sensor
- const QMetaObject *mo1 = _qsensor->metaObject();
- firstProperty = QSensorReading::staticMetaObject.propertyOffset();
-
- for (int i = firstProperty; i < mo1->propertyCount(); ++i) {
- QString propertyname = mo1->property(i).name();
- if (ignoreProperty(propertyname))
- continue;
-
- QString typeName = QLatin1String(mo1->property(i).typeName());
- int crap = typeName.lastIndexOf("::");
- if (crap != -1)
- typeName = typeName.mid(crap + 2);
-
- QPropertyInfo* pi = new QPropertyInfo(propertyname
- , i
- , isWriteable(propertyname)
- , typeName
- , "-"
- , this);
- _sensorProperties.append(pi);
- }
- updateSensorPropertyValues();
- connect(_qsensor, SIGNAL(readingChanged()), this, SLOT(sensorReadingChanged()));
- }
- connect(_qsensor, SIGNAL(activeChanged()), SIGNAL(startChanged()));
-}
-
-/*
- Unselect the sensor by stopping the sensor.
-*/
-void QSensorItem::unSelect()
-{
- _qsensor->stop();
- disconnect(_qsensor, SIGNAL(activeChanged()), this , SIGNAL(startChanged()));
-}
-
-/*
- Updates the property values from QSensor
-*/
-void QSensorItem::updateSensorPropertyValues()
-{
- if (_qsensor){
- const QMetaObject *mo = _qsensor->metaObject();
- for (int i = 0; i < _sensorProperties.count(); i++){
- QVariant val = mo->property(_sensorProperties[i]->index()).read(_qsensor);
- _sensorProperties[i]->setValue(convertValue(_sensorProperties[i]->typeName(), val));
- }
- }
-}
-
-/*
- \fn QSensorItem::propertiesChanged()
- Notifies the client if the list of the properties was changed
-*/
-
-/*
- Updates the property values from the QSensorReader
-*/
-void QSensorItem::sensorReadingChanged()
-{
- QSensorReading *reading = _qsensor->reading();
- const QMetaObject *mo = reading->metaObject();
- for (int i = 0; i < _readerProperties.count(); i++){
- QVariant val = mo->property(_readerProperties[i]->index()).read(reading);
- _readerProperties[i]->setValue(convertValue(_readerProperties[i]->typeName(), val));
- }
-}
-
-/*
- Returns true if the property with the name \a propertyname should be ignored
-*/
-bool QSensorItem::ignoreProperty(const QString& propertyname)
-{
- if (propertyname == "reading" ||
- propertyname == "active" ||
- propertyname == "identifier" ||
- propertyname == "connectedToBackend" ||
- propertyname == "busy")
- return true;
-
- return false;
-}
-
-/*
- Returns true if the property with the name \a propertyname is writeable
-*/
-bool QSensorItem::isWriteable(const QString& propertyname)
-{
- if (_qsensor){
- const QMetaObject *mo = _qsensor->metaObject();
- int propertyindex = mo->indexOfProperty(propertyname.toLocal8Bit().constData());
- if (propertyindex >= 0){
- QMetaProperty prop = mo->property(propertyindex);
- return prop.isWritable();
- }
- else {
- QSensorReading *reading = _qsensor->reading();
- const QMetaObject *moreader = reading->metaObject();
- propertyindex = moreader->indexOfProperty(propertyname.toLocal8Bit().constData());
- if (propertyindex >= 0){
- QMetaProperty prop = mo->property(propertyindex);
- return prop.isWritable();
- }
- }
- }
-
- return false;
-}
-
-/*
- Convert the variant \a val dependent on the type \a type and returns the converted value as a QString
-*/
-QString QSensorItem::convertValue(const QString& type, const QVariant& val)
-{
- if (type == "LightLevel"){
- switch (val.toInt()) {
- case 1: return "Dark";
- case 2: return "Twilight";
- case 3: return "Light";
- case 4: return "Bright";
- case 5: return "Sunny";
- default: return "Undefined";
- }
- }
- else if (type == "Orientation"){
- switch (val.toInt()) {
- case 1: return "TopUp";
- case 2: return "TopDown";
- case 3: return "LeftUp";
- case 4: return "RightUp";
- case 5: return "FaceUp";
- case 6: return "FaceDown";
- default: return "Undefined";
- }
- }
- else if (type == "qrangelist"){
- qrangelist rangelist = val.value<qrangelist>();
- QStringList ranges;
- foreach (const qrange &r, rangelist) {
- if (r.first == r.second)
- ranges << QString("%1 Hz").arg(r.first);
- else
- ranges << QString("%1-%2 Hz").arg(r.first).arg(r.second);
- }
- if (ranges.count() > 0)
- return ranges.join(", ");
- return "-";
- }
- else if (type == "qoutputrangelist") {
- qoutputrangelist rangelist = val.value<qoutputrangelist>();
- QStringList ranges;
- foreach (const qoutputrange &r, rangelist) {
- ranges << QString("(%1, %2) += %3").arg(r.minimum).arg(r.maximum).arg(r.accuracy);
- }
- if (ranges.count() > 0)
- return ranges.join(", ");
- return "-";
- }
-
- return val.toString();
-}
-
-/*
- \property QSensorItem::properties
- Returns a list of all properties from the sensor
-*/
-QQmlListProperty<QPropertyInfo> QSensorItem::properties()
-{
- _properties.clear();
- _properties.append(_sensorProperties);
- _properties.append(_readerProperties);
- return QQmlListProperty<QPropertyInfo> (this, &_properties);
-}
-
-QT_END_NAMESPACE
diff --git a/examples/sensors/sensor_explorer/import/sensoritem.h b/examples/sensors/sensor_explorer/import/sensoritem.h
deleted file mode 100644
index f67b6bda..00000000
--- a/examples/sensors/sensor_explorer/import/sensoritem.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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$
-**
-****************************************************************************/
-
-#ifndef QSENSORITEM_H
-#define QSENSORITEM_H
-
-#include <QtQml/QtQml>
-#include <QtCore/QString>
-#include "propertyinfo.h"
-
-QT_BEGIN_NAMESPACE
-
-class QSensor;
-class QSensorItem : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(bool start READ start WRITE setStart NOTIFY startChanged)
- Q_PROPERTY(QString id READ id CONSTANT)
- Q_PROPERTY(QQmlListProperty<QPropertyInfo> properties READ properties NOTIFY propertiesChanged)
-public:
- QSensorItem(QObject* parent = 0);
- QSensorItem(QSensor* sensor, QObject* parent = 0);
- virtual ~QSensorItem();
-
-public slots:
- void select();
- void unSelect();
- void changePropertyValue(QPropertyInfo* property, const QString& val);
-
-private slots:
- void sensorReadingChanged();
-
-private:
- QString id();
- bool start();
- void setStart(bool run);
- QQmlListProperty<QPropertyInfo> properties();
- QString convertValue(const QString& type, const QVariant& val);
- bool isWriteable(const QString& propertyname);
- bool ignoreProperty(const QString& propertyname);
- void updateSensorPropertyValues();
-
-Q_SIGNALS:
- void propertiesChanged();
- void startChanged();
-
-private:
- QSensor* _qsensor;
- QList<QPropertyInfo*> _properties;
- QList<QPropertyInfo*> _readerProperties;
- QList<QPropertyInfo*> _sensorProperties;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QSensorItem)
-
-#endif // QSENSORITEM_H
diff --git a/examples/sensors/sensor_explorer/main.cpp b/examples/sensors/sensor_explorer/main.cpp
deleted file mode 100644
index bb0a3b17..00000000
--- a/examples/sensors/sensor_explorer/main.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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$
-**
-****************************************************************************/
-
-#include <QtQml>
-#include <QtQuick/QQuickWindow>
-
-#ifndef QT_NO_WIDGETS
-#include <QtWidgets/QApplication>
-#define Application QApplication
-#else
-#include <QtGui/QGuiApplication>
-#define Application QGuiApplication
-#endif
-
-int main(int argc, char *argv[])
-{
- Application app(argc, argv);
- QQmlApplicationEngine engine(QUrl("qrc:///sensor_explorer.qml"));
- QObject *topLevel = engine.rootObjects().value(0);
- QQuickWindow *window = qobject_cast<QQuickWindow *>(topLevel);
- if (!window) {
- qWarning("Error: Your root item has to be a Window.");
- return -1;
- }
- window->show();
- return app.exec();
-}
diff --git a/examples/sensors/sensor_explorer/qml.pro b/examples/sensors/sensor_explorer/qml.pro
deleted file mode 100644
index 1407d5b2..00000000
--- a/examples/sensors/sensor_explorer/qml.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-TEMPLATE = app
-TARGET = sensor_explorer
-QT += qml quick
-
-qtHaveModule(widgets) {
- QT += widgets
-}
-
-# Avoid going to release/debug subdirectory
-win32: DESTDIR = ./
-
-SOURCES = main.cpp
-
-OTHER_FILES = \
- sensor_explorer.qml
-
-target.path = $$[QT_INSTALL_EXAMPLES]/sensors/sensor_explorer
-INSTALLS += target
-
-RESOURCES += \
- qml.qrc
diff --git a/examples/sensors/sensor_explorer/qml.qrc b/examples/sensors/sensor_explorer/qml.qrc
deleted file mode 100644
index df6160ae..00000000
--- a/examples/sensors/sensor_explorer/qml.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>sensor_explorer.qml</file>
- </qresource>
-</RCC>
diff --git a/examples/sensors/sensor_explorer/sensor_explorer.pro b/examples/sensors/sensor_explorer/sensor_explorer.pro
deleted file mode 100644
index 85ba45ef..00000000
--- a/examples/sensors/sensor_explorer/sensor_explorer.pro
+++ /dev/null
@@ -1,6 +0,0 @@
-TEMPLATE = subdirs
-CONFIG += ordered
-
-SUBDIRS = \
- import \
- qml.pro
diff --git a/examples/sensors/sensor_explorer/sensor_explorer.qml b/examples/sensors/sensor_explorer/sensor_explorer.qml
deleted file mode 100644
index 365842d9..00000000
--- a/examples/sensors/sensor_explorer/sensor_explorer.qml
+++ /dev/null
@@ -1,224 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, 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 The Qt Company Ltd 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.1
-import QtQuick.Window 2.1
-import QtQuick.Controls 1.0
-
-//! [0]
-import Explorer 1.0
-//! [0]
-
-Window {
- id: window
- width: 320
- height: 480
- minimumWidth: 320
- minimumHeight: 480
-
- //! [1]
- SensorExplorer {
- id: explorer
- }
- //! [1]
-
- Column {
- anchors.fill: parent
- anchors.margins: 8
- spacing: 8
-
- GroupBox {
- title: qsTr("Available Sensors")
- width: parent.width
- height: window.height * 0.4
-
- TableView {
- id: sensorList
- anchors.fill: parent
- //! [2]
- model: explorer.availableSensors
- //! [2]
-
- TableViewColumn { role: "id"; title: qsTr("ID"); width: sensorList.width * 0.7 }
- TableViewColumn { role: "start"; title: qsTr("Running"); width: sensorList.width * 0.3 - 5 }
-
- onClicked: {
- explorer.selectedSensorItem = explorer.availableSensors[row]
- //! [3]
- propertyList.model = explorer.selectedSensorItem.properties
- //! [3]
- button.update()
- }
- }
-
- Button {
- id: button
- anchors.margins: 4
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.top: sensorList.bottom
- text: qsTr("Start")
- enabled: explorer.selectedSensorItem !== null
-
- function update() {
- text = (explorer.selectedSensorItem !== null ?
- (explorer.selectedSensorItem.start === true ?
- qsTr("Stop") : qsTr("Start")) : qsTr("Start"))
- }
-
- onClicked: {
- if (explorer.selectedSensorItem !== null) {
- //! [5]
- if (text === "Start") {
- explorer.selectedSensorItem.start = true;
- text = "Stop";
- }
- else {
- explorer.selectedSensorItem.start = false;
- text = "Start";
- }
- //! [5]
- }
- }
- }
-
- }
-
- GroupBox {
- title: qsTr("Properties")
- width: parent.width
- height: window.height * 0.55
-
- enabled: explorer.selectedSensorItem != null
-
- TableView {
- id: propertyList
- property PropertyInfo selectedItem: null
-
- anchors.fill: parent
- TableViewColumn { role: "name"; title: qsTr("Name"); width: propertyList.width * 0.5 }
- TableViewColumn { role: "value"; title: qsTr("Value"); width: propertyList.width * 0.5 - 5 }
-
- onClicked: {
- selectedItem = model[row]
- }
-
- itemDelegate: {
- if (selectedItem && selectedItem.isWriteable)
- return editableDelegate;
- return readOnlyDelegate;
- }
-
- Component {
- id: readOnlyDelegate
- Item {
- Text {
- width: parent.width
- anchors.margins: 4
- anchors.left: parent.left
- anchors.verticalCenter: parent.verticalCenter
- elide: styleData.elideMode
- text: styleData.value
- color: propertyList.model[styleData.row].isWriteable ?
- styleData.textColor : Qt.lighter(styleData.textColor)
- }
- }
- }
-
- Component {
- id: editableDelegate
- Item {
- Text {
- width: parent.width
- anchors.margins: 4
- anchors.left: parent.left
- anchors.verticalCenter: parent.verticalCenter
- elide: styleData.elideMode
- text: styleData.value
- color: styleData.textColor
- visible: !styleData.selected || styleData.column === 0
- }
- Loader { // Initialize text editor lazily to improve performance
- id: loaderEditor
- anchors.margins: 4
- anchors.left: parent.left
- anchors.verticalCenter: parent.verticalCenter
- Connections {
- target: loaderEditor.item
- onAccepted: {
- //! [4]
- explorer.selectedSensorItem.changePropertyValue(propertyList.selectedItem, loaderEditor.item.text);
- //! [4]
- }
- }
-
- // Load the editor for selected 'Value' cell
- sourceComponent: (styleData.selected && styleData.column === 1) ? editor : null
-
- Component {
- id: editor
- TextInput {
- id: textinput
- color: styleData.textColor
- text: styleData.value
- MouseArea {
- id: mouseArea
- anchors.fill: parent
- hoverEnabled: true
- onClicked: textinput.forceActiveFocus()
- }
- }
- }
- }
- }
- }
- }
- }
- }
-}