Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Add Particles basic acceptance manual tests.
Change-Id: I9be3f3257d74e6a3535f8137083e5dad31965c87 Reviewed-on: http://codereview.qt-project.org/5906 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
- Loading branch information
Damian Jansen
authored and
Qt by Nokia
committed
Oct 6, 2011
1 parent
4e06807
commit fac7ee6
Showing
12 changed files
with
992 additions
and
347 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
184 changes: 184 additions & 0 deletions
184
tests/testapplications/elements/content/AffectorElement.qml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,184 @@ | ||
/**************************************************************************** | ||
** | ||
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). | ||
** All rights reserved. | ||
** Contact: Nokia Corporation (qt-info@nokia.com) | ||
** | ||
** This file is part of the test suite of the Qt Toolkit. | ||
** | ||
** $QT_BEGIN_LICENSE:LGPL$ | ||
** GNU Lesser General Public License Usage | ||
** This file may be used under the terms of the GNU Lesser General Public | ||
** License version 2.1 as published by the Free Software Foundation and | ||
** appearing in the file LICENSE.LGPL included in the packaging of this | ||
** file. Please review the following information to ensure the GNU Lesser | ||
** General Public License version 2.1 requirements will be met: | ||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
** | ||
** In addition, as a special exception, Nokia gives you certain additional | ||
** rights. These rights are described in the Nokia Qt LGPL Exception | ||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
** | ||
** GNU General Public License Usage | ||
** Alternatively, this file may be used under the terms of the GNU General | ||
** Public License version 3.0 as published by the Free Software Foundation | ||
** and appearing in the file LICENSE.GPL included in the packaging of this | ||
** file. Please review the following information to ensure the GNU General | ||
** Public License version 3.0 requirements will be met: | ||
** http://www.gnu.org/copyleft/gpl.html. | ||
** | ||
** Other Usage | ||
** Alternatively, this file may be used in accordance with the terms and | ||
** conditions contained in a signed written agreement between you and Nokia. | ||
** | ||
** | ||
** | ||
** | ||
** | ||
** $QT_END_LICENSE$ | ||
** | ||
****************************************************************************/ | ||
|
||
import QtQuick 2.0 | ||
import QtQuick.Particles 2.0 | ||
|
||
Item { | ||
id: affectorelementtest | ||
anchors.fill: parent | ||
property string testtext: "" | ||
|
||
ParticleSystem { | ||
id: particlesystem | ||
anchors.fill: parent | ||
|
||
ImageParticle { | ||
id: imageparticle | ||
source: "pics/star.png" | ||
color: "blue" | ||
entryEffect: ImageParticle.None | ||
anchors.fill: parent | ||
} | ||
|
||
// Pipe | ||
Rectangle { | ||
id: pipe | ||
x: 0; y: 300 | ||
border.color: "black" | ||
gradient: Gradient { | ||
GradientStop { position: 0.0; color: "lightgray" } | ||
GradientStop { position: 1.0; color: "gray" } | ||
} | ||
height: 40; width: 40 | ||
} | ||
Rectangle { | ||
id: pipehead | ||
anchors.left: pipe.right | ||
anchors.verticalCenter: pipe.verticalCenter | ||
border.color: "black" | ||
gradient: Gradient { | ||
GradientStop { position: 0.0; color: "lightgray" } | ||
GradientStop { position: 1.0; color: "gray" } | ||
} | ||
height: 50; width: 10 | ||
} | ||
|
||
Emitter { | ||
id: emitterelement | ||
anchors.left: pipe.left | ||
anchors.leftMargin: 10 | ||
anchors.bottom: pipe.bottom | ||
anchors.bottomMargin: 8 | ||
height: 5 | ||
emitRate: 100 | ||
lifeSpan: 10000 | ||
speed: AngleDirection { angle: 0; magnitude: 30 } | ||
} | ||
|
||
// Affectors | ||
Gravity { | ||
id: gravity | ||
x: pipe.width; y: pipe.y-100 | ||
enabled: false | ||
height: 200 | ||
width: parent.width - pipe.width | ||
angle: 90 | ||
acceleration: 30 | ||
} | ||
Wander { | ||
id: wander | ||
enabled: false | ||
anchors.verticalCenter: pipe.verticalCenter | ||
anchors.left: pipe.right | ||
height: pipe.height | ||
width: 5 | ||
xVariance: 50 | ||
yVariance: 100 | ||
pace: 200 | ||
} | ||
Turbulence { | ||
id: turbulence | ||
enabled: false | ||
strength: 40 | ||
anchors.bottom: parent.bottom | ||
anchors.bottomMargin: 100 | ||
width: parent.width; height: 100 | ||
} | ||
Friction { | ||
id: friction | ||
anchors.bottom: parent.bottom; width: parent.width; height: 100 | ||
enabled: false | ||
factor: 2 | ||
} | ||
Age { | ||
id: age | ||
anchors.bottom: parent.bottom; width: 360; height: 5 | ||
} | ||
|
||
} | ||
|
||
SystemTestHelp { id: helpbubble; visible: statenum != 0 | ||
anchors { top: parent.top; horizontalCenter: parent.horizontalCenter; topMargin: 50 } | ||
} | ||
BugPanel { id: bugpanel } | ||
|
||
states: [ | ||
State { name: "start"; when: statenum == 1 | ||
PropertyChanges { target: affectorelementtest | ||
testtext: "This is a group of currently disabled Affector elements. "+ | ||
"A blue stream of particles should be flowing from a block to the left.\n"+ | ||
"Next, let's add some variance in direction when the particles leave the block." } | ||
}, | ||
State { name: "spread"; when: statenum == 2 | ||
PropertyChanges { target: wander; enabled: true } | ||
PropertyChanges { target: affectorelementtest | ||
testtext: "The particles should be spreading out as they progress.\n"+ | ||
"Next, let's introduce gravity." } | ||
}, | ||
State { name: "gravity"; when: statenum == 3 | ||
PropertyChanges { target: wander; enabled: true } | ||
PropertyChanges { target: gravity; enabled: true } | ||
PropertyChanges { target: affectorelementtest | ||
testtext: "The particles should now be dropping.\n"+ | ||
"Also, no particles should be visible below the bounds of the application, "+ | ||
"i.e. the white panel.\n"+ | ||
"Next, let's introduce some friction at the bottom of the display." } | ||
}, | ||
State { name: "friction"; when: statenum == 4 | ||
PropertyChanges { target: wander; enabled: true } | ||
PropertyChanges { target: gravity; enabled: true } | ||
PropertyChanges { target: friction; enabled: true } | ||
PropertyChanges { target: affectorelementtest | ||
testtext: "The particles should now be decelerating suddenly at the bottom.\n"+ | ||
"Next, let's add some turbulence to the flow." } | ||
}, | ||
State { name: "turbulence"; when: statenum == 5 | ||
PropertyChanges { target: wander; enabled: true } | ||
PropertyChanges { target: gravity; enabled: true } | ||
PropertyChanges { target: friction; enabled: true } | ||
PropertyChanges { target: turbulence; enabled: true } | ||
PropertyChanges { target: affectorelementtest | ||
testtext: "The particles should now be turbulent.\n"+ | ||
"Advance to restart the test." } | ||
} | ||
] | ||
} |
127 changes: 127 additions & 0 deletions
127
tests/testapplications/elements/content/DirectionElement.qml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
/**************************************************************************** | ||
** | ||
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). | ||
** All rights reserved. | ||
** Contact: Nokia Corporation (qt-info@nokia.com) | ||
** | ||
** This file is part of the test suite of the Qt Toolkit. | ||
** | ||
** $QT_BEGIN_LICENSE:LGPL$ | ||
** GNU Lesser General Public License Usage | ||
** This file may be used under the terms of the GNU Lesser General Public | ||
** License version 2.1 as published by the Free Software Foundation and | ||
** appearing in the file LICENSE.LGPL included in the packaging of this | ||
** file. Please review the following information to ensure the GNU Lesser | ||
** General Public License version 2.1 requirements will be met: | ||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
** | ||
** In addition, as a special exception, Nokia gives you certain additional | ||
** rights. These rights are described in the Nokia Qt LGPL Exception | ||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
** | ||
** GNU General Public License Usage | ||
** Alternatively, this file may be used under the terms of the GNU General | ||
** Public License version 3.0 as published by the Free Software Foundation | ||
** and appearing in the file LICENSE.GPL included in the packaging of this | ||
** file. Please review the following information to ensure the GNU General | ||
** Public License version 3.0 requirements will be met: | ||
** http://www.gnu.org/copyleft/gpl.html. | ||
** | ||
** Other Usage | ||
** Alternatively, this file may be used in accordance with the terms and | ||
** conditions contained in a signed written agreement between you and Nokia. | ||
** | ||
** | ||
** | ||
** | ||
** | ||
** $QT_END_LICENSE$ | ||
** | ||
****************************************************************************/ | ||
|
||
import QtQuick 2.0 | ||
import QtQuick.Particles 2.0 | ||
|
||
Item { | ||
id: directionelementtest | ||
anchors.fill: parent | ||
property string testtext: "" | ||
|
||
ParticleSystem { | ||
id: particlesystem | ||
anchors.fill: parent | ||
Item { | ||
id: targetbox | ||
x: 50 | ||
y: 300 | ||
Rectangle { | ||
id: targeticon | ||
color: "brown" | ||
height: 0; width: 0; radius: 20 | ||
anchors.centerIn: parent | ||
Behavior on height { NumberAnimation { duration: 500; easing.type: Easing.OutBounce } } | ||
Behavior on width { NumberAnimation { duration: 500; easing.type: Easing.OutBounce } } | ||
} | ||
} | ||
ImageParticle { | ||
id: imgparticle | ||
source: "pics/star.png" | ||
color: "red" | ||
entryEffect: ImageParticle.None | ||
} | ||
Emitter { | ||
id: emitter | ||
anchors.bottom: parent.bottom | ||
anchors.bottomMargin: 5 | ||
anchors.horizontalCenter: parent.horizontalCenter | ||
emitRate: 50 | ||
lifeSpan: 4000 | ||
size: 20 | ||
speed: angledirectionelement | ||
AngleDirection { id: angledirectionelement; angle: -75; angleVariation: 5; magnitude: 150 } | ||
TargetDirection { id: targetdirectionelement; targetItem: targetbox; targetVariation: 10; magnitude: 150 } | ||
PointDirection { id: pointdirectionelement; y: -100; xVariation: 10; yVariation: 10; } | ||
PointDirection { id: pointdirectionelementdownward; y: 200 } | ||
CumulativeDirection { | ||
id: cumulativedirectionelement | ||
PointDirection { y: -200 } | ||
AngleDirection { angle: 270; angleVariation: 45; magnitude: 100; magnitudeVariation: 10; } | ||
} | ||
} | ||
} | ||
|
||
SystemTestHelp { id: helpbubble; visible: statenum != 0 | ||
anchors { top: parent.top; horizontalCenter: parent.horizontalCenter; topMargin: 50 } | ||
} | ||
BugPanel { id: bugpanel } | ||
|
||
states: [ | ||
State { name: "start"; when: statenum == 1 | ||
PropertyChanges { target: directionelementtest | ||
testtext: "This is an Emitter with the direction set by an AngleDirection.\n"+ | ||
"The particles should be firing at a -75 degree (to the top right) .\n"+ | ||
"Next, let's change the Emitter to target an item." } | ||
}, | ||
State { name: "ontarget"; when: statenum == 2 | ||
PropertyChanges { target: emitter; speed: targetdirectionelement } | ||
PropertyChanges { target: targeticon; height: 50; width: 50 } | ||
PropertyChanges { target: directionelementtest | ||
testtext: "The particles should be directed at the rectangle.\n"+ | ||
"Next, let's set an arbritary point to direct the particles to." } | ||
}, | ||
State { name: "onpoint"; when: statenum == 3 | ||
PropertyChanges { target: emitter; speed: pointdirectionelement } | ||
PropertyChanges { target: directionelementtest | ||
testtext: "The particles should be directed upwards with a small amount of spread.\n"+ | ||
"Next, let's create a fountain with CumulativeDirection and a downward PointDirection" } | ||
}, | ||
State { name: "cumulative"; when: statenum == 4 | ||
PropertyChanges { target: emitter; emitRate: 200; speed: cumulativedirectionelement | ||
acceleration: pointdirectionelementdownward } | ||
PropertyChanges { target: imgparticle; color: "aqua"; colorVariation: .2 } | ||
PropertyChanges { target: directionelementtest | ||
testtext: "The particles should be flowing upwards and falling in a fountain effect.\n"+ | ||
"Advance to restart the test." } | ||
} | ||
] | ||
} |
Oops, something went wrong.