Remove "All rights reserved" line from license headers.
[profile/ivi/qtdeclarative.git] / doc / src / declarative / elements.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 /*!
29   \page qdeclarativeelements.html
30 \inqmlmodule QtQuick 2
31   \target elements
32   \title QML Elements
33   \brief A listing of standard QML elements.
34
35 These are the functionally grouped lists of QML elements as part of
36 \l{Qt Quick}. You can also browse the module pages for \l{QtQuick 1}, \l{QtQuick 2} and \l{QtQuick.Particles 2}
37
38 Elements are declared with the their name and two curly braces. Elements may
39 be nested in elements, thereby creating a parent-child relationship between the
40 two elements.
41
42 To see the QML elements listed by functional area, see the
43 \l{Groups Of Related QML Elements} page.
44
45 \section1 Basic QML Elements
46 \list
47 \o \l {Item} - Basic item element inherited by QML elements
48 \o \l {Component} - Encapsulates QML elements during importing
49 \o \l {QtObject} {QtObject} - Basic element containing only the \c {objectName} property
50 \endlist
51
52 \section1 Graphics
53 \list
54 \o \l {Rectangle} - A rectangle element
55 \o \l {Image} - For incorporating bitmaps into a scene
56 \o \l {BorderImage} - Allows the use of images as borders
57 \o \l {AnimatedImage} - For playing animations stored in a series of frames
58 \o \l {Gradient} - For defining a color gradient
59 \o \l {GradientStop} - Used to define a color within a \l {Gradient}
60 \o \l {SystemPalette} - Provides access to the Qt palettes
61 \o \l {Canvas} - Provides a 2D canvas element
62 \endlist
63
64 \section1 Text Handling
65 \list
66 \o \l {Text} - For inserting formatted text into a scene
67 \o \l {TextInput} - Captures user key input
68 \o \l {TextEdit} - Displays multiple lines of editable formatted text
69 \o \l {IntValidator} - Validates values as integers
70 \o \l {DoubleValidator} - Validates real values
71 \o \l {RegExpValidator} - Validator for string regular expressions
72 \o \l {FontLoader} - Loads fonts by name or URL
73 \endlist
74
75 \section1 Mouse and Interaction Area
76 \list
77 \o \l {MouseArea} - Sets up an area for mouse interaction
78 \o \l {Keys} - Provides components with attached properties to handle key input.
79 \o \l {FocusScope} - Element that mediate keyboard focus changes
80 \o \l {Flickable} - Provides a surface that can be "flicked"
81 \o \l {Flipable} - Provides a surface that produces "flipping" effects
82 \o \l {PinchArea} - Enables simple pinch gesture handling
83 \o \l {MultiPointTouchArea} - Enables handling of multiple touch points
84 \endlist
85
86 \section1 Positioners and Repeater
87 \list
88 \o \l {Column} - Arranges its children vertically
89 \o \l {Row} - Arranges its children horizontally
90 \o \l {Grid} - Positions its children in a grid
91 \o \l {Flow} - Positions its children with wrapping support
92 \o \l {Repeater} - Uses a model to create multiple components
93 \endlist
94
95 \section1 Transformations
96 \list
97 \o \l {Scale} - Assigns item scaling behaviors
98 \o \l {Rotation} - Assigns item rotation behaviors
99 \o \l {Translate} - Assigns item translation behaviors
100 \endlist
101
102 \section1 States
103 \list
104 \o \l {State} - Defines sets of configurations of objects and properties
105 \o \l {PropertyChanges} - Describes property changes within a state
106 \o \l {StateGroup} - Contains a set of states and state transitions
107 \o \l {StateChangeScript} - Allows script binding in a state
108 \o \l {ParentChange} - Re-parent an Item in a state change
109 \o \l {AnchorChanges} - Change the anchors of an item in a state
110 \endlist
111
112 \section1 Animation and Transitions
113 \list
114 \o \l {Transition} - Animates transitions during state changes
115 \o \l {SequentialAnimation} - Runs animations sequentially
116 \o \l {ParallelAnimation} - Runs animations in parallel
117 \o \l {Behavior} - Specifies a default animation for property changes
118 \o \l {PropertyAction} - Sets immediate property changes during animation
119 \o \l {PauseAnimation} - Introduces a pause in an animation
120 \o \l {SmoothedAnimation} - Allows a property to smoothly track a value
121 \o \l {SpringAnimation} - Allows a property to track a value in a spring-like motion
122 \o \l {ScriptAction} - Runs scripts during an animation
123 \endlist
124
125 Elements that animate properties based on data types
126 \list
127 \o \l {PropertyAnimation} - Animates property changes
128 \o \l {NumberAnimation} - Animates properties of type qreal
129 \o \l {Vector3dAnimation} - Animates properties of type QVector3d
130 \o \l {ColorAnimation} - Animates color changes
131 \o \l {RotationAnimation} - Animates rotations
132 \o \l {ParentAnimation} - Animates parent changes
133 \o \l {AnchorAnimation} - Animates anchor changes
134 \endlist
135
136 \section1 Models and Data Handling
137 \list
138 \o \l {QtQuick2::ListModel}{ListModel} - Defines a list of data
139 \o \l {QtQuick2::ListElement}{ListElement} - Defines a data item in a \l {QtQuick2::ListModel}{ListModel}
140 \o \l {VisualItemModel} - Contains items that already defines its own visual delegate
141 \o \l {VisualDataModel} - Encapsulates a model and a delegate
142 \o \l {XmlListModel} - Specifies a model using XPath expressions
143 \o \l {XmlRole} - Specifies a role for an \l {XmlListModel}
144 \o \l {Binding} - Binds any value to any property
145 \o \l {Package} - Collection that enables sharing of items within different views
146 \endlist
147
148 \section1 Views
149 \list
150 \o \l {ListView} - Provides a list visualization of a model
151 \o \l {GridView} - Provides a grid visualization of a model
152 \o \l {PathView} - Visualizes a model's contents along a path. See \l {Path Definition}{Path Elements} for more information.
153 \endlist
154
155 \section1 Path Definition
156 \list
157 \o \l {Path} - Defines a path used by \l {PathView}
158 \o \l {PathLine} - Defines a line in \l {Path}
159 \o \l {PathQuad} - Defines a quadratic Bezier curve in a \l {Path}
160 \o \l {PathCubic} - Defines a cubic Bezier curve in a \l {Path}
161 \o \l {PathArc} - Defines an arc in a \l {Path}
162 \o \l {PathCurve} - Defines a point on a Catmull-Rom curve in a \l {Path}
163 \o \l {PathSvg} - Defines a sub-path specified as a SVG path data string in a \l {Path}
164 \o \l {PathAttribute} - Allows the setting of attributes along a \l {Path}
165 \o \l {PathPercent} - Modifies the item distribution along a \l {Path}
166 \endlist
167
168 \section1 Utility
169 \list
170 \o \l {Connections} - Explicitly connects signals and signal handlers
171 \o \l {Timer} - Provides timed triggers
172 \o \l {QmlGlobalQtObject}{Qt} - The QML global Qt object provides useful enums and functions from Qt.
173 \o \l {WorkerScript} - Enables the use of threads in QML
174 \o \l {Loader} - Controls the loading of items or components
175 \endlist
176
177 \section1 Graphical Effects
178 \list
179 \o \l {ShaderEffect} - Allows GLSL shaders to be used as graphical effects
180 \o \l {ShaderEffectSource} - Usable as a texture in ShaderEffect
181 \o \l {GridMesh} - Generates a gird mesh of vertices for use by ShaderEffect
182 \o The \l{QtQuick.Particles 2} module provides a set of Particle System elements for QtQuick 2
183 \endlist
184
185 \section1 Accessibility
186 \list
187 \o \l {Accessible} - Attached property to make components accessible
188 \endlist
189
190 */
191
192
193 /*!
194     \group qml-groups
195     \title Groups Of Related QML Elements
196
197     \brief If you know what kind of QML element you want (Basic Visual,
198     Interaction, Animation, etc), look here.
199
200     This is a list of functional groups of QML elements.
201
202     \generatelist{related}
203
204 */
205
206 /*!
207     \group qml-basic-visual-elements
208     \title Basic QML Visual Elements
209     \ingroup qml-groups
210
211     \brief Elements for constructing basic visual items.
212
213     \generatelist{related}
214
215 */
216
217 /*!
218     \group qml-basic-interaction-elements
219     \title Basic QML Interaction Elements
220     \ingroup qml-groups
221
222     \brief Elements for handling basic interactions.
223
224     \generatelist{related}
225
226 */
227
228 /*!
229     \group qml-state-elements
230     \title QML State Elements
231     \ingroup qml-groups
232
233     \brief Elements for handling state changes.
234
235     \generatelist{related}
236
237 */
238
239 /*!
240     \group qml-event-elements
241     \title QML Event Elements
242     \ingroup qml-groups
243
244     \brief Elements for handling events.
245
246     \generatelist{related}
247
248 */
249
250 /*!
251     \group qml-animation-transition
252     \title QML Animation and Transition Elements
253     \ingroup qml-groups
254
255     \brief Elements for handling animations and transitions.
256
257     \generatelist{related}
258
259 */
260
261 /*!
262     \group qml-working-with-data
263     \title Working With Data in QML
264     \ingroup qml-groups
265
266     \brief Elements for working with data.
267
268     \generatelist{related}
269
270 */
271
272 /*!
273     \group qml-view-elements
274     \title QML View Elements
275     \ingroup qml-groups
276
277     \brief Elements for handling views.
278
279     \generatelist{related}
280
281 */
282
283 /*!
284     \group qml-positioning-elements
285     \title QML Positioning Elements
286     \ingroup qml-groups
287
288     \brief Elements for positioning items.
289
290     \generatelist{related}
291
292 */
293
294 /*!
295     \group qml-utility-elements
296     \title QML Utility Elements
297     \ingroup qml-groups
298
299     \brief Elements for handling misc operations.
300
301     \generatelist{related}
302
303 */
304
305 /*!
306     \group qml-transform-elements
307     \title QML Transform Elements
308     \ingroup qml-groups
309
310     \brief Elements for handling transformations.
311
312     \generatelist{related}
313
314 */
315
316 /*!
317     \group qml-particle-elements
318     \title QML Particle Elements
319     \ingroup qml-groups
320
321     \brief Elements for handling particle effects.
322
323     This is the QtQuick 1.0 particle system, incompatible with QtQuick 2.0
324
325     There is a completely separate \l{QtQuick.Particles 2}{QtQuick 2.0 particle system}
326
327     \generatelist{related}
328
329 */