summaryrefslogtreecommitdiffstats
path: root/examples/declarative/velocity/Day.qml
diff options
context:
space:
mode:
Diffstat (limited to 'examples/declarative/velocity/Day.qml')
-rw-r--r--examples/declarative/velocity/Day.qml78
1 files changed, 78 insertions, 0 deletions
diff --git a/examples/declarative/velocity/Day.qml b/examples/declarative/velocity/Day.qml
new file mode 100644
index 0000000..3a7ffa9
--- /dev/null
+++ b/examples/declarative/velocity/Day.qml
@@ -0,0 +1,78 @@
+import Qt 4.6
+
+Rectangle {
+ property alias day: dayText.text
+ property var stickies
+
+ id: page
+ width: 400; height: 500; radius: 7
+ border.color: "black"
+
+ Image { x: 10; y: 10; source: "cork.jpg" }
+
+ Text {
+ id: dayText; x: 20; y: 20
+ height: 40; width: 370
+ font.pointSize: 14; font.bold: true
+ style: Text.Outline; styleColor: "#dedede"
+ }
+
+ Repeater {
+ model: page.stickies
+
+ Item {
+ id: stickyPage
+ x: Math.random() * 200 + 100
+ y: Math.random() * 300 + 50
+ rotation: SpringFollow {
+ source: -flickable.horizontalVelocity / 100
+ spring: 2.0; damping: 0.1
+ }
+
+ Item {
+ id: sticky
+ scale: 0.5
+ Image {
+ id: stickyImage; source: "sticky.png"
+ smooth: true; y: -20; x: 8 + -width * 0.6 / 2; scale: 0.6
+ }
+
+ TextEdit {
+ id: myText; smooth: true; font.pointSize: 28
+ readOnly: false; x: -104; y: 36; wrap: true
+ rotation: -8; text: noteText; width: 195; height: 172
+ }
+
+ Item {
+ y: -20
+ x: stickyImage.x
+ width: stickyImage.width * stickyImage.scale
+ height: stickyImage.height * stickyImage.scale
+ MouseRegion {
+ id: mouse
+ onClicked: { myText.focus = true }
+ anchors.fill: parent
+ drag.target: stickyPage; drag.axis: "XandYAxis"; drag.minimumY: 0; drag.maximumY: 500
+ drag.minimumX: 0; drag.maximumX: 400
+ }
+ }
+ }
+
+ Image {
+ source: "tack.png"
+ x: -width / 2; y: -height * 0.7 / 2; scale: 0.7
+ }
+
+ states: State {
+ name: "pressed"
+ when: mouse.pressed
+ PropertyChanges { target: sticky; rotation: 8; scale: 1 }
+ PropertyChanges { target: page; z: 8 }
+ }
+
+ transitions: Transition {
+ NumberAnimation { matchProperties: "rotation,scale"; duration: 200 }
+ }
+ }
+ }
+}