Fixes for QML Basic Types docs
[profile/ivi/qtdeclarative.git] / src / qml / doc / src / qtqml.qdoc
1 /****************************************************************************
2 **
3 ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/
5 **
6 ** This file is part of the documentation of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:FDL$
9 ** GNU Free Documentation License
10 ** Alternatively, this file may be used under the terms of the GNU Free
11 ** Documentation License version 1.3 as published by the Free Software
12 ** Foundation and appearing in the file included in the packaging of
13 ** this file.
14 **
15 ** Other Usage
16 ** Alternatively, this file may be used in accordance with the terms
17 ** and conditions contained in a signed written agreement between you
18 ** and Nokia.
19 **
20 **
21 **
22 **
23 **
24 ** $QT_END_LICENSE$
25 **
26 ****************************************************************************/
27 /*!
28 \page qtqml-main.html
29 \title Qt QML Module
30 \brief The Qt QML module defines and implements the QML language
31
32 \section1 Overview Of The Qt QML Module
33
34 The Qt QML module provides a framework for developing applications.  It defines
35 and implements the QML language, and provides API which allows clients to
36 extend the QML language with more types, and to integrate QML code with
37 JavaScript or C++.
38
39 Application developers who are interested in writing applications using QML
40 should start by reading the \l{qtquick-applicationdevelopers.html}
41 {QML Application Developer Resources}.
42
43 \section2 What Is QML
44
45 QML is a user-interface specification and programming language.  It was
46 designed specifically to enable and ease the development of modern,
47 touch-driven, fluidly animated and visually-appealling applications.
48
49 One of the core goals of QML is to allow closer interaction between designers
50 and programmers during the development of an application.
51
52 \section2 What Does The Qt QML Module Provide
53
54 The Qt QML module provides the definition and an implementation of the QML
55 language.  It uses a JavaScript engine to provide JavaScript integration, and
56 provides C++ API to provide integration with C++.  It provides a framework for
57 object instantiation and manipulation along with strong typing, which can be
58 integrated with a visual canvas and an animation framework to enable the
59 development of highly-appealling interactive applications.
60
61 \section2 What Does The Qt QML Module Not Provide
62
63 It does not provide a visual canvas, visual items, or an animation framework.
64 These are provided instead by the \l{QtQuick} module.
65
66 Qt Quick can be thought of as the "standard library" of types (including visual
67 types, animation classes, and canvas integration) for the QML language.
68
69
70 \section1 Qt QML Module Documentation
71
72 \list
73     \li \l{qtqml-cppclasses-topic.html}{C++ Classes Provided By The Qt QML Module}
74         \list
75         \li \l{qtqml-cppclasses-engine.html}{QQmlEngine}
76         \li \l{qtqml-cppclasses-context.html}{QQmlContext}
77         \li \l{qtqml-cppclasses-component.html}{QQmlComponent}
78         \endlist
79
80     \li \l{qtqml-typesystem-topic.html}{The QML Type System}
81         \list
82         \li \l{qtqml-typesystem-topic.html}{Basic Types}
83         \li \l{qtqml-typesystem-topic.html#javascript-types}{JavaScript Types}
84         \li \l{qtqml-typesystem-topic.html#qml-object-types}{QML Object Types}
85             \list
86             \li \l{qtqml-documents-definetypes.html}{Defining Object Types from QML}
87             \li \l{qtqml-cppintegration-registercpptypes.html}{Defining Object Types from C++}
88             \endlist
89         \endlist
90
91     \li \l{qtqml-modules-topic.html}{QML Modules}
92         \list
93         \li \l{qtqml-modules-topic.html#syntax-of-a-qmldir-file}{Packaging QML and JavaScript Files}
94         \li \l{qtqml-modules-cppplugins.html#creating-a-plugin}{Providing Types and Functionality in a C++ Plugin}
95         \li \l{qtqml-modules-qmldir.html}{Syntax of a qmldir File}
96         \endlist
97
98     \li \l{qtqml-documents-topic.html}{QML Documents}
99         \list
100         \li \l{qtqml-documents-structure.html}{Structure of a QML Document}
101         \li \l{qtqml-syntax-basics.html}{Syntax of the QML Language}
102         \li \l{qtqml-documents-definetypes.html}{Defining Object Types through QML Documents}
103             \list
104             \li \l{qtqml-documents-definetypes.html#defining-an-object-type-with-a-qml-file}{Defining an Object Type with a QML File}
105             \li \l{qtqml-documents-definetypes.html#accessible-attributes-of-custom-types}{Accessible Attributes of Custom Types}
106             \endlist
107             \li \l{qtqml-documents-networktransparency.html}{Resource Loading and Network Transparency}
108             \li \l{qtqml-documents-scope.html}{Scope and Naming Resolution}
109         \endlist
110
111     \li \l{qtqml-typereference-topic.html}{QML Types Provided by the Qt QML Module}
112         \list
113         \li \l{qtqml-typereference-topic.html#qtobject}{QtObject}
114         \li \l{qtqml-typereference-topic.html#component}{Component}
115         \endlist
116
117     \li \l{qtqml-javascript-topic.html}{Integrating QML and JavaScript}
118         \list
119         \li \l{qtqml-javascript-expressions.html}{Using JavaScript Expressions with QML}
120         \li \l{qtqml-javascript-imports.html}{Importing JavaScript Files in QML Documents}
121         \li \l{qtqml-javascript-dynamicobjects.html}{Dynamic QML Object Creation from JavaScript}
122         \li \l{qtqml-javascript-hostenvironment.html}{JavaScript Host Environment}
123             \list
124             \li \l{qtqml-javascript-qmlglobalobject.html}{QML Global Object}
125             \li \l{qtqml-javascript-functionlist.html}{List of JavaScript Objects and Functions}
126             \endlist
127         \endlist
128
129     \li \l{qtqml-cppintegration-topic.html}{Integrating QML and C++}
130         \list
131         \li \l{qtqml-cppintegration-registercpptypes.html}{Defining QML Object Types from C++}
132         \li \l{qtqml-cppintegration-data.html}{Exposing C++ Data to QML}
133         \li \l{qtqml-cppintegration-functions.html}{Exposing C++ Functionality to QML}
134         \li \l{qtqml-cppintegration-reverse.html}{Interacting with Objects defined in QML from C++}
135         \endlist
136
137 \endlist
138
139
140 \section1 Syntax of the QML Language
141
142 \list
143     \li \l{qtqml-syntax-basics.html}{QML Syntax Basics}
144         \list
145         \li \l{qtqml-syntax-imports.html}{Import Statements}
146         \li \l{qtqml-syntax-basics.html#object-declarations}{Object Declarations}
147         \list
148             \li \l{qtqml-syntax-basics.html#child-objects}{Child Objects}
149         \endlist
150         \li \l{qtqml-syntax-basics.html#comments}{Comments}
151         \endlist
152
153     \li \l{qtqml-syntax-objectattributes.html}{QML Object Attributes}
154         \list
155         \li \l{qtqml-syntax-objectattributes.html#the-id-assignment}{The \e id Assignment}
156         \li \l{qtqml-syntax-objectattributes.html#property-initialization}{Property Initialization}
157         \li \l{qtqml-syntax-objectattributes.html#custom-properties}{Custom Properties}
158         \li \l{qtqml-syntax-objectattributes.html#signal-handlers}{Signal Handlers}
159         \li \l{qtqml-syntax-objectattributes.html#custom-signals}{Custom Signals}
160         \li \l{qtqml-syntax-objectattributes.html#custom-methods}{Custom Methods}
161         \li \l{qtqml-syntax-objectattributes.html#attached-properties-and-attached-signal-handlers}{Attached Properties and Attached Signal Handlers}
162         \endlist
163
164     \li \l{qtqml-syntax-propertybinding.html}{Property Binding}
165     \li \l{qtqml-syntax-signals.html}{Signal and Handler Event System}
166 \endlist
167
168 \section1 Reference Documentation
169
170 More information about the Qt QML module is contained within the class and
171 function documentation of the \l{qtqml-apireference.html}
172 {Qt QML Module API Reference}.  The QML types provided by the Qt QML module
173 are listed in the \l{qtqml-typereference-topic.html}
174 {Qt QML Module QML Type Reference} page.
175
176 Application developers who are interested in writing applications using QML
177 should start by reading the \l{qtquick-applicationdevelopers.html}
178 {QML Application Developer Resources}.  The documentation for the
179 \l{qtquick-main.html}{QtQuick} module is also an indispensible resource for
180 application developers, as it provides the standard library of QML types which
181 application developers will use in their applications.
182
183 Quick Links:
184 \list
185 \li \l{qtqml-typereference-topic.html}{Qt QML Module QML Type Reference}
186 \li \l{qtqml-module.html}{Qt QML Module C++ API Reference}
187 \li \l{qtquick-main.html}{Qt Quick Module Documentation}
188 \li \l{qtquick-applicationdevelopers.html}{QML Application Developer Resources}
189 \li \l{qtqml-releasenotes.html}{QtQml Release Notes}
190 \endlist
191
192 */
193