9f8a1387f73df6edee5dcdd89f74b9159bda436c
[profile/ivi/qtdeclarative.git] / examples / declarative / particles / exampleslauncher / exampleslauncher.qml
1 /****************************************************************************
2 **
3 ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
4 ** All rights reserved.
5 ** Contact: http://www.qt-project.org/
6 **
7 ** This file is part of the examples of the Qt Toolkit.
8 **
9 ** $QT_BEGIN_LICENSE:BSD$
10 ** You may use this file under the terms of the BSD license as follows:
11 **
12 ** "Redistribution and use in source and binary forms, with or without
13 ** modification, are permitted provided that the following conditions are
14 ** met:
15 **   * Redistributions of source code must retain the above copyright
16 **     notice, this list of conditions and the following disclaimer.
17 **   * Redistributions in binary form must reproduce the above copyright
18 **     notice, this list of conditions and the following disclaimer in
19 **     the documentation and/or other materials provided with the
20 **     distribution.
21 **   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
22 **     the names of its contributors may be used to endorse or promote
23 **     products derived from this software without specific prior written
24 **     permission.
25 **
26 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
27 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
28 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
29 ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
30 ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
31 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
32 ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
33 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
34 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36 ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
37 ** $QT_END_LICENSE$
38 **
39 ****************************************************************************/
40
41 import QtQuick 2.0
42 import QtQuick.Particles 2.0
43 import "content/launcher.js" as Util
44 import "content"
45
46 Rectangle {
47     color: "black"
48     width: 360
49     height: 600
50     Shell {
51         z: 1
52         id: shell
53         anchors.fill: parent
54     }
55
56     VisualDataModel {//TODO: Transitions between modes (and a second mode...)
57         id: vdm
58         model: [
59             "../../affectors/attractor.qml",
60             "../../affectors/customaffector.qml",
61             "../../affectors/groupgoal.qml",
62             "../../affectors/spritegoal.qml",
63             "../../affectors/turbulence.qml",
64             "../../affectors/wander.qml",
65             "../../customparticle/blurparticles.qml",
66             "../../customparticle/fragmentshader.qml",
67             "../../customparticle/imagecolors.qml",
68             "../../emitters/customemitter.qml",
69             "../../emitters/emitmask.qml",
70             "../../emitters/maximumemitted.qml",
71             "../../emitters/shapeanddirection.qml",
72             "../../emitters/timedgroupchanges.qml",
73             "../../emitters/trailemitter.qml",
74             "../../emitters/velocityfrommotion.qml",
75             "../../imageparticle/allatonce.qml",
76             "../../imageparticle/colortable.qml",
77             "../../imageparticle/deformation.qml",
78             "../../imageparticle/rotation.qml",
79             "../../imageparticle/sprites.qml",
80             "../../itemparticle/delegates.qml",
81             "../../itemparticle/particleview.qml",
82             "../../simple/dynamicemitters.qml",
83             "../../simple/multiplepainters.qml",
84             "../../simple/startstop.qml",
85             "../../plasmapatrol/plasmapatrol.qml"
86         ]
87         delegate: Rectangle {
88             color: "white"
89             width: 96
90             height: 96
91             Image {
92                 width: 72
93                 height: 72
94                 anchors.centerIn: parent
95                 source: Util.iconFromPath(modelData)
96             }
97             Text {
98                 text: Util.nameFromPath(modelData)
99                 anchors.bottom: parent.bottom
100                 anchors.horizontalCenter: parent.horizontalCenter
101                 font.pixelSize: 8
102             }
103             MouseArea {
104                 anchors.fill: parent
105                 onClicked: shell.setDemo(modelData)
106             }
107         }
108     }
109
110     GridView {
111         anchors.fill: parent
112         cellWidth: 120
113         cellHeight: 120
114         model: vdm
115     }
116 }