aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2011-07-07 13:10:35 +1000
committerQt by Nokia <qt-info@nokia.com>2011-07-29 07:52:05 +0200
commit9bfdaadd36cdb5254d808688aa8485e5a592937d (patch)
treeec6adb346e205bff9998b6e0877c9e51870d4dc2
parentcebf68dd65d484e5da25ec6244f865b737778011 (diff)
Document state fast-forwarding.
Task-number: QTBUG-16049 Change-Id: Ib64cc8ec9396d426e623481a69f5a4a1b0fe5ec5 Reviewed-on: http://codereview.qt.nokia.com/2370 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Bea Lam <bea.lam@nokia.com>
-rw-r--r--doc/src/declarative/qdeclarativestates.qdoc22
1 files changed, 22 insertions, 0 deletions
diff --git a/doc/src/declarative/qdeclarativestates.qdoc b/doc/src/declarative/qdeclarativestates.qdoc
index 55f38c3596..9857894d2b 100644
--- a/doc/src/declarative/qdeclarativestates.qdoc
+++ b/doc/src/declarative/qdeclarativestates.qdoc
@@ -133,4 +133,26 @@ The \l {declarative/animation/states}{States and Transitions example}
demonstrates how to declare a basic set of states and apply animated
transitions between them.
+\l{Using QML Behaviors with States} explains a common problem when using Behaviors
+to animate state changes.
+
+\section1 State Fast Forwarding
+
+In order for Transition to correctly animate state changes, it is sometimes necessary
+for the engine to fast forward and rewind a state (that is, internally set and unset the state)
+before it is finally applied. The process is as follows:
+
+\list 1
+\o The state is fast forwarded to determine the complete set of end values.
+\o The state is rewound.
+\o The state is fully applied, with transitions.
+\endlist
+
+In some cases this may cause unintended behavior. For example, a state that changes
+a view's \i model or a Loader's \i sourceComponent will set these properties
+multiple times (to apply, rewind, and then reapply), which can be relatively expensive.
+
+State fast forwarding should be considered an implementation detail,
+and may change in later versions.
+
*/