/**************************************************************************** ** ** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** 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 Digia. For licensing terms and ** conditions see http://qt.digia.com/licensing. For further information ** use the contact form at http://qt.digia.com/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: http://www.gnu.org/copyleft/fdl.html. ** $QT_END_LICENSE$ ** ****************************************************************************/ /*! \page qtquick-glossary.html \title Qt Quick Glossary Of Terms \brief Glossary of terms used in the documentation for QML and QtQuick \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.0" \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 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 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 element to make lazy instantiation more convenient. \endtable \section1 Indexed Alphabetically */