diff options
Diffstat (limited to 'examples/quick/particles/itemparticle')
-rw-r--r-- | examples/quick/particles/itemparticle/CMakeLists.txt | 271 | ||||
-rw-r--r-- | examples/quick/particles/itemparticle/content/Delegate.qml | 98 | ||||
-rw-r--r-- | examples/quick/particles/itemparticle/content/Delegate2.qml | 89 | ||||
-rw-r--r-- | examples/quick/particles/itemparticle/content/ExpandingDelegate.qml | 215 | ||||
-rw-r--r-- | examples/quick/particles/itemparticle/content/bubble.png | bin | 2347 -> 0 bytes | |||
-rw-r--r-- | examples/quick/particles/itemparticle/content/script.js | 27 | ||||
-rw-r--r-- | examples/quick/particles/itemparticle/delegates.qml | 105 | ||||
-rw-r--r-- | examples/quick/particles/itemparticle/itemparticle.pro | 12 | ||||
-rw-r--r-- | examples/quick/particles/itemparticle/main.cpp | 51 | ||||
-rw-r--r-- | examples/quick/particles/itemparticle/particleview.qml | 309 |
10 files changed, 0 insertions, 1177 deletions
diff --git a/examples/quick/particles/itemparticle/CMakeLists.txt b/examples/quick/particles/itemparticle/CMakeLists.txt deleted file mode 100644 index bb88ffb633..0000000000 --- a/examples/quick/particles/itemparticle/CMakeLists.txt +++ /dev/null @@ -1,271 +0,0 @@ -# Generated from itemparticle.pro. - -cmake_minimum_required(VERSION 3.14) -project(itemparticle LANGUAGES CXX) - -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) -set(CMAKE_AUTOUIC ON) - -if(NOT DEFINED INSTALL_EXAMPLESDIR) - set(INSTALL_EXAMPLESDIR "examples") -endif() - -set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/quick/particles/itemparticle") - -find_package(Qt6 COMPONENTS Core) -find_package(Qt6 COMPONENTS Gui) -find_package(Qt6 COMPONENTS Quick) -find_package(Qt6 COMPONENTS Qml) - -qt_add_executable(itemparticle - main.cpp -) -set_target_properties(itemparticle PROPERTIES - WIN32_EXECUTABLE TRUE - MACOSX_BUNDLE TRUE -) -target_link_libraries(itemparticle PUBLIC - Qt::Core - Qt::Gui - Qt::Qml - Qt::Quick -) - - -file(GLOB resource_glob_0 RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "content/*") -foreach(file IN LISTS resource_glob_0) - set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/${file}" PROPERTIES QT_RESOURCE_ALIAS "${file}") -endforeach() - -file(GLOB resource_glob_1 RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*qml") -foreach(file IN LISTS resource_glob_1) - set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/${file}" PROPERTIES QT_RESOURCE_ALIAS "${file}") -endforeach() - -# Resources: -set_source_files_properties("../images/_explo.png" - PROPERTIES QT_RESOURCE_ALIAS "images/_explo.png" -) -set_source_files_properties("../images/backgroundLeaves.jpg" - PROPERTIES QT_RESOURCE_ALIAS "images/backgroundLeaves.jpg" -) -set_source_files_properties("../images/bear_tiles.png" - PROPERTIES QT_RESOURCE_ALIAS "images/bear_tiles.png" -) -set_source_files_properties("../images/candle.png" - PROPERTIES QT_RESOURCE_ALIAS "images/candle.png" -) -set_source_files_properties("../images/colortable.png" - PROPERTIES QT_RESOURCE_ALIAS "images/colortable.png" -) -set_source_files_properties("../images/finalfrontier.png" - PROPERTIES QT_RESOURCE_ALIAS "images/finalfrontier.png" -) -set_source_files_properties("../images/flower.png" - PROPERTIES QT_RESOURCE_ALIAS "images/flower.png" -) -set_source_files_properties("../images/matchmask.png" - PROPERTIES QT_RESOURCE_ALIAS "images/matchmask.png" -) -set_source_files_properties("../images/meteor.png" - PROPERTIES QT_RESOURCE_ALIAS "images/meteor.png" -) -set_source_files_properties("../images/meteor_explo.png" - PROPERTIES QT_RESOURCE_ALIAS "images/meteor_explo.png" -) -set_source_files_properties("../images/meteors.png" - PROPERTIES QT_RESOURCE_ALIAS "images/meteors.png" -) -set_source_files_properties("../images/nullRock.png" - PROPERTIES QT_RESOURCE_ALIAS "images/nullRock.png" -) -set_source_files_properties("../images/particle2.png" - PROPERTIES QT_RESOURCE_ALIAS "images/particle2.png" -) -set_source_files_properties("../images/particle3.png" - PROPERTIES QT_RESOURCE_ALIAS "images/particle3.png" -) -set_source_files_properties("../images/particleA.png" - PROPERTIES QT_RESOURCE_ALIAS "images/particleA.png" -) -set_source_files_properties("../images/portal_bg.png" - PROPERTIES QT_RESOURCE_ALIAS "images/portal_bg.png" -) -set_source_files_properties("../images/realLeaf1.png" - PROPERTIES QT_RESOURCE_ALIAS "images/realLeaf1.png" -) -set_source_files_properties("../images/realLeaf2.png" - PROPERTIES QT_RESOURCE_ALIAS "images/realLeaf2.png" -) -set_source_files_properties("../images/realLeaf3.png" - PROPERTIES QT_RESOURCE_ALIAS "images/realLeaf3.png" -) -set_source_files_properties("../images/realLeaf4.png" - PROPERTIES QT_RESOURCE_ALIAS "images/realLeaf4.png" -) -set_source_files_properties("../images/rocket.png" - PROPERTIES QT_RESOURCE_ALIAS "images/rocket.png" -) -set_source_files_properties("../images/rocket2.png" - PROPERTIES QT_RESOURCE_ALIAS "images/rocket2.png" -) -set_source_files_properties("../images/sizeInOut.png" - PROPERTIES QT_RESOURCE_ALIAS "images/sizeInOut.png" -) -set_source_files_properties("../images/snowflake.png" - PROPERTIES QT_RESOURCE_ALIAS "images/snowflake.png" -) -set_source_files_properties("../images/sparkleSize.png" - PROPERTIES QT_RESOURCE_ALIAS "images/sparkleSize.png" -) -set_source_files_properties("../images/starfish_0.png" - PROPERTIES QT_RESOURCE_ALIAS "images/starfish_0.png" -) -set_source_files_properties("../images/starfish_1.png" - PROPERTIES QT_RESOURCE_ALIAS "images/starfish_1.png" -) -set_source_files_properties("../images/starfish_2.png" - PROPERTIES QT_RESOURCE_ALIAS "images/starfish_2.png" -) -set_source_files_properties("../images/starfish_3.png" - PROPERTIES QT_RESOURCE_ALIAS "images/starfish_3.png" -) -set_source_files_properties("../images/starfish_4.png" - PROPERTIES QT_RESOURCE_ALIAS "images/starfish_4.png" -) -set_source_files_properties("../images/starfish_mask.png" - PROPERTIES QT_RESOURCE_ALIAS "images/starfish_mask.png" -) -set(images_resource_files - "images/_explo.png" - "images/backgroundLeaves.jpg" - "images/bear_tiles.png" - "images/candle.png" - "images/colortable.png" - "images/finalfrontier.png" - "images/flower.png" - "images/matchmask.png" - "images/meteor.png" - "images/meteor_explo.png" - "images/meteors.png" - "images/nullRock.png" - "images/particle2.png" - "images/particle3.png" - "images/particleA.png" - "images/portal_bg.png" - "images/realLeaf1.png" - "images/realLeaf2.png" - "images/realLeaf3.png" - "images/realLeaf4.png" - "images/rocket.png" - "images/rocket2.png" - "images/sizeInOut.png" - "images/snowflake.png" - "images/sparkleSize.png" - "images/starfish_0.png" - "images/starfish_1.png" - "images/starfish_2.png" - "images/starfish_3.png" - "images/starfish_4.png" - "images/starfish_mask.png" -) - -qt6_add_resources(itemparticle "images" - PREFIX - "/particles" - BASE - ".." - FILES - ${images_resource_files} -) -set_source_files_properties("../../shared/Button.qml" - PROPERTIES QT_RESOURCE_ALIAS "Button.qml" -) -set_source_files_properties("../../shared/CheckBox.qml" - PROPERTIES QT_RESOURCE_ALIAS "CheckBox.qml" -) -set_source_files_properties("../../shared/FlickrRssModel.qml" - PROPERTIES QT_RESOURCE_ALIAS "FlickrRssModel.qml" -) -set_source_files_properties("../../shared/Label.qml" - PROPERTIES QT_RESOURCE_ALIAS "Label.qml" -) -set_source_files_properties("../../shared/LauncherList.qml" - PROPERTIES QT_RESOURCE_ALIAS "LauncherList.qml" -) -set_source_files_properties("../../shared/SimpleLauncherDelegate.qml" - PROPERTIES QT_RESOURCE_ALIAS "SimpleLauncherDelegate.qml" -) -set_source_files_properties("../../shared/Slider.qml" - PROPERTIES QT_RESOURCE_ALIAS "Slider.qml" -) -set_source_files_properties("../../shared/TabSet.qml" - PROPERTIES QT_RESOURCE_ALIAS "TabSet.qml" -) -set_source_files_properties("../../shared/TextField.qml" - PROPERTIES QT_RESOURCE_ALIAS "TextField.qml" -) -set_source_files_properties("../../shared/images/back.png" - PROPERTIES QT_RESOURCE_ALIAS "images/back.png" -) -set_source_files_properties("../../shared/images/checkmark.png" - PROPERTIES QT_RESOURCE_ALIAS "images/checkmark.png" -) -set_source_files_properties("../../shared/images/next.png" - PROPERTIES QT_RESOURCE_ALIAS "images/next.png" -) -set_source_files_properties("../../shared/images/qt-logo.png" - PROPERTIES QT_RESOURCE_ALIAS "images/qt-logo.png" -) -set_source_files_properties("../../shared/images/slider_handle.png" - PROPERTIES QT_RESOURCE_ALIAS "images/slider_handle.png" -) -set_source_files_properties("../../shared/images/tab.png" - PROPERTIES QT_RESOURCE_ALIAS "images/tab.png" -) -set(shared_resource_files - "Button.qml" - "CheckBox.qml" - "FlickrRssModel.qml" - "Label.qml" - "LauncherList.qml" - "SimpleLauncherDelegate.qml" - "Slider.qml" - "TabSet.qml" - "TextField.qml" - "images/back.png" - "images/checkmark.png" - "images/next.png" - "images/qt-logo.png" - "images/slider_handle.png" - "images/tab.png" -) - -qt6_add_resources(itemparticle "shared" - PREFIX - "/shared" - BASE - "../../shared" - FILES - ${shared_resource_files} -) -set(qmake_immediate_resource_files - ${resource_glob_0} - ${resource_glob_1} -) - -qt6_add_resources(itemparticle "qmake_immediate" - PREFIX - "/" - FILES - ${qmake_immediate_resource_files} -) - -install(TARGETS itemparticle - RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" - BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" - LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" -) diff --git a/examples/quick/particles/itemparticle/content/Delegate.qml b/examples/quick/particles/itemparticle/content/Delegate.qml deleted file mode 100644 index 946b7b8748..0000000000 --- a/examples/quick/particles/itemparticle/content/Delegate.qml +++ /dev/null @@ -1,98 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples 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.0 - -//![0] -Package { - Text { id: listDelegate; width: 200; height: 25; text: 'Empty'; Package.name: 'list' } - Text { id: gridDelegate; width: 100; height: 50; text: 'Empty'; Package.name: 'grid' } - - Rectangle { - id: wrapper - width: 200; height: 25 - color: 'lightsteelblue' - - Text { text: display; anchors.centerIn: parent } - MouseArea { - anchors.fill: parent - onClicked: { - if (wrapper.state == 'inList') - wrapper.state = 'inGrid'; - else - wrapper.state = 'inList'; - } - } - - state: 'inList' - states: [ - State { - name: 'inList' - ParentChange { target: wrapper; parent: listDelegate } - }, - State { - name: 'inGrid' - ParentChange { - target: wrapper; parent: gridDelegate - x: 0; y: 0; width: gridDelegate.width; height: gridDelegate.height - } - } - ] - - transitions: [ - Transition { - ParentAnimation { - NumberAnimation { properties: 'x,y,width,height'; duration: 300 } - } - } - ] - } -} -//![0] diff --git a/examples/quick/particles/itemparticle/content/Delegate2.qml b/examples/quick/particles/itemparticle/content/Delegate2.qml deleted file mode 100644 index 03465609d9..0000000000 --- a/examples/quick/particles/itemparticle/content/Delegate2.qml +++ /dev/null @@ -1,89 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples 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.0 - -//![0] -Package { - Item { id: gridDelegate; width: w; height: h; Package.name: 'grid' } - Item { id: particleDelegate; width: w; height: h; Package.name: 'particles' - - Rectangle { - id: wrapper - width: w; height: h; - color: col - rotation: Math.random()*360 - Behavior on rotation {RotationAnimation {}} - - states: State { - name: "gridded" - when: root.inGrid - PropertyChanges { - target: wrapper - rotation: 0 - } - ParentChange { - target: wrapper - parent: gridDelegate - x:0 - y:0 - } - } - transitions: [ - Transition { - ParentAnimation { - NumberAnimation { properties: 'x,y,width,height'; duration: 300 } - } - } - ] - } - } -} -//![0] diff --git a/examples/quick/particles/itemparticle/content/ExpandingDelegate.qml b/examples/quick/particles/itemparticle/content/ExpandingDelegate.qml deleted file mode 100644 index 9ffbc7f350..0000000000 --- a/examples/quick/particles/itemparticle/content/ExpandingDelegate.qml +++ /dev/null @@ -1,215 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples 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.0 -import "../../../modelviews/listview/content" - -// This example illustrates expanding a list item to show a more detailed view. - - // Delegate for the recipes. This delegate has two modes: - // 1. List mode (default), which just shows the picture and title of the recipe. - // 2. Details mode, which also shows the ingredients and method. - Component { - id: recipeDelegate - - Item { - id: recipe - - // Create a property to contain the visibility of the details. - // We can bind multiple element's opacity to this one property, - // rather than having a "PropertyChanges" line for each element we - // want to fade. - property real detailsOpacity : 0 - - //this bit changed for aesthetics - width: 70 - height: 70 - // A simple rounded rectangle for the background - Rectangle { - id: background - x: 2; y: 2; width: parent.width - x*2; height: parent.height - y*2 - color: "ivory" - border.color: "orange" - radius: 5 - antialiasing: true - } - Image { - anchors.fill:parent - anchors.margins: -32 - source: "bubble.png" - } - - - // This mouse region covers the entire delegate. - // When clicked it changes mode to 'Details'. If we are already - // in Details mode, then no change will happen. - MouseArea { - anchors.fill: parent - onClicked: recipe.state = 'Details'; - } - - // Lay out the page: picture, title and ingredients at the top, and method at the - // bottom. Note that elements that should not be visible in the list - // mode have their opacity set to recipe.detailsOpacity. - Row { - id: topLayout - x: 10; y: 10; height: recipeImage.height; width: parent.width - spacing: 10 - - Image { - id: recipeImage - width: 50; height: 50 - source: "../../modelviews/listview/" + picture - } - - Column { - width: background.width - recipeImage.width - 20; height: recipeImage.height - spacing: 5 - - Text { - text: title - font.bold: true; font.pointSize: 16 - } - - Text { - text: "Ingredients" - font.pointSize: 12; font.bold: true - opacity: recipe.detailsOpacity - } - - Text { - text: ingredients - wrapMode: Text.WordWrap - width: parent.width - opacity: recipe.detailsOpacity - } - } - } - - Item { - id: details - x: 10; width: parent.width - 20 - anchors { top: topLayout.bottom; topMargin: 10; bottom: parent.bottom; bottomMargin: 10 } - opacity: recipe.detailsOpacity - - Text { - id: methodTitle - anchors.top: parent.top - text: "Method" - font.pointSize: 12; font.bold: true - } - - Flickable { - id: flick - width: parent.width - anchors { top: methodTitle.bottom; bottom: parent.bottom } - contentHeight: methodText.height - clip: true - - Text { id: methodText; text: method; wrapMode: Text.WordWrap; width: details.width } - } - - Image { - anchors { right: flick.right; top: flick.top } - source: "../../modelviews/listview/" + "content/pics/moreUp.png" - opacity: flick.atYBeginning ? 0 : 1 - } - - Image { - anchors { right: flick.right; bottom: flick.bottom } - source: "../../modelviews/listview/" + "content/pics/moreDown.png" - opacity: flick.atYEnd ? 0 : 1 - } - } - - // A button to close the detailed view, i.e. set the state back to default (''). - TextButton { - y: 10 - anchors { right: background.right; rightMargin: 10 } - opacity: recipe.detailsOpacity - text: "Close" - - onClicked: recipe.state = ''; - } - - states: State { - name: "Details" - - PropertyChanges { target: background; color: "white" } - PropertyChanges { target: recipeImage; width: 130; height: 130 } // Make picture bigger - PropertyChanges { target: recipe; detailsOpacity: 1; x: 0; opacity: 1 } // Make details visible - PropertyChanges { target: recipe; height: root.height; width: root.height; x:0; y:0; z:100} // Fill the entire list area with the detailed view - - // Move the list so that this item is at the top. - //PropertyChanges { target: recipe.ListView.view; explicit: true; contentY: recipe.y } - - // Disallow flicking while we're in detailed view - //PropertyChanges { target: recipe.ListView.view; interactive: false } - } - - transitions: Transition { - //The only strictly necessary particle specific lines - to: "Details" - reversible: true - ScriptAction {script: { - if(state == "Details") - mp.freeze(index); - else - mp.unfreeze(index); - } - } - // Make the state changes smooth - ParallelAnimation { - ColorAnimation { property: "color"; duration: 500 } - NumberAnimation { duration: 300; properties: "detailsOpacity,opacity,x,y,height,width" } - } - } - } - } diff --git a/examples/quick/particles/itemparticle/content/bubble.png b/examples/quick/particles/itemparticle/content/bubble.png Binary files differdeleted file mode 100644 index f26ed1d3f2..0000000000 --- a/examples/quick/particles/itemparticle/content/bubble.png +++ /dev/null diff --git a/examples/quick/particles/itemparticle/content/script.js b/examples/quick/particles/itemparticle/content/script.js deleted file mode 100644 index e8ef93a847..0000000000 --- a/examples/quick/particles/itemparticle/content/script.js +++ /dev/null @@ -1,27 +0,0 @@ -.pragma library - -function getWidth(string) { - return (string.match(/width=\"([0-9]+)\"/))[1] -} - -function getHeight(string) { - return (string.match(/height=\"([0-9]+)\"/))[1] -} - -function getImagePath(string) { - var pattern = /src=\"http:\/\/(\S+)\"/ - return (string.match(pattern))[1] -} - -function calculateScale(width, height, cellSize) { - var widthScale = (cellSize * 1.0) / width - var heightScale = (cellSize * 1.0) / height - var scale = 0 - - if (widthScale <= heightScale) { - scale = widthScale; - } else if (heightScale < widthScale) { - scale = heightScale; - } - return scale; -} diff --git a/examples/quick/particles/itemparticle/delegates.qml b/examples/quick/particles/itemparticle/delegates.qml deleted file mode 100644 index 0e9267214f..0000000000 --- a/examples/quick/particles/itemparticle/delegates.qml +++ /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 examples 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.0 -import QtQuick.Particles 2.0 - -Rectangle { - id: root; - width: 360 - height: 600 - color: "black" - - function newPithySaying() { - switch (Math.floor(Math.random()*16)) { - case 0: return "Hello World"; - case 1: return "G'day Mate"; - case 2: return "Code Less"; - case 3: return "Create More"; - case 4: return "Deploy Everywhere"; - case 5: return "Qt Meta-object Language"; - case 6: return "Qt Magic Language"; - case 7: return "Fluid UIs"; - case 8: return "Touchable"; - case 9: return "How's it going?"; - case 10: return "Do you like text?"; - case 11: return "Enjoy!"; - case 12: return "ERROR: Out of pith"; - case 13: return "Punctuation Failure"; - case 14: return "I can go faster"; - case 15: return "I can go slower"; - default: return "OMGWTFBBQ"; - } - } - - ParticleSystem { - anchors.fill: parent - id: syssy - MouseArea { - anchors.fill: parent - onClicked: syssy.running = !syssy.running - } - Emitter { - anchors.centerIn: parent - emitRate: 1 - lifeSpan: 4800 - lifeSpanVariation: 1600 - velocity: AngleDirection {angleVariation: 360; magnitude: 40; magnitudeVariation: 20} - } - ItemParticle { - delegate: Text { - text: root.newPithySaying(); - color: "white" - font.pixelSize: 18 - font.bold: true - } - } - } -} diff --git a/examples/quick/particles/itemparticle/itemparticle.pro b/examples/quick/particles/itemparticle/itemparticle.pro deleted file mode 100644 index f5c0576b4a..0000000000 --- a/examples/quick/particles/itemparticle/itemparticle.pro +++ /dev/null @@ -1,12 +0,0 @@ -TEMPLATE = app - -QT += quick qml -SOURCES += main.cpp -RESOURCES += \ - ../images.qrc \ - ../../shared/shared.qrc \ - $$files("content/*") \ - $$files("*qml") - -target.path = $$[QT_INSTALL_EXAMPLES]/quick/particles/itemparticle -INSTALLS += target diff --git a/examples/quick/particles/itemparticle/main.cpp b/examples/quick/particles/itemparticle/main.cpp deleted file mode 100644 index da21f15be3..0000000000 --- a/examples/quick/particles/itemparticle/main.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2018 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples 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 "../../shared/shared.h" -DECLARATIVE_EXAMPLE_MAIN(particleview) diff --git a/examples/quick/particles/itemparticle/particleview.qml b/examples/quick/particles/itemparticle/particleview.qml deleted file mode 100644 index 8eb18dc283..0000000000 --- a/examples/quick/particles/itemparticle/particleview.qml +++ /dev/null @@ -1,309 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2018 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples 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.12 -import QtQuick.Particles 2.12 -import "shared" as Shared -import "content/script.js" as Script -import "content" - -Item { - id: root - width: 640 - height: 480 - Rectangle { - anchors.fill: parent - color: "black" - z: -1 - } - Item { - id: loading - Behavior on opacity {NumberAnimation {}} - anchors.fill: parent - Text { - anchors.centerIn: parent - text: "Loading" - color: "white" - } - } - ParticleSystem { - id: sys; - running: true - } - Emitter { - id: emitter - system: sys - height: parent.height - 132/2 - x: -132/2 - y: 132/2 - velocity: PointDirection { x: 32; xVariation: 8 } - emitRate: 0.5 - lifeSpan: Emitter.InfiniteLife - group: "photos" - } - Age { - system: sys - x: parent.width + 132/2 - height: parent.height - width: 1000 - } - ImageParticle { - system: sys - groups: ["fireworks"] - source: "qrc:///particleresources/star.png" - color: "lightsteelblue" - alpha: 0 - colorVariation: 0 - z: 1000 - } - ItemParticle { - id: mp - z: 0 - system: sys - fade: false - groups: ["photos"] - } - Component { - id: alertDelegate - Rectangle { - color: "DarkSlateGray" - border.width: 1 - border.color: "LightSteelBlue" - width: 144 - height: 132 - antialiasing: true - radius: 3 - NumberAnimation on scale { - running: true - loops: 1 - from: 0.2 - to: 1 - } - Image { - source: "qrc:///particles/images/rocket.png" - anchors.centerIn: parent - } - Text { - anchors.bottom: parent.bottom - anchors.horizontalCenter: parent.horizontalCenter - text: "A new ship has arrived!" - color: "LightSteelBlue" - } - } - } - property Item alertItem; - function alert() { - force.enabled = true; - alertItem = alertDelegate.createObject(root); - alertItem.x = root.width/2 - alertItem.width/2 - alertItem.y = root.height/2 - alertItem.height/2 - spawnFireworks.pulse(200); - stopAlert.start(); - } - focus: true - Keys.onSpacePressed: alert(); - Timer { - id: stopAlert - running: false - repeat: false - interval: 800 - onTriggered: { - force.enabled = false; - mp.take(root.alertItem, true); - centerEmitter.burst(1); - } - } - Attractor { - id: force - system: sys - pointX: root.width/2 - pointY: root.height/2 - strength: -10000 - enabled: false - anchors.centerIn: parent - width: parent.width/2 - height: parent.height/2 - groups:["photos"] - affectedParameter: Attractor.Position - } - Emitter { - id: centerEmitter - velocity: PointDirection { x: 32; xVariation: 8;} - emitRate: 0.5 - lifeSpan: 12000 //TODO: A -1 or something which does 'infinite'? (but need disable fade first) - maximumEmitted: 20 - group: "photos" - system: sys - anchors.centerIn: parent - enabled: false - - //TODO: Zoom in effect - } - Emitter { - id: spawnFireworks - group: "fireworks" - system: sys - maximumEmitted: 400 - emitRate: 400 - lifeSpan: 2800 - x: parent.width/2 - y: parent.height/2 - 64 - width: 8 - height: 8 - enabled: false - size: 32 - endSize: 8 - velocity: AngleDirection { magnitude: 160; magnitudeVariation: 120; angleVariation: 90; angle: 270 } - acceleration: PointDirection { y: 160 } - } - Item { x: -1000; y: -1000 //offscreen - Repeater {//Load them here, add to system on completed - model: flickrModel - delegate: theDelegate - } - } - Shared.FlickrRssModel { - id: flickrModel - tags: "particle,particles" - } - Component { - id: theDelegate - Image { - required property int index - required property string title - required property string media - required property string thumbnail - - id: image - antialiasing: true; - source: thumbnail - cache: true - property real depth: Math.random() - property real darken: 0.75 - z: Math.floor(depth * 100) - scale: (depth + 1) / 2 - sourceSize { - width: root.width - height: root.height - } - width: 132 - height: 132 - fillMode: Image.PreserveAspectFit - Rectangle { - // Darken based on depth - anchors.centerIn: parent - width: parent.paintedWidth + 1 - height: parent.paintedHeight + 1 - color: "black" - opacity: image.darken * (1 - image.depth) - antialiasing: true; - } - Text { - anchors.bottom: parent.bottom - anchors.horizontalCenter: parent.horizontalCenter - anchors.bottomMargin: Math.max(parent.paintedWidth, parent.paintedHeight) - Math.min(parent.width, parent.height) - width: parent.paintedWidth - 4 - horizontalAlignment: Text.AlignHCenter - elide: Text.ElideRight - text: image.title - color: "black" - } - ItemParticle.onDetached: mp.take(image); // respawns - onStatusChanged: if (image.status == Image.Ready) { - loading.opacity = 0; - mp.take(image); - } - function manage() - { - if (state == "selected") { - console.log("Taking " + index); - mp.freeze(image); - } else { - console.log("Returning " +index); - mp.unfreeze(image); - } - } - TapHandler { - gesturePolicy: TapHandler.ReleaseWithinBounds - onTapped: image.state = (image.state == "" ? "selected" : "") - } - states: State { - name: "selected" - ParentChange { - target: image - parent: root - } - PropertyChanges { - target: image - source: image.media - x: 0 - y: 0 - width: root.width - height: root.height - z: 101 - opacity: 1 - rotation: 0 - darken: 0 - } - } - transitions: Transition { - to: "selected" - reversible: true - SequentialAnimation { - ScriptAction { script: image.manage() } - ParallelAnimation { - ParentAnimation {NumberAnimation { properties: "x,y" }} - PropertyAnimation { properties: "width, height, z, rotation, darken"; easing.type: Easing.InOutQuad } - } - } - } - } - } -} |