summaryrefslogtreecommitdiffstats
path: root/doc/src/declarative/qmlstates.qdoc
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2009-10-22 05:49:24 (GMT)
committerMichael Brasser <michael.brasser@nokia.com>2009-10-22 05:52:34 (GMT)
commit31df163917b804a6f36fe053e69a15047256daf6 (patch)
tree7a336e083974ce79b93c385930f3d92ded561e45 /doc/src/declarative/qmlstates.qdoc
parent6c9ac788a60fcd2f946787a5297d7c2f71ad1968 (diff)
downloadQt-31df163917b804a6f36fe053e69a15047256daf6.zip
Qt-31df163917b804a6f36fe053e69a15047256daf6.tar.gz
Qt-31df163917b804a6f36fe053e69a15047256daf6.tar.bz2
Start updating state and animation docs.
Diffstat (limited to 'doc/src/declarative/qmlstates.qdoc')
-rw-r--r--doc/src/declarative/qmlstates.qdoc59
1 files changed, 59 insertions, 0 deletions
diff --git a/doc/src/declarative/qmlstates.qdoc b/doc/src/declarative/qmlstates.qdoc
new file mode 100644
index 0000000..955f7de
--- /dev/null
+++ b/doc/src/declarative/qmlstates.qdoc
@@ -0,0 +1,59 @@
+/*!
+\page qmlstates.html
+\target qmlstates
+\title QML States
+
+QML states describe user interface configurations, including:
+\list
+\o What UI elements are present
+\o The properties of those elements (including how they behave)
+\o What actions are available
+\endlist
+
+A state can also be thought of as a set of batched changes from a default configuration.
+
+Examples of states in modern UI:
+\list
+\o A Contacts application has a 'View Contact' state and an 'Edit Contact' State. In the first state the information presented is static (using labels), and in the second it is editable (using editors).
+\o A button has a pressed and unpressed state. When pressed the text moves down and to the right, and the button has a slightly darker appearance.
+\endlist
+
+In QML:
+\list
+\o Any object can use states.
+\o There is a default state. The default state can be explicitly set.
+\o A state can affect the properties of other objects, not just the object owning the state (and not just that object's children).
+\endlist
+
+The following example shows a simple use of states. In the default state \c myrect is positioned at 0,0. In the 'moved' state it is positioned at 50,50.
+
+\code
+Item {
+ Rectangle {
+ id: myrect
+ width: 100
+ height: 100
+ }
+ states: [
+ State {
+ name: "moved"
+ PropertyChanges {
+ target: myrect
+ x: 50
+ y: 50
+ }
+ }
+ ]
+}
+\endcode
+
+To animate state changes, you can use \l{state-transitions}{transitions}.
+
+Other things you can do in a state change:
+\list
+\o override signal handlers
+\o change an item's parent
+\o change an item's anchors
+\o run some script
+
+*/