| /**************************************************************************** |
| ** |
| ** Copyright (C) 2016 The Qt Company Ltd. |
| ** Contact: https://www.qt.io/licensing/ |
| ** |
| ** This file is part of the documentation of the Qt Toolkit. |
| ** |
| ** $QT_BEGIN_LICENSE:FDL$ |
| ** Commercial License Usage |
| ** Licensees holding valid commercial Qt licenses may use this file in |
| ** accordance with the commercial license agreement provided with the |
| ** Software or, alternatively, in accordance with the terms contained in |
| ** a written agreement between you and The Qt Company. For licensing terms |
| ** and conditions see https://www.qt.io/terms-conditions. For further |
| ** information use the contact form at https://www.qt.io/contact-us. |
| ** |
| ** GNU Free Documentation License Usage |
| ** 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. Please review the following information to ensure |
| ** the GNU Free Documentation License version 1.3 requirements |
| ** will be met: https://www.gnu.org/licenses/fdl-1.3.html. |
| ** $QT_END_LICENSE$ |
| ** |
| ****************************************************************************/ |
| |
| /*! |
| \page qml-glossary.html |
| \title Glossary Of QML Terms |
| \brief Glossary of terms used in the documentation for QML and Qt Quick |
| |
| \section1 Common Terms |
| |
| \table |
| \header |
| \li Term |
| \li Definition |
| |
| \row |
| \li QML |
| \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 |
| QML language, which is provided by the Qt Quick module, |
| and may be accessed with "import QtQuick 2.3". |
| |
| \row |
| \li Type |
| \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-typesystem-basictypes.html}{basic types}, and the |
| Qt Quick module provides various \l {Qt Quick QML Types}{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 through \l{qtqml-documents-definetypes.html}{QML Documents}. |
| |
| See \l{qtqml-typesystem-topic.html}{The QML Type System} |
| for more details. |
| |
| \row |
| \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 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 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 \l Text type). |
| |
| See \l{qtqml-syntax-objectattributes.html}{QML Object Attributes} |
| for more details. |
| |
| \row |
| \li Binding |
| \li A binding is a JavaScript expression which is "bound" to a |
| 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 from a QML object. When an object emits |
| a signal, other objects can receive and process this signal through |
| a \l{Signal Attributes}{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 \l Loader type to make lazy instantiation more |
| convenient. |
| \endtable |
| */ |