aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/doc/src/cppclasses/topic.qdoc
diff options
context:
space:
mode:
authorChris Adams <christopher.adams@nokia.com>2012-07-20 13:27:11 +1000
committerQt by Nokia <qt-info@nokia.com>2012-07-24 07:53:05 +0200
commit5743516cfa40d53d716a7033734bde906bb3984c (patch)
tree8f7b569cb78ccbe08def51f1b922f41ff9f9c44a /src/qml/doc/src/cppclasses/topic.qdoc
parent919b60b4fcc72fdcd5dc0e80e642f922da17cd96 (diff)
Correctly link the QML module C++ class documentation
Previously, the links for in-depth documentation for the various C++ classes led to non-existent pages instead of the correct class documentation. This commit fixes the links to point to the generated class documentation for each class. Also, fix some broken links in the application developer guide essentials section. Change-Id: I2fa9e0c19f645dec696d80387c436c2288b067bf Reviewed-by: Bea Lam <bea.lam@nokia.com>
Diffstat (limited to 'src/qml/doc/src/cppclasses/topic.qdoc')
-rw-r--r--src/qml/doc/src/cppclasses/topic.qdoc88
1 files changed, 57 insertions, 31 deletions
diff --git a/src/qml/doc/src/cppclasses/topic.qdoc b/src/qml/doc/src/cppclasses/topic.qdoc
index b552a9c50a..04036d6db3 100644
--- a/src/qml/doc/src/cppclasses/topic.qdoc
+++ b/src/qml/doc/src/cppclasses/topic.qdoc
@@ -26,35 +26,52 @@
****************************************************************************/
/*!
\page qtqml-cppclasses-topic.html
-\title C++ Classes Provided by the Qt QML Module
+\title Important C++ Classes Provided By The Qt QML Module
\brief Overview of the C++ classes provided by the Qt QML module
The Qt QML module provides C++ classes which implement the QML framework.
Clients can use these classes to interact with the QML run-time (for example,
by injecting data or invoking methods on objects), and to instantiate a
-hierarchy of objects from a QML document.
+hierarchy of objects from a QML document. The Qt QML module provides more
+C++ API than just the classes listed here, however the classes listed here
+provide the foundations of the QML runtime and the core concepts of QML.
-\section1 The QQmlEngine Class
+\section1 QML Runtime
+
+A typical QML application with a C++ entry-point will instantiate a QQmlEngine
+and then use a QQmlComponent to load a QML document. The engine provides a
+default QQmlContext which will be the top-level evaluation context used for
+evaluating functions and expressions defined in the QML document.
+The object hierarchy defined in the QML document will be instantiated by
+calling the \l{QQmlComponent::create()}{create()} function of the QQmlComponent
+instance, assuming that no errors were encountered during document loading.
+
+The client may wish to modify the QQmlContext provided by the engine, by
+injecting properties or objects into the context. They can call the
+\l{QQmlEngine::rootContext()} function to access the top-level context.
+
+After instantiating the object, the client will usually pass control to the
+application event loop so that user input events (like mouse-clicks) can be
+delivered and handled by the application.
+
+\note The Qt Quick module provides a convenience class, QQuickView, which
+provides a QML runtime and visual window for displaying a QML application.
+
+\section2 The QQmlEngine Class
The QQmlEngine class provides an engine which can manage a hierarchy of objects
which is defined in a QML document. It provides a root QML context within
which expressions are evaluated, and ensures that properties of objects are
updated correctly when required.
-See \l{qtqml-cppclasses-engine.html}{Qt QML Module C++ Classes - QQmlEngine}
-for in-depth information about QQmlEngine.
+A QQmlEngine allows the configuration of global settings that apply to all of
+the objects it manages; for example, the QNetworkAccessManager to be used for
+network communications, and the file path to be used for persistent storage.
-\section1 The QQmlComponent Class
+See the \l{QQmlEngine} class documentation for in-depth information about what
+the QQmlEngine class provides, and how it can be used in an application.
-The QQmlComponent class is used to load a QML document. It requires a
-QQmlEngine in order to instantiate the hierarchy of objects defined in the QML
-document.
-
-See
-\l{qtqml-cppclasses-component.html}{Qt QML Module C++ Classes - QQmlComponent}
-for in-depth information about QQmlComponent.
-
-\section1 The QQmlContext Class
+\section2 The QQmlContext Class
The QQmlContext class provides a context for object instantiation and
expression evaluation. All objects are instantiated in a particular context,
@@ -62,10 +79,30 @@ and all of the expressions which are evaluated while an application is running
are evaluated within a particular context. This context defines how symbols
are resolved, and thus which values the expression operates on.
-See \l{qtqml-cppclasses-context.html}{Qt QML Module C++ Classes - QQmlContext}
-for in-depth information about QQmlContext.
+See the \l{QQmlContext} class documentation for in-depth information about
+how to modify the evaluation context of an object by adding or removing
+properties of a QQmlContext, and how to access the context for an object.
+
+\section1 Dynamic Object Instantiation and Expression Evaluation
-\section1 The QQmlExpression Class
+Dynamic object instantiation and dynamic expression evaluation are both core
+concepts in QML. QML documents define object types which can be instantiated
+at run-time using a QQmlComponent. An instance of the QQmlComponent class can
+be created in C++ directly, or via the \l{QML:Qt::createComponent()}
+{Qt.createComponent()} function in imperative QML code. Arbitrary expressions
+can be calculated in C++ via the QQmlExpression class, and such expressions
+can interact directly the QML context.
+
+\section2 The QQmlComponent Class
+
+The QQmlComponent class can be used to load a QML document. It requires a
+QQmlEngine in order to instantiate the hierarchy of objects defined in the QML
+document.
+
+See the \l{QQmlComponent} class documentation for in-depth information about
+how to use QQmlComponent.
+
+\section2 The QQmlExpression Class
The QQmlExpression class provides a way for clients to evaluate JavaScript
expressions from C++, using a particular QML evaluation context. This allows
@@ -73,18 +110,7 @@ clients to access QML objects by id, for example. The result of evaluation
is returned as a QVariant, and the conversion rules are defined by the QML
engine.
-See \l{qtqml-cppclasses-expression.html}
-{Qt QML Module C++ Classes - QQmlExpression} for in depth information about
-QQmlExpression.
-
-\section1 The QQmlPropertyValueSource Class
-
-The QQmlPropertyValueSource class is an abstract class which may be inherited
-to provide unique \l{qtqml-typesystem-topic.html#property-modifier-types}
-{property value sources}.
-
-See \l{qtqml-cppclasses-valuesource.html}
-{Qt QML Module C++ Classes - QQmlPropertyValueSource} for in depth information
-about QQmlPropertyValueSource.
+See the \l{QQmlExpression} class documentation for in depth information about
+how to use QQmlExpression in an application.
*/