tests/auto/declarative/qmlvisual/qdeclarativespringfollow/follow.qml
changeset 33 3e2da88830cd
parent 30 5dc02b23752f
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/follow.qml	Tue Jul 06 15:10:48 2010 +0300
+++ b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/follow.qml	Wed Aug 18 10:37:55 2010 +0300
@@ -3,6 +3,7 @@
 Rectangle {
     color: "#ffffff"
     width: 320; height: 240
+
     Rectangle {
         id: rect
         color: "#00ff00"
@@ -25,22 +26,22 @@
     Rectangle {
         color: "#ff0000"
         x: rect.width; width: rect.width; height: 20
-        y: 200
-        SpringFollow on y { to: rect.y; velocity: 200 }
+        y: rect.y
+        Behavior on y { SpringAnimation { velocity: 200 } }
     }
 
     // Spring
     Rectangle {
         color: "#ff0000"
         x: rect.width * 2; width: rect.width/2; height: 20
-        y: 200
-        SpringFollow on y { to: rect.y; spring: 1.0; damping: 0.2 }
+        y: rect.y
+        Behavior on y { SpringAnimation { spring: 1.0; damping: 0.2 } }
     }
     Rectangle {
         color: "#880000"
         x: rect.width * 2.5; width: rect.width/2; height: 20
-        y: 200
-        SpringFollow on y { to: rect.y; spring: 1.0; damping: 0.2; mass: 3.0 } // "heavier" object
+        y: rect.y
+        Behavior on y { SpringAnimation { spring: 1.0; damping: 0.2; mass: 3.0 } } // "heavier" object
     }
 
     // Follow mouse
@@ -49,15 +50,22 @@
         anchors.fill: parent
         Rectangle {
             id: ball
+            property int targetX: mouseRegion.mouseX - 10
+            property int targetY: mouseRegion.mouseY - 10
+
+            x: targetX
+            y: targetY
             width: 20; height: 20
             radius: 10
             color: "#0000ff"
-            SpringFollow on x { id: f1; to: mouseRegion.mouseX-10; spring: 1.0; damping: 0.05; epsilon: 0.25 }
-            SpringFollow on y { id: f2; to: mouseRegion.mouseY-10; spring: 1.0; damping: 0.05; epsilon: 0.25 }
+
+            Behavior on x { SpringAnimation { spring: 1.0; damping: 0.05; epsilon: 0.25 } }
+            Behavior on y { SpringAnimation { spring: 1.0; damping: 0.05; epsilon: 0.25 } }
+
             states: [
                 State {
                     name: "following"
-                    when: !f1.inSync || !f2.inSync
+                    when: ball.x != ball.targetX || ball.y != ball.targetY
                     PropertyChanges { target: ball; color: "#ff0000" }
                 }
             ]