From a3d4c97c5fb28599e007116fec679b16656df512 Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Tue, 27 Mar 2012 18:00:33 +1000 Subject: Reduce assumptions in examples -dynamic scene, don't set duration on running animation (doesn't work) -dynamic scene, just use set colors instead of system palette (in case platform doesn't support it right, like N900) -dynamic scene, calculator and shadereffects, don't rely on root item being automatically in scope (possibly confusing) Change-Id: I1eec018d5387424dc6b07bf51c1b2184b3048553 Reviewed-by: Yann Bodson --- examples/qml/dynamicscene/content/Button.qml | 7 ++---- examples/qml/dynamicscene/content/Sun.qml | 35 ++++++++++++---------------- examples/qml/dynamicscene/dynamicscene.qml | 19 +++++++-------- 3 files changed, 25 insertions(+), 36 deletions(-) (limited to 'examples/qml/dynamicscene') diff --git a/examples/qml/dynamicscene/content/Button.qml b/examples/qml/dynamicscene/content/Button.qml index 014692274a..ba7db501cc 100644 --- a/examples/qml/dynamicscene/content/Button.qml +++ b/examples/qml/dynamicscene/content/Button.qml @@ -54,16 +54,14 @@ Rectangle { gradient: Gradient { GradientStop { position: 0.0 - color: !mouseArea.pressed ? activePalette.light : activePalette.button + color: !mouseArea.pressed ? "#eeeeee" : "#888888" } GradientStop { position: 1.0 - color: !mouseArea.pressed ? activePalette.button : activePalette.dark + color: !mouseArea.pressed ? "#888888" : "#333333" } } - SystemPalette { id: activePalette } - MouseArea { id: mouseArea anchors.fill: parent @@ -75,6 +73,5 @@ Rectangle { anchors.centerIn:parent font.pointSize: 10 text: parent.text - color: activePalette.buttonText } } diff --git a/examples/qml/dynamicscene/content/Sun.qml b/examples/qml/dynamicscene/content/Sun.qml index b84516eecc..9a956c9855 100644 --- a/examples/qml/dynamicscene/content/Sun.qml +++ b/examples/qml/dynamicscene/content/Sun.qml @@ -47,32 +47,27 @@ Image { property string image: "images/sun.png" source: image - - // once item is created, start moving offscreen - NumberAnimation on y { - to: (window.height / 2) + window.centerOffset - running: created - onRunningChanged: { - if (running) - duration = (window.height + window.centerOffset - sun.y) * 10; - else - state = "OffScreen" - } - } - - states: State { - name: "OffScreen" - StateChangeScript { - script: { sun.created = false; sun.destroy() } - } - } - onCreatedChanged: { if (created) { sun.z = 1; // above the sky but below the ground layer window.activeSuns++; + // once item is created, start moving offscreen + dropYAnim.duration = (window.height + window.centerOffset - sun.y) * 16; + dropAnim.running = true; } else { window.activeSuns--; } } + + SequentialAnimation on y{ + id: dropAnim + running: false + NumberAnimation { + id: dropYAnim + to: (window.height / 2) + window.centerOffset + } + ScriptAction { + script: { sun.created = false; sun.destroy() } + } + } } diff --git a/examples/qml/dynamicscene/dynamicscene.qml b/examples/qml/dynamicscene/dynamicscene.qml index c64df5cfc0..66521b8caa 100644 --- a/examples/qml/dynamicscene/dynamicscene.qml +++ b/examples/qml/dynamicscene/dynamicscene.qml @@ -95,7 +95,7 @@ Item { // sky Rectangle { id: sky - anchors { left: parent.left; top: toolbox.bottom; right: parent.right; bottomMargin: -centerOffset; bottom: parent.verticalCenter } + anchors { left: parent.left; top: toolbox.bottom; right: parent.right; bottomMargin: -window.centerOffset; bottom: parent.verticalCenter } gradient: Gradient { GradientStop { id: gradientStopA; position: 0.0; color: "#0E1533" } GradientStop { id: gradientStopB; position: 1.0; color: "#437284" } @@ -127,21 +127,19 @@ Item { Rectangle { id: ground z: 2 // just above the sun so that the sun can set behind it - anchors { left: parent.left; top: parent.verticalCenter; topMargin: centerOffset; right: parent.right; bottom: parent.bottom } + anchors { left: parent.left; top: parent.verticalCenter; topMargin: window.centerOffset; right: parent.right; bottom: parent.bottom } gradient: Gradient { GradientStop { position: 0.0; color: "ForestGreen" } GradientStop { position: 1.0; color: "DarkGreen" } } } - SystemPalette { id: activePalette } - - // right-hand panel + // top panel Rectangle { id: toolbox - height: centerOffset * 2 - color: activePalette.window + height: window.centerOffset * 2 + color: "white" anchors { right: parent.right; top: parent.top; left: parent.left} Column { @@ -192,7 +190,7 @@ Item { } } - Text { text: "Active Suns: " + activeSuns } + Text { text: "Active Suns: " + window.activeSuns } } } @@ -202,7 +200,7 @@ Item { z: 1000 width: parent.width height: popupColumn.height + 16 - color: activePalette.window + color: "white" property bool poppedUp: false property int downY: window.height - (createButton.height + 16) @@ -213,7 +211,6 @@ Item { Column { id: popupColumn y: 8 - anchors.centerIn: parent spacing: 8 Row { @@ -250,7 +247,7 @@ Item { selectByMouse: true wrapMode: TextEdit.WordWrap - text: "import QtQuick 2.0\nImage {\n id: smile\n x: 360 * Math.random()\n y: 180 * Math.random() \n source: 'content/images/face-smile.png'\n NumberAnimation on opacity { \n to: 0; duration: 1500\n }\n Component.onCompleted: smile.destroy(1500);\n}" + text: "import QtQuick 2.0\nImage {\n id: smile\n x: 360 * Math.random()\n y: 40 * Math.random() \n source: 'content/images/face-smile.png'\n NumberAnimation on opacity { \n to: 0; duration: 1500\n }\n Component.onCompleted: smile.destroy(1500);\n}" } } } -- cgit v1.2.3