diff options
Diffstat (limited to 'examples/declarative/mapviewer')
-rwxr-xr-x | examples/declarative/mapviewer/TitleBar.qml | 76 | ||||
-rw-r--r-- | examples/declarative/mapviewer/mapviewer.pro | 19 | ||||
-rw-r--r-- | examples/declarative/mapviewer/mapviewer.qml | 128 | ||||
-rw-r--r-- | examples/declarative/mapviewer/mapviewer.qrc | 9 | ||||
-rw-r--r-- | examples/declarative/mapviewer/qmlmapviewer.cpp | 62 | ||||
-rwxr-xr-x | examples/declarative/mapviewer/quit.png | bin | 0 -> 2369 bytes | |||
-rwxr-xr-x | examples/declarative/mapviewer/titlebar.png | bin | 0 -> 1436 bytes | |||
-rwxr-xr-x | examples/declarative/mapviewer/titlebar.sci | 5 |
8 files changed, 299 insertions, 0 deletions
diff --git a/examples/declarative/mapviewer/TitleBar.qml b/examples/declarative/mapviewer/TitleBar.qml new file mode 100755 index 00000000..0490393d --- /dev/null +++ b/examples/declarative/mapviewer/TitleBar.qml @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Mobility Components. +** +** $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$ +** +****************************************************************************/ + +import Qt 4.7 + +Item { + id: titleBar + BorderImage { source: "titlebar.sci"; width: parent.width; height: parent.height + 14; y: -7 } + + Item { + id: container + width: (parent.width * 2) - 55 ; height: parent.height + + Image { + id: quitButton + anchors.left: parent.left//; anchors.leftMargin: 0 + anchors.verticalCenter: parent.verticalCenter + source: "quit.png" + MouseArea { + anchors.fill: parent + onClicked: Qt.quit() + } + } + + Text { + id: categoryText + anchors { + left: quitButton.right; leftMargin: 10; rightMargin: 10 + verticalCenter: parent.verticalCenter + } + elide: Text.ElideLeft + text: "Mapviewer example" + font.bold: true; color: "White"; style: Text.Raised; styleColor: "Black" + } + } + transitions: Transition { + NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad } + } +} diff --git a/examples/declarative/mapviewer/mapviewer.pro b/examples/declarative/mapviewer/mapviewer.pro new file mode 100644 index 00000000..5a787021 --- /dev/null +++ b/examples/declarative/mapviewer/mapviewer.pro @@ -0,0 +1,19 @@ +TARGET = qml_location_mapviewer +TEMPLATE=app + +QT += declarative network +SOURCES += qmlmapviewer.cpp + +symbian { + TARGET.CAPABILITY = NetworkServices Location ReadUserData WriteUserData + TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 +} + +RESOURCES += \ + mapviewer.qrc + +target.path = $$[QT_INSTALL_DEMOS]/qtlocation/declarative/mapviewer +sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro *.qml *.png *.sci +sources.path = $$[QT_INSTALL_DEMOS]/qtlocation/declarative/mapviewer + +INSTALLS += target sources diff --git a/examples/declarative/mapviewer/mapviewer.qml b/examples/declarative/mapviewer/mapviewer.qml new file mode 100644 index 00000000..b5eee068 --- /dev/null +++ b/examples/declarative/mapviewer/mapviewer.qml @@ -0,0 +1,128 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Mobility Components. +** +** $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$ +** +****************************************************************************/ + +import Qt 4.7 +import QtMobility.location 1.2 + +Item { + width: 500 + height: 500 + + focus : true + TitleBar { id: titleBar; z: 5; width: parent.width; height: 40; opacity: 0.9 } + + Map { + id: map + z : 1 + plugin : Plugin { + name : "nokia" + } + size.width: parent.width + size.height: parent.height + zoomLevel: 7 + center: Coordinate { + latitude: 51.5 + longitude: -0.11 + } + + MapCircle { + id : circle + center : Coordinate { + latitude : 51.5 + longitude : -0.11 + } + color : "#80FF0000" + radius : 1000.0 + MapMouseArea { + onPositionChanged: { + if (mouse.button == Qt.LeftButton) + circle.center = mouse.coordinate + if (mouse.button == Qt.RightButton) + circle.radius = circle.center.distanceTo(mouse.coordinate) + } + } + } + + MapMouseArea { + property int lastX : -1 + property int lastY : -1 + + onPressed : { + lastX = mouse.x + lastY = mouse.y + } + onReleased : { + lastX = -1 + lastY = -1 + } + onPositionChanged: { + if (mouse.button == Qt.LeftButton) { + if ((lastX != -1) && (lastY != -1)) { + var dx = mouse.x - lastX + var dy = mouse.y - lastY + map.pan(-dx, -dy) + } + lastX = mouse.x + lastY = mouse.y + } + } + onDoubleClicked: { + map.center = mouse.coordinate + map.zoomLevel += 1 + lastX = -1 + lastY = -1 + } + } + } + + Keys.onPressed: { + if (event.key == Qt.Key_Plus) { + map.zoomLevel += 1 + } else if (event.key == Qt.Key_Minus) { + map.zoomLevel -= 1 + } else if (event.key == Qt.Key_T) { + if (map.mapType == Map.StreetMap) { + map.mapType = Map.SatelliteMapDay + } else if (map.mapType == Map.SatelliteMapDay) { + map.mapType = Map.StreetMap + } + } + } +} diff --git a/examples/declarative/mapviewer/mapviewer.qrc b/examples/declarative/mapviewer/mapviewer.qrc new file mode 100644 index 00000000..5cb155c4 --- /dev/null +++ b/examples/declarative/mapviewer/mapviewer.qrc @@ -0,0 +1,9 @@ +<RCC version="1.0"> + <qresource prefix="/"> + <file>mapviewer.qml</file> + <file>TitleBar.qml</file> + <file>quit.png</file> + <file>titlebar.png</file> + <file>titlebar.sci</file> + </qresource> +</RCC> diff --git a/examples/declarative/mapviewer/qmlmapviewer.cpp b/examples/declarative/mapviewer/qmlmapviewer.cpp new file mode 100644 index 00000000..f68cf1a0 --- /dev/null +++ b/examples/declarative/mapviewer/qmlmapviewer.cpp @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Mobility Components. +** +** $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 <QtGui/QApplication> +#include <QtDeclarative/QDeclarativeView> +#include <QtDeclarative/QDeclarativeEngine> + +int main(int argc, char *argv[]) +{ + QApplication application(argc, argv); + const QString mainQmlApp = QLatin1String("qrc:///mapviewer.qml"); + QDeclarativeView view; + view.setSource(QUrl(mainQmlApp)); + view.setResizeMode(QDeclarativeView::SizeRootObjectToView); + // Qt.quit() called in embedded .qml by default only emits + // quit() signal, so do this (optionally use Qt.exit()). + QObject::connect(view.engine(), SIGNAL(quit()), qApp, SLOT(quit())); +#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_6) + view.showFullScreen(); +#else + view.setGeometry(QRect(100, 100, 360, 640)); + view.show(); +#endif + return application.exec(); +} diff --git a/examples/declarative/mapviewer/quit.png b/examples/declarative/mapviewer/quit.png Binary files differnew file mode 100755 index 00000000..5bda1b6e --- /dev/null +++ b/examples/declarative/mapviewer/quit.png diff --git a/examples/declarative/mapviewer/titlebar.png b/examples/declarative/mapviewer/titlebar.png Binary files differnew file mode 100755 index 00000000..51c90082 --- /dev/null +++ b/examples/declarative/mapviewer/titlebar.png diff --git a/examples/declarative/mapviewer/titlebar.sci b/examples/declarative/mapviewer/titlebar.sci new file mode 100755 index 00000000..0418d94c --- /dev/null +++ b/examples/declarative/mapviewer/titlebar.sci @@ -0,0 +1,5 @@ +border.left: 10 +border.top: 12 +border.bottom: 12 +border.right: 10 +source: titlebar.png |