1/**************************************************************************** 2** 3** Copyright (C) 2016 The Qt Company Ltd. 4** Contact: https://www.qt.io/licensing/ 5** 6** This file is part of the test suite of Qt for Python. 7** 8** $QT_BEGIN_LICENSE:GPL-EXCEPT$ 9** Commercial License Usage 10** Licensees holding valid commercial Qt licenses may use this file in 11** accordance with the commercial license agreement provided with the 12** Software or, alternatively, in accordance with the terms contained in 13** a written agreement between you and The Qt Company. For licensing terms 14** and conditions see https://www.qt.io/terms-conditions. For further 15** information use the contact form at https://www.qt.io/contact-us. 16** 17** GNU General Public License Usage 18** Alternatively, this file may be used under the terms of the GNU 19** General Public License version 3 as published by the Free Software 20** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT 21** included in the packaging of this file. Please review the following 22** information to ensure the GNU General Public License requirements will 23** be met: https://www.gnu.org/licenses/gpl-3.0.html. 24** 25** $QT_END_LICENSE$ 26** 27****************************************************************************/ 28import QtQuick 2.0 29 30 31Rectangle { 32 id: root 33 objectName: "theNicestRoot" 34 width: 400; height: 400 35 36 signal shouldInterrupt() 37 property int loadedItems: 0 38 property int itemsToCreate: 10 39 40 Row { 41 anchors.centerIn: parent 42 spacing: 20 43 44 Rectangle { 45 id: initialRectangle 46 width: 10; height: 10 47 color: "red" 48 } 49 50 Repeater { 51 model: itemsToCreate 52 Loader { 53 id: loader 54 asynchronous: true 55 source: "qqmlincubator_incubateWhile_component.qml" 56 onLoaded: { 57 root.loadedItems += 1 58 59 // Interrupt incubation after half of the items are loaded. 60 if (root.loadedItems >= (itemsToCreate / 2)) { 61 root.shouldInterrupt() 62 } 63 } 64 } 65 } 66 } 67} 68