Update glossary of terms
authorBea Lam <bea.lam@nokia.com>
Mon, 2 Jul 2012 01:25:44 +0000 (11:25 +1000)
committerQt by Nokia <qt-info@nokia.com>
Mon, 2 Jul 2012 07:43:36 +0000 (09:43 +0200)
Change-Id: Icf0a41bbcd5654a112b7979e00d7a708548808ba
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
src/quick/doc/src/appdevguide/glossary.qdoc

index 6e20d2f..da34973 100644 (file)
 
     \row
         \li QML
-        \li The language provided by the Qt QML module in which QML
-            applications are written
+        \li The language in which QML applications are written. The language
+            architecture and engine are implemented by the Qt QML module.
 
     \row
         \li Qt Quick
-        \li The standard-library of types and functionality for the
+        \li The standard library of types and functionality for the
             QML language, which is provided by the Qt Quick module,
             and may be accessed with "import QtQuick 2.0"
 
     \row
         \li Type
-        \li A type is either a property type, or a QML object type.
-            All QML object types may also be a property type (for
-            example, you can have a property of type Button) but not
-            all property types are also QML object types (for example,
-            an integer is not an object).  Types are either built-in
-            to the QML language (\l{qtqml-basictypes.html}{basic types}),
-            or they are provided by the QtQuick import
-            (\l{qtquick-qmltypereference.html}{Qt Quick types}), or they
-            are provided in extensions to QML (\l{qtqml-modules-topic.html}
-            {Modules}) or by the application developer as QML documents.
+        \li In QML, a \e type may refer to either a
+            \l{qtqml-typesystem-topic.html}{Basic Type} or a
+            \l{qtqml-typesystem-topic.html#qml-object-types}{QML Object Type}.
+
+            The QML language provides a number of built in
+            (\l{qtqml-basictypes.html}{basic types}), and the QtQuick module
+            provides various \l{qtquick-qmltypereference.html}{Qt Quick types}
+            for building QML applications. Types can also be provided by
+            third-party developers through (\l{qtqml-modules-topic.html}{modules})
+            or by the application developer in the application itself
+            \l{qtqml-documents-definetypes.html}{through QML Documents}.
+
+            See \l{qtqml-typesystem-topic.html}{The QML Type System}
+            for more details.
 
     \row
-        \li Component
-        \li A Component is a special type which may be used to instantiate
-            other QML object types.
+        \li Basic Type
+        \li A \l{qtqml-typesystem-topic.html}{basic type} is a simple type
+            such as \c int, \c string and \c bool. Unlike
+            \l{qtqml-typesystem-topic.html#qml-object-types}{object types},
+            an object cannot be instantiated from a basic type; for example,
+            it is not possible to create an \c int object with properties,
+            methods, signals and so on.
+
+            Basic types are built into the QML language, whereas object types
+            cannot be used unless the appropriate
+            \l{qtqml-modules-topic.html}{module} is imported.
+
+            See \l{qtqml-typesystem-topic.html}{The QML Type System}
+            for more details.
+
+    \row
+        \li Object Type
+        \li A \l{qtqml-typesystem-topic.html#qml-object-types}{QML Object Type}
+            is a type that can be instantiated by the QML engine.
+
+            A QML type can be defined either by a document in a .qml file
+            beginning with a capital letter, or by a QObject-based C++ class.
+
+            See \l{qtqml-typesystem-topic.html}{The QML Type System}
+            for more details.
 
     \row
         \li Object
-        \li An object is an instance of a type.
+        \li A QML object is an instance of a
+            \l{qtqml-typesystem-topic.html#qml-object-types}{QML Object Type}.
+
+            Such objects are created by the engine when it processes
+            \l{qtqml-syntax-basics.html#object-declarations}{object declarations},
+            which specify the objects to be created and the attributes that are to
+            be defined for each object.
+
+            Additionally, objects can be dynamically created at runtime through
+            Component.createObject() and Qt.createQmlObject().
+
+            See also \l{#lazy-instantiation}{Lazy Instantiation}.
+
+    \row
+        \li Component
+        \li A component is a template from which a QML object or object
+            tree is created. It is produced when a document is loaded by
+            the QML engine. Once it has been loaded, it can be used to
+            instantiate the object or object tree that it represents.
+
+            Additionally, the \l Component type is a special type that can
+            can be used to declare a component inline within a document.
+            Component objects can also be dynamically created through
+            Qt.createComponent() to dynamically create QML objects.
+
+    \row
+        \li Document
+        \li A \l{qtqml-documents-topic.html}{QML Document} is a self
+            contained piece of QML source code that begins with one or more
+            import statements and contains a single top-level object
+            declaration. A document may reside in a .qml file or a text string.
+
+            If it is placed in a .qml file whose name begins with a capital
+            letter, the file is recognized by the engine as a definition of
+            a QML type. The top-level object declaration encapsulates the
+            object tree that will be instantiated by the type.
 
     \row
         \li Property
-        \li An object can have one or more properties.  Some properties
+        \li A property is an attribute of an object type that has a name and
+            an associated value; this value can be read (and in most cases, also
+            written to) externally.
+
+            An object can have one or more properties.  Some properties
             are associated with the canvas (e.g., x, y, width, height,
             and opacity) while others may be data specific to that type
-            (e.g., the "text" property of the Text type).
+            (e.g., the "text" property of the \l Text type).
+
+            See \l{qtqml-syntax-objectattributes.html}{QML Object Attributes}
+            for more details.
 
     \row
         \li Binding
             property.  The value of the property at any point in time
             will be the value returned by evaluating that expression.
 
+            See \l{qtqml-syntax-propertybinding.html}{Property Binding}
+            for more details.
+
     \row
         \li Signal
-        \li A signal is a notification of a condition occurring, and may be
-            either "emitted" or "handled".  Most properties of QML objects
+        \li A signal is a notification from a QML object. When an object emits
+            a signal, other objects can receive and process this signal through
+            a \l{qtqml-syntax-objectattributes.html#signal-handlers}{signal handler}.
+
+            Most properties of QML objects
             have a change signal, and also an associated change signal handler
             which may be defined by clients to implement functionality.  For
             example, the "onClicked()" handler of an instance of the MouseArea
             type might be defined in an application to cause a sound to be
             played.
 
+            See \l{qtqml-syntax-signals.html}{Signal and Handler Event System}
+            for more details.
+
     \row
         \li Signal Handler
         \li A signal handler is the expression (or function) which is triggered
             by a signal.  It is also known as a "slot" in C++.
 
+            See \l{qtqml-syntax-signals.html}{Signal and Handler Event System}
+            for more details.
+
     \row
+        \target lazy-instantiation
         \li Lazy Instantiation
         \li Object instances can be instantiated "lazily" at run-time,
             to avoid performing unnecessary work until needed.  Qt Quick
-            provides the Loader element to make lazy instantiation more
+            provides the \l Loader element to make lazy instantiation more
             convenient.
 \endtable