diff options
author | Aaron McCarthy <aaron.mccarthy@nokia.com> | 2011-11-08 17:03:33 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-10 06:46:48 +0100 |
commit | 65a550ecfb9c3ed8adf452c923b2b43d71501aca (patch) | |
tree | c765f9163a9de2ff9d6d99780203a66ceff6e72d /doc | |
parent | 18e0a28cb0bd9bfc407d9203b72fea0612135109 (diff) | |
download | qtlocation-65a550ecfb9c3ed8adf452c923b2b43d71501aca.tar.gz |
Add support for getting/setting QML location elements from C++.
Change-Id: Ia5b353e7f97f2bc93c988cbfbd8d57784d3e3bbd
Reviewed-by: Alex <alex.blasche@nokia.com>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/src/snippets/cpp/cpp.pro | 8 | ||||
-rw-r--r-- | doc/src/snippets/cpp/cppqml.cpp | 163 | ||||
-rw-r--r-- | doc/src/snippets/cpp/main.cpp | 45 | ||||
-rw-r--r-- | doc/src/snippets/snippets.pro | 2 |
4 files changed, 217 insertions, 1 deletions
diff --git a/doc/src/snippets/cpp/cpp.pro b/doc/src/snippets/cpp/cpp.pro new file mode 100644 index 00000000..299ce859 --- /dev/null +++ b/doc/src/snippets/cpp/cpp.pro @@ -0,0 +1,8 @@ +TEMPLATE = app +TARGET = cppsnippet +QT += location + +SOURCES += \ + main.cpp \ + cppqml.cpp + diff --git a/doc/src/snippets/cpp/cppqml.cpp b/doc/src/snippets/cpp/cppqml.cpp new file mode 100644 index 00000000..7e358ef8 --- /dev/null +++ b/doc/src/snippets/cpp/cppqml.cpp @@ -0,0 +1,163 @@ +/**************************************************************************** +** +** 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 QtLocation 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$ +** +****************************************************************************/ + +#include <QtCore/QObject> +#include <QtCore/QVariant> +#include <QtLocation/QPlaceCategory> +#include <QtLocation/QPlaceContactDetail> +#include <QtLocation/QPlace> +#include <QtLocation/QPlaceAttribute> +#include <QtLocation/QPlaceIcon> +#include <QtLocation/QPlaceUser> +#include <QtLocation/QPlaceRating> +#include <QtLocation/QPlaceSupplier> +#include <QtLocation/QGeoCoordinate> +#include <QtLocation/QGeoAddress> +#include <QtLocation/QGeoBoundingBox> +#include <QtLocation/QGeoBoundingCircle> +#include <QtLocation/QGeoLocation> + +void cppQmlInterface(QObject *qmlObject) +{ + //! [Category get] + QPlaceCategory category = qmlObject->property("category").value<QPlaceCategory>(); + //! [Category get] + + //! [Category set] + qmlObject->setProperty("category", QVariant::fromValue(category)); + //! [Category set] + + //! [ContactDetail get] + QPlaceContactDetail contactDetail = qmlObject->property("contactDetail").value<QPlaceContactDetail>(); + //! [ContactDetail get] + + //! [ContactDetail set] + qmlObject->setProperty("contactDetail", QVariant::fromValue(contactDetail)); + //! [ContactDetail set] + + //! [Place get] + QPlace place = qmlObject->property("place").value<QPlace>(); + //! [Place get] + + //! [Place set] + qmlObject->setProperty("place", QVariant::fromValue(place)); + //! [Place set] + + //! [PlaceAttribute get] + QPlaceAttribute placeAttribute = qmlObject->property("attribute").value<QPlaceAttribute>(); + //! [PlaceAttribute get] + + //! [PlaceAttribute set] + qmlObject->setProperty("attribute", QVariant::fromValue(placeAttribute)); + //! [PlaceAttribute set] + + //! [Icon get] + QPlaceIcon placeIcon = qmlObject->property("icon").value<QPlaceIcon>(); + //! [Icon get] + + //! [Icon set] + qmlObject->setProperty("icon", QVariant::fromValue(placeIcon)); + //! [Icon set] + + //! [User get] + QPlaceUser placeUser = qmlObject->property("user").value<QPlaceUser>(); + //! [User get] + + //! [User set] + qmlObject->setProperty("user", QVariant::fromValue(placeUser)); + //! [User set] + + //! [Rating get] + QPlaceRating placeRating = qmlObject->property("rating").value<QPlaceRating>(); + //! [Rating get] + + //! [Rating set] + qmlObject->setProperty("rating", QVariant::fromValue(placeRating)); + //! [Rating set] + + //! [Supplier get] + QPlaceSupplier placeSupplier = qmlObject->property("supplier").value<QPlaceSupplier>(); + //! [Supplier get] + + //! [Supplier set] + qmlObject->setProperty("supplier", QVariant::fromValue(placeSupplier)); + //! [Supplier set] + + //! [Coordinate get] + QGeoCoordinate geoCoordinate = qmlObject->property("coordinate").value<QGeoCoordinate>(); + //! [Coordinate get] + + //! [Coordinate set] + qmlObject->setProperty("coordinate", QVariant::fromValue(geoCoordinate)); + //! [Coordinate set] + + //! [Address get] + QGeoAddress geoAddress = qmlObject->property("address").value<QGeoAddress>(); + //! [Address get] + + //! [Address set] + qmlObject->setProperty("address", QVariant::fromValue(geoAddress)); + //! [Address set] + + //! [BoundingBox get] + QGeoBoundingBox geoBoundingBox = qmlObject->property("box").value<QGeoBoundingBox>(); + //! [BoundingBox get] + + //! [BoundingBox set] + qmlObject->setProperty("box", QVariant::fromValue(geoBoundingBox)); + //! [BoundingBox set] + + //! [BoundingCircle get] + QGeoBoundingCircle geoBoundingCircle = qmlObject->property("circle").value<QGeoBoundingCircle>(); + //! [BoundingCircle get] + + //! [BoundingCircle set] + qmlObject->setProperty("circle", QVariant::fromValue(geoBoundingCircle)); + //! [BoundingCircle set] + + //! [Location get] + QGeoLocation geoLocation = qmlObject->property("location").value<QGeoLocation>(); + //! [Location get] + + //! [Location set] + qmlObject->setProperty("location", QVariant::fromValue(geoLocation)); + //! [Location set] +} + diff --git a/doc/src/snippets/cpp/main.cpp b/doc/src/snippets/cpp/main.cpp new file mode 100644 index 00000000..728f5709 --- /dev/null +++ b/doc/src/snippets/cpp/main.cpp @@ -0,0 +1,45 @@ +/**************************************************************************** +** +** 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 QtLocation 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$ +** +****************************************************************************/ + +int main(int /*argc*/, char ** /*argv*/) +{ + return 0; +} + diff --git a/doc/src/snippets/snippets.pro b/doc/src/snippets/snippets.pro index e900e4b1..e4946c8b 100644 --- a/doc/src/snippets/snippets.pro +++ b/doc/src/snippets/snippets.pro @@ -1,2 +1,2 @@ TEMPLATE = subdirs -SUBDIRS += places declarative +SUBDIRS += places declarative cpp |