aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/doc/src/qmllanguageref/typesystem/topic.qdoc
diff options
context:
space:
mode:
authorJerome Pasion <jerome.pasion@digia.com>2013-04-17 17:19:35 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-04-23 12:53:48 +0200
commit32c54e57098b6799f41a3654a670a68619922f9e (patch)
tree86cf70e109e4a19628547d96e7fb13f6f2c46991 /src/qml/doc/src/qmllanguageref/typesystem/topic.qdoc
parent28b6c39af1c3e919e83ddace18a5252c4423431b (diff)
Doc: Refactored and focused the Qt QML documentation.
Before it wasn't clear to what the module provided, especially with the coupling of Qt QML and Qt Quick. The doc is centered around these documentation: -QML refernce: the language syntax and the application constructs -JavaScript environment: the environment provided by the module -Integration with C++: more about the engine and the C++ API -QML Types and Classes reference (created by \qmlmodule and \module) The distinction are made in the directory and the section titles in the Qt QML landing page. Change-Id: I033bfcbf8368b94ffa5ee4b1225bee74347f53eb Reviewed-by: Martin Smith <martin.smith@digia.com>
Diffstat (limited to 'src/qml/doc/src/qmllanguageref/typesystem/topic.qdoc')
-rw-r--r--src/qml/doc/src/qmllanguageref/typesystem/topic.qdoc98
1 files changed, 98 insertions, 0 deletions
diff --git a/src/qml/doc/src/qmllanguageref/typesystem/topic.qdoc b/src/qml/doc/src/qmllanguageref/typesystem/topic.qdoc
new file mode 100644
index 0000000000..76e28f7ef1
--- /dev/null
+++ b/src/qml/doc/src/qmllanguageref/typesystem/topic.qdoc
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 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 qtqml-typesystem-topic.html
+\title The QML Type System
+\brief Description of the QML type system
+
+The types which may be used in the definition of an object hierarchy in a QML
+document can come from various sources. They may be:
+
+\list
+\li provided natively by the QML language
+\li registered via C++ by QML modules
+\li provided as QML documents by QML modules
+\endlist
+
+Furthermore, application developers can provide their own types, either by
+registering C++ types directly, or by defining reusable components in QML
+documents which can then be imported.
+
+Wherever the type definitions come from, the engine will enforce type-safety
+for properties and instances of those types.
+
+
+\section1 Basic Types
+
+The QML language has built-in support for various primitive types including
+integers, double-precision floating point numbers, strings, and boolean values.
+Objects may have properties of these types, and values of these types may be
+passed as arguments to methods of objects.
+
+See the \l{qtqml-typesystem-basictypes.html}{QML Basic Types} documentation for
+more information about basic types.
+
+\section1 JavaScript Types
+
+JavaScript objects and arrays are supported by the QML engine. Any standard
+JavaScript type can be created and stored using the generic \l var type.
+
+For example, the standard \c Date and \c Array types are available, as below:
+
+\qml
+import QtQuick 2.0
+
+Item {
+ property var theArray: new Array()
+ property var theDate: new Date()
+
+ Component.onCompleted: {
+ for (var i = 0; i < 10; i++)
+ theArray.push("Item " + i)
+ console.log("There are", theArray.length, "items in the array")
+ console.log("The time is", theDate.toUTCString())
+ }
+}
+\endqml
+
+See \l {qtqml-javascript-expressions.html}{JavaScript Expressions in QML Documents} for more details.
+
+
+\section1 QML Object Types
+
+A QML object type is a type from which a QML object can be instantiated. QML
+object types are derived from \l QtObject, and are provided by QML modules.
+Applications can import these modules to use the object types they provide.
+The \c QtQuick module provides the most common object types needed to create
+user interfaces in QML.
+
+Finally, every QML document implicitly defines a QML object type, which can be
+re-used in other QML documents. See the documentation about
+\l{qtqml-typesystem-objecttypes.html}{object types in the QML type system} for
+in-depth information about object types.
+
+*/