aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/timelineTestApp/test04.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/timelineTestApp/test04.qml')
-rw-r--r--tests/manual/timelineTestApp/test04.qml222
1 files changed, 222 insertions, 0 deletions
diff --git a/tests/manual/timelineTestApp/test04.qml b/tests/manual/timelineTestApp/test04.qml
new file mode 100644
index 0000000..be09f49
--- /dev/null
+++ b/tests/manual/timelineTestApp/test04.qml
@@ -0,0 +1,222 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd
+** All rights reserved.
+** For any questions to The Qt Company, please use contact form at http://www.qt.io/contact-us
+**
+** This file is part of the Qt Enterprise Qt Quick Timeline Add-on.
+**
+** Licensees holding valid Qt Enterprise licenses may use this file in
+** accordance with the Qt Enterprise License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company.
+**
+** If you have questions regarding the use of this file, please use
+** contact form at http://www.qt.io/contact-us
+**
+****************************************************************************/
+
+import QtQuick 2.0
+import QtQuick.Timeline 1.0
+
+Item {
+ id: item1
+ state: "pingpong"
+
+ Timeline {
+ id: timeline
+ enabled: true
+ startFrame: 0
+ endFrame: 1000
+ animations: [
+ TimelineAnimation {
+ id: pingPongAnimation
+ to: 200
+ loops: 2
+ from: 0
+ duration: 2000
+ running: false
+ pingPong: true
+ onFinished: item1.state = "firsthalf"
+ },
+
+ TimelineAnimation {
+ id: animation01
+ to: 200
+ loops: 1
+ from: 0
+ duration: 1000
+ running: false
+ onFinished: item1.state = "secondhalf (ping pong)"
+ },
+ TimelineAnimation {
+ id: animation02
+ to: 400
+ loops: 1
+ from: 200
+ duration: 1000
+ running: false
+ pingPong: true
+ onFinished: item1.state = "last"
+ },
+ TimelineAnimation {
+ id: animation03
+ to: 0
+ loops: 1
+ from: 200
+ duration: 500
+ running: false
+ onFinished: item1.state = "pingpong"
+ }
+ ]
+
+ KeyframeGroup {
+ target: rectangle
+ property: "width"
+ Keyframe {
+ frame: 1
+ value: 50
+ }
+ }
+
+ KeyframeGroup {
+ target: rectangle
+ property: "height"
+ Keyframe {
+ frame: 1
+ value: 50
+ }
+ }
+
+ KeyframeGroup {
+ target: rectangle
+ property: "x"
+ Keyframe {
+ frame: 100
+ value: 100
+ }
+
+ Keyframe {
+ frame: 200
+ value: 200
+ }
+
+ Keyframe {
+ frame: 300
+ value: 100
+ }
+
+ Keyframe {
+ frame: 400
+ value: 0
+ }
+ }
+
+ KeyframeGroup {
+ target: rectangle
+ property: "y"
+ Keyframe {
+ frame: 100
+ value: 400
+ }
+
+ Keyframe {
+ frame: 200
+ value: 430
+ }
+
+ Keyframe {
+ frame: 300
+ value: 335
+ }
+
+ Keyframe {
+ frame: 400
+ value: 430
+ }
+ }
+
+ KeyframeGroup {
+ target: rectangle
+ property: "color"
+
+ Keyframe {
+ frame: 400
+ value: "#f61b1b"
+ }
+ }
+ }
+
+ Rectangle {
+ id: rectangle
+ x: 0
+ y: 430
+ width: 50
+ height: 50
+ color: "#f61b1b"
+ MouseArea {
+ anchors.topMargin: 109
+ anchors.fill: parent
+ onClicked: {
+ print("clicked")
+ numberAnimation.start()
+ }
+ }
+ }
+
+ Rectangle {
+ id: rectangle1
+ x: 0
+ y: 0
+ width: 85
+ height: 85
+ color: "#22f4dd"
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ print("clicked")
+ numberAnimation.stop()
+ }
+ }
+ }
+
+ Text {
+ id: text1
+ x: 376
+ y: 18
+ text: item1.state
+ font.pixelSize: 12
+ }
+ states: [
+ State {
+ name: "pingpong"
+
+ PropertyChanges {
+ target: pingPongAnimation
+ running: true
+ }
+ },
+ State {
+ name: "firsthalf"
+ PropertyChanges {
+ target: animation01
+ running: true
+ }
+ },
+ State {
+ name: "secondhalf (ping pong)"
+ PropertyChanges {
+ target: animation02
+ running: true
+ }
+ },
+ State {
+ name: "last"
+ PropertyChanges {
+ target: animation03
+ running: true
+ }
+ }
+ ]
+
+}