Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-doc-team into 4.7
[qt:qt.git] / doc / src / declarative / elements.qdoc
1 /****************************************************************************
2 **
3 ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
4 ** All rights reserved.
5 ** Contact: Nokia Corporation (qt-info@nokia.com)
6 **
7 ** This file is part of the documentation of the Qt Toolkit.
8 **
9 ** $QT_BEGIN_LICENSE:FDL$
10 ** No Commercial Usage
11 ** This file contains pre-release code and may not be distributed.
12 ** You may use this file in accordance with the terms and conditions
13 ** contained in the Technology Preview License Agreement accompanying
14 ** this package.
15 **
16 ** GNU Free Documentation License
17 ** Alternatively, this file may be used under the terms of the GNU Free
18 ** Documentation License version 1.3 as published by the Free Software
19 ** Foundation and appearing in the file included in the packaging of this
20 ** file.
21 **
22 ** If you have questions regarding the use of this file, please contact
23 ** Nokia at qt-info@nokia.com.
24 ** $QT_END_LICENSE$
25 **
26 ****************************************************************************/
27
28 /*!
29   \page qdeclarativeelements.html
30   \target elements
31   \title QML Elements
32   \brief A listing of standard QML elements.
33
34 These are the functionally grouped lists of QML elements.
35
36 Elements are declared with the their name and two curly braces. Elements may
37 be nested in elements, thereby creating a parent-child relationship between the
38 two elements.
39
40 To see the QML elements listed by functional area, see the
41 \l{Groups Of Related QML Elements} page.
42
43 \section1 Basic QML Elements
44 \list
45 \o \l {Item} - Basic item element inherited by QML elements
46 \o \l {Component} - Encapsulates QML elements during importing
47 \o \l {QML:QtObject} {QtObject} - Basic element containing only the objectName property
48 \endlist
49
50 \section1 Graphics
51 \list
52 \o \l {Rectangle} - A rectangle element
53 \o \l {Image} - For incorporating bitmaps into a scene
54 \o \l {BorderImage} - Allows the use of images as borders
55 \o \l {AnimatedImage} - For playing animations stored in a series of frames
56 \o \l {Gradient} - For defining a color gradient
57 \o \l {GradientStop} - Used to define a color within a \l {Gradient}
58 \o \l {SystemPalette} - Provides access to the Qt palettes
59 \endlist
60
61 \section1 Text Handling
62 \list
63 \o \l {Text} - For inserting formatted text into a scene
64 \o \l {TextInput} - Captures user key input
65 \o \l {TextEdit} - Displays multiple lines of editable formatted text
66 \o \l {IntValidator} - Validates values as integers
67 \o \l {DoubleValidator} - Validates real values
68 \o \l {RegExpValidator} - Validator for string regular expressions
69 \o \l {FontLoader} - Loads fonts by name or URL
70 \endlist
71
72 \section1 Mouse and Interaction Area
73 \list
74 \o \l {MouseArea} - Sets up an area for mouse interaction
75 \o \l {Keys} - Provides components with attached properties to handle key input.
76 \o \l {FocusScope} - Element that mediate keyboard focus changes
77 \o \l {Flickable} - Provides a surface that can be "flicked"
78 \o \l {Flipable} - Provides a surface that produces "flipping" effects
79 \o \l {GestureArea} - Enables simple gesture handling
80 \endlist
81
82 \section1 Positioners and Repeater
83 \list
84 \o \l {Column} - Arranges its children vertically
85 \o \l {Row} - Arranges its children horizontally
86 \o \l {Grid} - Positions its children in a grid
87 \o \l {Flow} - Positions its children with wrapping support
88 \o \l {Repeater} - Uses a model to create multiple components
89 \endlist
90
91 \section1 Transformations
92 \list
93 \o \l {Scale} - Assigns item scaling behaviors
94 \o \l {Rotation} - Assigns item rotation behaviors
95 \o \l {Translate} - Assigns item translation behaviors
96 \endlist
97
98 \section1 States
99 \list
100 \o \l {State} - Defines sets of configurations of objects and properties
101 \o \l {PropertyChanges} - Describes property changes within a state
102 \o \l {StateGroup} - Contains a set of states and state transitions
103 \o \l {StateChangeScript} - Allows script binding in a state
104 \o \l {ParentChange} - Re-parent an Item in a state change
105 \o \l {AnchorChanges} - Change the anchors of an item in a state
106 \endlist
107
108 \section1 Animation and Transitions
109 \list
110 \o \l {Transition} - Animates transitions during state changes
111 \o \l {SequentialAnimation} - Runs animations sequentially
112 \o \l {ParallelAnimation} - Runs animations in parallel
113 \o \l {Behavior} - Specifies a default animation for property changes
114 \o \l {PropertyAction} - Sets immediate property changes during animation
115 \o \l {PauseAnimation} - Introduces a pause in an animation
116 \o \l {SmoothedAnimation} - Allows a property to smoothly track a value
117 \o \l {SpringAnimation} - Allows a property to track a value in a spring-like motion
118 \o \l {ScriptAction} - Runs scripts during an animation
119 \endlist
120
121 Elements that animate properties based on data types
122 \list
123 \o \l {PropertyAnimation} - Animates property changes
124 \o \l {NumberAnimation} - Animates properties of type qreal
125 \o \l {Vector3dAnimation} - Animates properties of type QVector3d
126 \o \l {ColorAnimation} - Animates color changes
127 \o \l {RotationAnimation} - Animates rotations
128 \o \l {ParentAnimation} - Animates parent changes
129 \o \l {AnchorAnimation} - Animates anchor changes
130 \endlist
131
132 \section1 Models and Data Handling
133 \list
134 \o \l {ListModel} - Defines a list of data
135 \o \l {ListElement} - Defines a data item in a \l {ListModel}
136 \o \l {VisualItemModel} - Contains items that already defines its own visual delegate
137 \o \l {VisualDataModel} - Encapsulates a model and a delegate
138 \o \l {XmlListModel} - Specifies a model using XPath expressions
139 \o \l {XmlRole} - Specifies a role for an \l {XmlListModel}
140 \o \l {Binding} - Binds any value to any property
141 \o \l {Package} - Collection that enables sharing of items within different views
142 \endlist
143
144 \section1 Views
145 \list
146 \o \l {ListView} - Provides a list visualization of a model
147 \o \l {GridView} - Provides a grid visualization of a model
148 \o \l {PathView} - Visualizes a model's contents along a path. See \l {Path Definition}{Path Elements} for more information.
149 \endlist
150
151 \section1 Path Definition
152 \list
153 \o \l {Path} - Defines a path used by \l {PathView}
154 \o \l {PathLine} - Defines a line in \l {Path}
155 \o \l {PathQuad} - Defines a quadratic Bezier curve in a \l {Path}
156 \o \l {PathCubic} - Defines a cubic Bezier curve in a \l {Path}
157 \o \l {PathAttribute} - Allows the setting of attributes along a \l {Path}
158 \o \l {PathPercent} - Modifies the item distribution along a \l {Path}
159 \endlist
160
161 \section1 Utility
162 \list
163 \o \l {Connections} - Explicitly connects signals and signal handlers
164 \o \l {Timer} - Provides timed triggers
165 \o \l {QML:Qt} {Qt} - The QML global Qt object provides useful enums and functions from Qt.
166 \o \l {WorkerScript} - Enables the use of threads in QML
167 \o \l {Loader} - Controls the loading of items or components
168 \o \l {LayoutItem} - Allows declarative UI elements inside Qt's Graphics View layouts
169 \endlist
170
171 \section1 Graphical Effects
172 \list
173 \o \l {Particles} - Generates and animates particles
174 \o \l {ParticleMotionLinear} - Adds linear motion behavior to \l {Particles}
175 \o \l {ParticleMotionGravity} - Adds gravitational motion to \l {Particles}
176 \o \l {ParticleMotionWander} - Adds varied motions to \l {Particles}
177 \endlist
178
179 \section1 Add-On Elements
180 These elements are not included in the \c{QtQuick 1.0} module. Their respective QML bindings
181 should first be obtained and installed.
182 \list
183 \o \l{WebView}{QtWebKit QML Module - WebView Element} - For displaying Web contents
184 \o \l{http://doc.qt.nokia.com/qtmobility-1.1.0/qml-plugins.html}{Mobility QML Plugins}
185 \endlist
186
187 */
188
189
190 /*!
191     \group qml-groups
192     \title Groups Of Related QML Elements
193
194     \brief If you know what kind of QML element you want (Basic Visual,
195     Interaction, Animation, etc), look here.
196
197     This is a list of functional groups of QML elements.
198
199     \generatelist{related}
200
201 */
202
203 /*!
204     \group qml-basic-visual-elements
205     \title Basic QML Visual Elements
206     \ingroup qml-groups
207
208     \brief Elements for constructing basic visual items.
209
210     \generatelist{related}
211
212 */
213
214 /*!
215     \group qml-basic-interaction-elements
216     \title Basic QML Interaction Elements
217     \ingroup qml-groups
218
219     \brief Elements for handling basic interactions.
220
221     \generatelist{related}
222
223 */
224
225 /*!
226     \group qml-state-elements
227     \title QML State Elements
228     \ingroup qml-groups
229
230     \brief Elements for handling state changes.
231
232     \generatelist{related}
233
234 */
235
236 /*!
237     \group qml-event-elements
238     \title QML Event Elements
239     \ingroup qml-groups
240
241     \brief Elements for handling events.
242
243     \generatelist{related}
244
245 */
246
247 /*!
248     \group qml-animation-transition
249     \title QML Animation and Transition Elements
250     \ingroup qml-groups
251
252     \brief Elements for handling animations and transitions.
253
254     \generatelist{related}
255
256 */
257
258 /*!
259     \group qml-working-with-data
260     \title Working With Data in QML
261     \ingroup qml-groups
262
263     \brief Elements for working with data.
264
265     \generatelist{related}
266
267 */
268
269 /*!
270     \group qml-view-elements
271     \title QML View Elements
272     \ingroup qml-groups
273
274     \brief Elements for handling views.
275
276     \generatelist{related}
277
278 */
279
280 /*!
281     \group qml-positioning-elements
282     \title QML Positioning Elements
283     \ingroup qml-groups
284
285     \brief Elements for positioning items.
286
287     \generatelist{related}
288
289 */
290
291 /*!
292     \group qml-utility-elements
293     \title QML Utility Elements
294     \ingroup qml-groups
295
296     \brief Elements for handling misc operations.
297
298     \generatelist{related}
299
300 */
301
302 /*!
303     \group qml-transform-elements
304     \title QML Transform Elements
305     \ingroup qml-groups
306
307     \brief Elements for handling transformations.
308
309     \generatelist{related}
310
311 */
312
313 /*!
314     \group qml-particle-elements
315     \title QML Particle Elements
316     \ingroup qml-groups
317
318     \brief Elements for handling particle effects.
319
320     \generatelist{related}
321
322 */