diff options
author | Chris Adams <christopher.adams@nokia.com> | 2012-07-17 12:19:31 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-19 10:02:40 +0200 |
commit | b523301a668e6c6cc5fc93440842ad063066f12b (patch) | |
tree | 236d84bdd510a7d64f6a5cc08699da2ecd0246be /src/quick/doc/src/concepts/convenience/topic.qdoc | |
parent | 9fe378497773dc2b8682b8c49375c7d913de5f8d (diff) |
Add documentation about property value modifiers
Previously, property value modifiers were only documented in QtQuick,
when really they are a QtQml module / QML language feature.
This commit also improves the QtQuick documentation for convenience
types, and rearranges some links and content for improved consistency.
Change-Id: Ic4dbe0b8bb85bdfbb8ac2f336c13c2960f8d1842
Reviewed-by: Bea Lam <bea.lam@nokia.com>
Diffstat (limited to 'src/quick/doc/src/concepts/convenience/topic.qdoc')
-rw-r--r-- | src/quick/doc/src/concepts/convenience/topic.qdoc | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/src/quick/doc/src/concepts/convenience/topic.qdoc b/src/quick/doc/src/concepts/convenience/topic.qdoc new file mode 100644 index 0000000000..ad70b9a990 --- /dev/null +++ b/src/quick/doc/src/concepts/convenience/topic.qdoc @@ -0,0 +1,87 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** GNU Free Documentation License +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms +** and conditions contained in a signed written agreement between you +** and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! +\page qtquick-convenience-topic.html +\title Important Concepts In Qt Quick - Convenience Types +\brief Overview of the convenience types for QML core features + +In a highly dynamic user interface, the application developer will often wish +to react to events and trigger various response logic. QML has built-in +support for these concepts through bindings, signals and signal handlers, and +dynamic object instantiation, but Qt Quick expands upon the support +provided by the language with various convenience types. + +\section1 Dynamic Object Instantiation + +QML provides a number of ways to dynamically create and manage QML objects. + +Objects can be created dynamically from within imperative JavaScript code +in various ways. See \l{qtqml-javascript-dynamicobjectcreation.html} +{Dynamic QML object creation from JavaScript} for more details. + +Qt Quick provides the \l{Loader}, \l{Repeater}, \l{ListView}, \l{GridView} and +\l{PathView} types which also support dynamic object management, and provide +a declarative API. + +Please see the \l{qtquick-performance.html}{performance guide} for more +information on using dynamic instantiation and lazy initialization to improve +application performance. + +\section1 Dynamic Bindings + +Assigning binding expressions to properties is a fundamental concept of QML, +and Qt Quick extends upon the idea with the \l Binding type. While bindings +are typically specified as property initialization assignments, the \l Binding +type allows the target of a binding to be defined explicitly and separately +from the definition of the binding expression itself. +By declaring a \l Binding instance, the client can dynamically bind properties +from arbitrary objects at run-time, and can modify the binding target when +required (or when it becomes available). + +\section1 Dynamic Signal Connections + +QML supports dynamic signal connections through a signal's \c{connect()} +method. The QtQuick module provides the convenience \l Connections type which +allows setting up a signal connection involving an object which isn't part of +the static object hierarchy. It also allows the connection to be dynamically +retargeted at runtime, which allows an application to process different signal +notifications with different functions depending on the program state. + +By declaring a \l Connections instance, the client can dynamically cause +signals emitted by one object to trigger methods of another object, and can +modify the connection target when required (or when it becomes available). + +\section1 Timer-Based Events + +Another common use-case is to trigger functionality some specified period of +time after a particular event occurs. These sort of timer-based triggers are +supported in Qt Quick through the \l Timer type. Both single-shot and +recurring timers are supported. + +*/ + |