summaryrefslogtreecommitdiffstats
path: root/doc/src
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2009-11-25 05:27:18 (GMT)
committerMartin Jones <martin.jones@nokia.com>2009-11-25 05:27:18 (GMT)
commit50ef19f6eca9d433deed3f3c7062901a5d2f292c (patch)
tree3ce670f8aacf2fee55da3d8b641da04a6739f775 /doc/src
parentad543e4edbe69c7111542e5c57f7470e9499cffc (diff)
parentd8010cfa362a3007d8e71791dea247910bf8d1f6 (diff)
downloadQt-50ef19f6eca9d433deed3f3c7062901a5d2f292c.zip
Qt-50ef19f6eca9d433deed3f3c7062901a5d2f292c.tar.gz
Qt-50ef19f6eca9d433deed3f3c7062901a5d2f292c.tar.bz2
Merge branch 'kinetic-declarativeui' of git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/declarative/animation.qdoc2
-rw-r--r--doc/src/declarative/example-slideswitch.qdoc3
-rw-r--r--doc/src/declarative/extending.qdoc48
-rw-r--r--doc/src/declarative/focus.qdoc2
-rw-r--r--doc/src/declarative/qmlstates.qdoc29
-rw-r--r--doc/src/declarative/scope.qdoc2
6 files changed, 55 insertions, 31 deletions
diff --git a/doc/src/declarative/animation.qdoc b/doc/src/declarative/animation.qdoc
index d05a444..bf5907d 100644
--- a/doc/src/declarative/animation.qdoc
+++ b/doc/src/declarative/animation.qdoc
@@ -49,6 +49,8 @@ real, int, color, rect, point, and size can all be animated.
QML supports three different forms of animation - basic property animation,
transitions, and property behaviors.
+\tableofcontents
+
\section1 Basic Property Animation
The simplest form of animation is directly using \l PropertyAnimation, which can animate all of the property
diff --git a/doc/src/declarative/example-slideswitch.qdoc b/doc/src/declarative/example-slideswitch.qdoc
index a8376eb..492a8ea 100644
--- a/doc/src/declarative/example-slideswitch.qdoc
+++ b/doc/src/declarative/example-slideswitch.qdoc
@@ -131,4 +131,7 @@ In order for the the knob to move smoothly we add a transition that will animate
For more information on transitions see \l{state-transitions}{QML Transitions}.
+\section1 Usage
+The switch can be used in a QML file, like this:
+\snippet examples/declarative/slideswitch/slideswitch.qml 0
*/
diff --git a/doc/src/declarative/extending.qdoc b/doc/src/declarative/extending.qdoc
index 7a9de60..0233aa7 100644
--- a/doc/src/declarative/extending.qdoc
+++ b/doc/src/declarative/extending.qdoc
@@ -531,7 +531,7 @@ in the bind engine for allowing an object to access the binding directly.
If a binding is assigned to a property with a type of QmlBinding
pointer (ie. \c {QmlBinding *}), each time the binding value changes,
-a QmlBinding instance is assigned to that property. The QmlBinding instance
+a QmlBinding instance is assigned to that property. The QmlBinding instance
allows the object to read the binding and to evaluate the binding's current value.
\section1 Extension Objects
@@ -548,16 +548,16 @@ directly, if this is either not possible or is complicated by some other
concerns, extension objects allow limited extension possibilities without
direct modifications.
-Extension objects are used to add additional properties to an existing type.
-Extension objects can only add properties, not signals or methods. An extended
-type definition allows the programmer to supply an additional type - known as the
-extension type - when registering the target class whose properties are
+Extension objects are used to add additional properties to an existing type.
+Extension objects can only add properties, not signals or methods. An extended
+type definition allows the programmer to supply an additional type - known as the
+extension type - when registering the target class whose properties are
transparently merged with the original target class when used from within QML.
-An extension class is a regular QObject, with a constructor that takes a QObject
-pointer. When needed (extension classes are delay created until the first extended
-property is accessed) the extension class is created and the target object is
-passed in as the parent. When an extended property on the original is accessed,
+An extension class is a regular QObject, with a constructor that takes a QObject
+pointer. When needed (extension classes are delay created until the first extended
+property is accessed) the extension class is created and the target object is
+passed in as the parent. When an extended property on the original is accessed,
the appropriate property on the extension object is used instead.
When an extended type is installed, one of the
@@ -565,22 +565,22 @@ When an extended type is installed, one of the
#define QML_DEFINE_EXTENDED_TYPE(URI, VMAJ, VFROM, VTO, QmlName,T, ExtendedT)
#define QML_DEFINE_EXTENDED_NOCREATE_TYPE(T, ExtendedT)
\endcode
-macros should be used instead of the regular \c QML_DEFINE_TYPE or
-\c QML_DEFINE_NOCREATE_TYPE. The arguments are identical to the corresponding
-non-extension object macro, except for the ExtendedT parameter which is the type
+macros should be used instead of the regular \c QML_DEFINE_TYPE or
+\c QML_DEFINE_NOCREATE_TYPE. The arguments are identical to the corresponding
+non-extension object macro, except for the ExtendedT parameter which is the type
of the extension object.
\section1 Optimization
-Often to develop high performance elements it is helpful to know more about the
-status of the QML engine. For example, it might be beneficial to delay
-initializing some costly data structures until after all the properties have been
+Often to develop high performance elements it is helpful to know more about the
+status of the QML engine. For example, it might be beneficial to delay
+initializing some costly data structures until after all the properties have been
set.
The QML engine defines an interface class called QmlParserStatus, which contains a
-number of virtual methods that are invoked at various stages during component
-instantiation. To receive these notifications, an element implementation inherits
-QmlParserStatus and notifies the Qt meta system using the Q_INTERFACES() macro.
+number of virtual methods that are invoked at various stages during component
+instantiation. To receive these notifications, an element implementation inherits
+QmlParserStatus and notifies the Qt meta system using the Q_INTERFACES() macro.
For example,
@@ -636,7 +636,7 @@ declaring a new property, and the corresponding C++ type.
\row \o variant \o QVariant
\endtable
-QML supports two methods for adding a new property to a type - a new property
+QML supports two methods for adding a new property to a type: a new property
definition, and a property alias.
\section2 Property definitions
@@ -691,6 +691,7 @@ controls the color of the inner rectangle.
}
\endcode
+\target qml-property-aliases
\section2 Property aliases
Property aliases are a more advanced form of property declaration. Unlike a
@@ -714,11 +715,12 @@ binding, the alias reference syntax is highly restricted.
An alias reference takes one of the following forms
\code
- <Id>.<property>
- <Id>
+ <id>.<property>
+ <id>
\endcode
-where <Id> must refer to an object id within the same component as the type
-declaring the alias, and, optionally, <property> refers to a property on that object.
+
+where <id> must refer to an object id within the same component as the type
+declaring the alias, and, optionally, <property> refers to a property on that object.
Here is the property definition example rewritten to use property aliases.
\code
diff --git a/doc/src/declarative/focus.qdoc b/doc/src/declarative/focus.qdoc
index 8061a7c..924f590 100644
--- a/doc/src/declarative/focus.qdoc
+++ b/doc/src/declarative/focus.qdoc
@@ -49,6 +49,8 @@ focused QML \l Item. To facilitate the construction of reusable components
and to address some of the cases unique to fluid user interfaces, the QML items add a
\e scope based extension to Qt's traditional keyboard focus model.
+\tableofcontents
+
\section1 Key Handling Overview
When the user presses or releases a key, the following occurs:
diff --git a/doc/src/declarative/qmlstates.qdoc b/doc/src/declarative/qmlstates.qdoc
index ddb0fc8..245a57f 100644
--- a/doc/src/declarative/qmlstates.qdoc
+++ b/doc/src/declarative/qmlstates.qdoc
@@ -3,6 +3,8 @@
\target qmlstates
\title QML States
+\section1 Overview
+
QML states typically describe user interface configurations, including:
\list
\o What UI elements are present
@@ -14,10 +16,12 @@ A state can also be thought of as a set of batched changes from a default config
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.
+\o An Address Book application with a 'View Contact' state and an 'Edit Contact' State. In the first state the contact information presented is read-only (using labels), and in the second it is editable (using editors).
+\o A button with a pressed and unpressed state. When pressed the text moves slightly down and to the right, and the button has a slightly darker appearance.
\endlist
+\section1 States in QML
+
In QML:
\list
\o Any object can use states.
@@ -25,29 +29,38 @@ In QML:
\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.
+Here is an example of using states. In the default state \c myRect is positioned at 0,0. In the 'moved' state it is positioned at 50,50. Clicking within the mouse region changes the state from the default state to the 'moved' state.
-\code
+\qml
Item {
+ id: myItem
+
Rectangle {
- id: myrect
+ id: myRect
width: 100
height: 100
+ color: "red"
}
+
states: [
State {
name: "moved"
PropertyChanges {
- target: myrect
+ target: myRect
x: 50
y: 50
}
}
]
+
+ MouseRegion {
+ anchors.fill: parent
+ onClicked: myItem.state = 'moved'
+ }
}
-\endcode
+\endqml
-To animate state changes, you can use \l{state-transitions}{transitions}.
+State changes can be animated using \l{state-transitions}{transitions}.
Other things you can do in a state change:
\list
diff --git a/doc/src/declarative/scope.qdoc b/doc/src/declarative/scope.qdoc
index f7f25f5..ef30f94 100644
--- a/doc/src/declarative/scope.qdoc
+++ b/doc/src/declarative/scope.qdoc
@@ -43,6 +43,8 @@
\page qmlscope.html
\title QML Scope
+\tableofcontents
+
\l {Property Binding}s and \l {ECMAScript Blocks} are executed in a scope chain automatically
established by QML when a component instance is constructed. QML is a \e {dynamically scoped}
language. Different object instances instantiated from the same component can exist in