diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-11-25 07:49:42 (GMT) |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-11-25 07:49:42 (GMT) |
commit | 4c7df87f77c1bfda4290f729dd2ed993eadb5362 (patch) | |
tree | aa9ca0d0114ffa9e7e65311a80b4f01d72c2d1eb /doc | |
parent | 75dc9f4475f93e149376c680cc23655b16774174 (diff) | |
parent | b74e226c09bc37043a06b24029e0e22e4f3cdd16 (diff) | |
download | Qt-4c7df87f77c1bfda4290f729dd2ed993eadb5362.zip Qt-4c7df87f77c1bfda4290f729dd2ed993eadb5362.tar.gz Qt-4c7df87f77c1bfda4290f729dd2ed993eadb5362.tar.bz2 |
Merge branch 'kinetic-declarativeui' of scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
Diffstat (limited to 'doc')
-rw-r--r-- | doc/src/declarative/advtutorial2.qdoc | 2 | ||||
-rw-r--r-- | doc/src/declarative/animation.qdoc | 2 | ||||
-rw-r--r-- | doc/src/declarative/ecmascriptblocks.qdoc | 4 | ||||
-rw-r--r-- | doc/src/declarative/example-slideswitch.qdoc | 5 | ||||
-rw-r--r-- | doc/src/declarative/extending.qdoc | 50 | ||||
-rw-r--r-- | doc/src/declarative/focus.qdoc | 6 | ||||
-rw-r--r-- | doc/src/declarative/globalobject.qdoc | 2 | ||||
-rw-r--r-- | doc/src/declarative/qmlintro.qdoc | 6 | ||||
-rw-r--r-- | doc/src/declarative/qmlstates.qdoc | 29 | ||||
-rw-r--r-- | doc/src/declarative/scope.qdoc | 2 |
10 files changed, 66 insertions, 42 deletions
diff --git a/doc/src/declarative/advtutorial2.qdoc b/doc/src/declarative/advtutorial2.qdoc index 40a760d..dcc7c70 100644 --- a/doc/src/declarative/advtutorial2.qdoc +++ b/doc/src/declarative/advtutorial2.qdoc @@ -93,7 +93,7 @@ To hook this code up to the \e{New Game} button, you alter it as below: \snippet declarative/tutorials/samegame/samegame2/samegame.qml 1 -We have just replaced the \c{onClicked: print("Implement me!")} with \c{onClicked: initBoard()}. +We have just replaced the \c{onClicked: console.log("Implement me!")} with \c{onClicked: initBoard()}. Note that in order to have the function available, you'll need to include the script in the main file, by adding a script element to it. 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/ecmascriptblocks.qdoc b/doc/src/declarative/ecmascriptblocks.qdoc index 815c68c..6ee5a8e 100644 --- a/doc/src/declarative/ecmascriptblocks.qdoc +++ b/doc/src/declarative/ecmascriptblocks.qdoc @@ -168,7 +168,7 @@ is illegal in QML. // Illegal modification of undeclared variable a = 1; for (var ii = 1; ii < 10; ++ii) a = a * ii; -print("Result: " + a); + console.log("Result: " + a); \endcode It can be trivially modified to this legal code. @@ -176,7 +176,7 @@ It can be trivially modified to this legal code. \code var a = 1; for (var ii = 1; ii < 10; ++ii) a = a * ii; -print("Result: " + a); + console.log("Result: " + a); \endcode Any attempt to modify the global object - either implicitly or explicitly - will diff --git a/doc/src/declarative/example-slideswitch.qdoc b/doc/src/declarative/example-slideswitch.qdoc index c942918..492a8ea 100644 --- a/doc/src/declarative/example-slideswitch.qdoc +++ b/doc/src/declarative/example-slideswitch.qdoc @@ -127,8 +127,11 @@ For more information on scripts see \l{qmlecmascript.html}{ECMAScript Blocks}. \snippet examples/declarative/slideswitch/content/Switch.qml 7 At this point, when the switch toggles between the two states the knob will instantly change its \c x position between 1 and 78. -In order for the the knob to move smoothly we add a transistion that will animate the \c x property with an easing curve for a duration of 200ms. +In order for the the knob to move smoothly we add a transition that will animate the \c x property with an easing curve for a duration of 200ms. 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..056b8ab 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 @@ -843,7 +845,7 @@ This example adds a new method that behaves like a child: \code Item { function say(text) { - print("You said " + text); + console.log("You said " + text); } } \endcode diff --git a/doc/src/declarative/focus.qdoc b/doc/src/declarative/focus.qdoc index 8061a7c..46bfc38 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: @@ -65,7 +67,7 @@ item and thus subsequently be \l {QEvent::ignore()}{ignored}. \code Item { Item { - Keys.onPressed: if (event.key == Qt.Key_A) { print('Key A was pressed'); event.accepted = true } + Keys.onPressed: if (event.key == Qt.Key_A) { console.log('Key A was pressed'); event.accepted = true } Rectangle {} } } @@ -305,7 +307,7 @@ Rectangle { Text { focus: true text: name - Keys.onReturnPressed: print(name) + Keys.onReturnPressed: console.log(name) } } } diff --git a/doc/src/declarative/globalobject.qdoc b/doc/src/declarative/globalobject.qdoc index e3c8b9a..3eadec2 100644 --- a/doc/src/declarative/globalobject.qdoc +++ b/doc/src/declarative/globalobject.qdoc @@ -182,7 +182,7 @@ such as ListView, \l Repeater and \l Loader. sprite = component.createObject(); if(sprite == 0){ // Error Handling - print(component.errorsString()); + console.log(component.errorsString()); }else{ sprite.parent = page; sprite.x = 200; diff --git a/doc/src/declarative/qmlintro.qdoc b/doc/src/declarative/qmlintro.qdoc index 78462db..76d915f 100644 --- a/doc/src/declarative/qmlintro.qdoc +++ b/doc/src/declarative/qmlintro.qdoc @@ -311,7 +311,7 @@ any visual Item, for example: \code Item { focus: true - Keys.onSelectPressed: print("Selected") + Keys.onSelectPressed: console.log("Selected") } \endcode @@ -323,7 +323,7 @@ and click: \code MouseRegion { - onPressed: print("mouse button pressed") + onPressed: console.log("mouse button pressed") } \endcode @@ -335,7 +335,7 @@ the MouseRegion onPressed signal handler has a \e mouse parameter: \code MouseRegion { acceptedButtons: Qt.LeftButton | Qt.RightButton - onPressed: if (mouse.button == Qt.RightButton) print("Right mouse button pressed") + onPressed: if (mouse.button == Qt.RightButton) console.log("Right mouse button pressed") } \endcode 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 |