From 072e8c323bdb0170a86de415fb8164c72cfc2329 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Fri, 3 Nov 2017 15:38:54 +0100 Subject: Doc: Update Accelerate Bubble example to use the Swipe wizard Change-Id: I6f3d88788707c4ecd18c327c9145529ec0bd8fc6 Reviewed-by: Tim Jenssen --- doc/examples/accelbubble/Bubble.qml | 7 +- doc/examples/accelbubble/Page1.qml | 55 ------------ doc/examples/accelbubble/Page1Form.ui.qml | 21 +++-- doc/examples/accelbubble/Page2Form.ui.qml | 67 ++++++++++++++ doc/examples/accelbubble/accelbubble.pro | 30 ++++--- doc/examples/accelbubble/main.cpp | 7 +- doc/examples/accelbubble/main.qml | 115 ++++++++++++++----------- doc/examples/accelbubble/qml.qrc | 4 +- doc/examples/accelbubble/qtquickcontrols2.conf | 13 +-- 9 files changed, 179 insertions(+), 140 deletions(-) delete mode 100644 doc/examples/accelbubble/Page1.qml create mode 100644 doc/examples/accelbubble/Page2Form.ui.qml (limited to 'doc/examples') diff --git a/doc/examples/accelbubble/Bubble.qml b/doc/examples/accelbubble/Bubble.qml index bb218759511..67e1c5922da 100644 --- a/doc/examples/accelbubble/Bubble.qml +++ b/doc/examples/accelbubble/Bubble.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2017 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qt Creator @@ -48,9 +48,8 @@ ** ****************************************************************************/ -import QtQuick 2.7 -import QtQuick.Controls 2.0 -import QtQuick.Layouts 1.0 +import QtQuick 2.9 +import QtQuick.Controls 2.2 Image { source: "Bluebubble.svg" diff --git a/doc/examples/accelbubble/Page1.qml b/doc/examples/accelbubble/Page1.qml deleted file mode 100644 index 06197798734..00000000000 --- a/doc/examples/accelbubble/Page1.qml +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator -** -** $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.7 - -Page1Form { - -} diff --git a/doc/examples/accelbubble/Page1Form.ui.qml b/doc/examples/accelbubble/Page1Form.ui.qml index d336fa3b7ac..0ab08fc4833 100644 --- a/doc/examples/accelbubble/Page1Form.ui.qml +++ b/doc/examples/accelbubble/Page1Form.ui.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2017 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qt Creator @@ -47,14 +47,21 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ +import QtQuick 2.9 +import QtQuick.Controls 2.2 -import QtQuick 2.7 -import QtQuick.Controls 2.0 -import QtQuick.Layouts 1.0 - -Item { - property alias mainWindow: mainWindow +Page { + width: 600 + height: 400 property alias bubble: bubble + property alias mainWindow: mainWindow + + header: Label { + text: qsTr("Page 1") + font.pixelSize: Qt.application.font.pixelSize * 2 + padding: 10 + } + Rectangle { id: mainWindow color: "#ffffff" diff --git a/doc/examples/accelbubble/Page2Form.ui.qml b/doc/examples/accelbubble/Page2Form.ui.qml new file mode 100644 index 00000000000..11a8abff4aa --- /dev/null +++ b/doc/examples/accelbubble/Page2Form.ui.qml @@ -0,0 +1,67 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator +** +** $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.9 +import QtQuick.Controls 2.2 + +Page { + width: 600 + height: 400 + + header: Label { + text: qsTr("Page 2") + font.pixelSize: Qt.application.font.pixelSize * 2 + padding: 10 + } + + Label { + text: qsTr("You are on Page 2.") + anchors.centerIn: parent + } +} diff --git a/doc/examples/accelbubble/accelbubble.pro b/doc/examples/accelbubble/accelbubble.pro index dca3207dcee..2dfcd426527 100644 --- a/doc/examples/accelbubble/accelbubble.pro +++ b/doc/examples/accelbubble/accelbubble.pro @@ -1,17 +1,7 @@ -QT += qml quick sensors svg xml +QT += quick sensors svg xml CONFIG += c++11 -SOURCES += main.cpp - -RESOURCES += qml.qrc - -# Additional import path used to resolve QML modules in Qt Creator's code model -QML_IMPORT_PATH = - -# Additional import path used to resolve QML modules just for Qt Quick Designer -QML_DESIGNER_IMPORT_PATH = - # The following define makes your compiler emit warnings if you use # any feature of Qt which as been marked deprecated (the exact warnings # depend on your compiler). Please consult the documentation of the @@ -23,7 +13,25 @@ DEFINES += QT_DEPRECATED_WARNINGS # You can also select to disable deprecated APIs only up to a certain version of Qt. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 +SOURCES += main.cpp + +RESOURCES += qml.qrc + +# Additional import path used to resolve QML modules in Qt Creator's code model +QML_IMPORT_PATH = + +# Additional import path used to resolve QML modules just for Qt Quick Designer +QML_DESIGNER_IMPORT_PATH = + # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target + + ios { + QTPLUGIN += qsvg qsvgicon qtsensors_ios + QMAKE_INFO_PLIST = Info.plist + } + +DISTFILES += \ + Bluebubble.svg diff --git a/doc/examples/accelbubble/main.cpp b/doc/examples/accelbubble/main.cpp index 6ff25a462cf..4e002b280ec 100644 --- a/doc/examples/accelbubble/main.cpp +++ b/doc/examples/accelbubble/main.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2017 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qt Creator @@ -54,10 +54,13 @@ int main(int argc, char *argv[]) { QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); + QGuiApplication app(argc, argv); QQmlApplicationEngine engine; - engine.load(QUrl(QLatin1String("qrc:/main.qml"))); + engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); + if (engine.rootObjects().isEmpty()) + return -1; return app.exec(); } diff --git a/doc/examples/accelbubble/main.qml b/doc/examples/accelbubble/main.qml index ddd617af69d..26fe2598f05 100644 --- a/doc/examples/accelbubble/main.qml +++ b/doc/examples/accelbubble/main.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2017 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qt Creator @@ -48,10 +48,9 @@ ** ****************************************************************************/ -import QtQuick 2.7 -import QtQuick.Controls 2.0 -import QtQuick.Layouts 1.0 -import QtSensors 5.7 +import QtQuick 2.9 +import QtQuick.Controls 2.2 +import QtSensors 5.9 ApplicationWindow { visible: true @@ -59,64 +58,84 @@ ApplicationWindow { height: 480 title: qsTr("Accelerate Bubble") - Page1 { + SwipeView { + id: swipeView anchors.fill: parent - bubble { - id: bubble - centerX: mainWindow.width / 2 - centerY: mainWindow.height / 2 - bubbleCenter: bubble.width / 2 - x: bubble.centerX - bubble.bubbleCenter - y: bubble.centerY - bubble.bubbleCenter - - Behavior on y { - SmoothedAnimation { - easing.type: Easing.Linear - duration: 100 + currentIndex: tabBar.currentIndex + + Page1Form { + bubble { + id: bubble + centerX: mainWindow.width / 2 + centerY: mainWindow.height / 2 + bubbleCenter: bubble.width / 2 + x: bubble.centerX - bubble.bubbleCenter + y: bubble.centerY - bubble.bubbleCenter + + Behavior on y { + SmoothedAnimation { + easing.type: Easing.Linear + duration: 100 + } } - } - Behavior on x { - SmoothedAnimation { - easing.type: Easing.Linear - duration: 100 + Behavior on x { + SmoothedAnimation { + easing.type: Easing.Linear + duration: 100 + } } } } + + Page2Form { + } + } + + footer: TabBar { + id: tabBar + currentIndex: swipeView.currentIndex + + TabButton { + text: qsTr("Page 1") + } + TabButton { + text: qsTr("Page 2") + } } Accelerometer { - id: accel - dataRate: 100 - active: true + id: accel + dataRate: 100 + active: true - onReadingChanged: { - var newX = (bubble.x + calcRoll(accel.reading.x, accel.reading.y, accel.reading.z) * 0.1) - var newY = (bubble.y - calcPitch(accel.reading.x, accel.reading.y, accel.reading.z) * 0.1) + onReadingChanged: { + var newX = (bubble.x + calcRoll(accel.reading.x, accel.reading.y, accel.reading.z) * 0.1) + var newY = (bubble.y - calcPitch(accel.reading.x, accel.reading.y, accel.reading.z) * 0.1) - if (isNaN(newX) || isNaN(newY)) - return; + if (isNaN(newX) || isNaN(newY)) + return; - if (newX < 0) - newX = 0 + if (newX < 0) + newX = 0 - if (newX > mainWindow.width - bubble.width) - newX = mainWindow.width - bubble.width + if (newX > mainWindow.width - bubble.width) + newX = mainWindow.width - bubble.width - if (newY < 18) - newY = 18 + if (newY < 18) + newY = 18 - if (newY > mainWindow.height - bubble.height) - newY = mainWindow.height - bubble.height + if (newY > mainWindow.height - bubble.height) + newY = mainWindow.height - bubble.height - bubble.x = newX - bubble.y = newY - } + bubble.x = newX + bubble.y = newY } + } - function calcPitch(x, y, z) { - return -(Math.atan(y / Math.sqrt(x * x + z * z)) * 57.2957795); - } - function calcRoll(x, y, z) { - return -(Math.atan(x / Math.sqrt(y * y + z * z)) * 57.2957795); - } + function calcPitch(x, y, z) { + return -(Math.atan(y / Math.sqrt(x * x + z * z)) * 57.2957795); + } + function calcRoll(x, y, z) { + return -(Math.atan(x / Math.sqrt(y * y + z * z)) * 57.2957795); + } } diff --git a/doc/examples/accelbubble/qml.qrc b/doc/examples/accelbubble/qml.qrc index 1825fab4906..7d7777aca02 100644 --- a/doc/examples/accelbubble/qml.qrc +++ b/doc/examples/accelbubble/qml.qrc @@ -1,10 +1,10 @@ - main.qml - Page1.qml Page1Form.ui.qml + Page2Form.ui.qml qtquickcontrols2.conf Bubble.qml Bluebubble.svg + main.qml diff --git a/doc/examples/accelbubble/qtquickcontrols2.conf b/doc/examples/accelbubble/qtquickcontrols2.conf index 1764b16fb48..75b2cb8fffb 100644 --- a/doc/examples/accelbubble/qtquickcontrols2.conf +++ b/doc/examples/accelbubble/qtquickcontrols2.conf @@ -1,15 +1,6 @@ ; This file can be edited to change the style of the application -; See Styling Qt Quick Controls 2 in the documentation for details: -; http://doc.qt.io/qt-5/qtquickcontrols2-styles.html +; Read "Qt Quick Controls 2 Configuration File" for details: +; http://doc.qt.io/qt-5/qtquickcontrols2-configuration.html [Controls] Style=Default - -[Universal] -Theme=Light -;Accent=Steel - -[Material] -Theme=Light -;Accent=BlueGrey -;Primary=BlueGray -- cgit v1.2.3