174b762391caad3498472c579f985c0efc2e9379
[profile/ivi/qtdeclarative.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 ** GNU Free Documentation License
11 ** Alternatively, this file may be used under the terms of the GNU Free
12 ** Documentation License version 1.3 as published by the Free Software
13 ** Foundation and appearing in the file included in the packaging of
14 ** this file.
15 **
16 ** Other Usage
17 ** Alternatively, this file may be used in accordance with the terms
18 ** and conditions contained in a signed written agreement between you
19 ** and Nokia.
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 {PathAttribute} - Allows the setting of attributes along a \l {Path}
162 \o \l {PathPercent} - Modifies the item distribution along a \l {Path}
163 \endlist
164
165 \section1 Utility
166 \list
167 \o \l {Connections} - Explicitly connects signals and signal handlers
168 \o \l {Timer} - Provides timed triggers
169 \o \l {QmlGlobalQtObject}{Qt} - The QML global Qt object provides useful enums and functions from Qt.
170 \o \l {WorkerScript} - Enables the use of threads in QML
171 \o \l {Loader} - Controls the loading of items or components
172 \endlist
173
174 \section1 Graphical Effects
175 \list
176 \o \l {ShaderEffect} - Allows GLSL shaders to be used as graphical effects
177 \o \l {ShaderEffectSource} - Usable as a texture in ShaderEffect
178 \o \l {GridMesh} - Generates a gird mesh of vertices for use by ShaderEffect
179 \o The \l{QtQuick.Particles 2} module provides a set of Particle System elements for QtQuick 2
180 \endlist
181
182 */
183
184
185 /*!
186     \group qml-groups
187     \title Groups Of Related QML Elements
188
189     \brief If you know what kind of QML element you want (Basic Visual,
190     Interaction, Animation, etc), look here.
191
192     This is a list of functional groups of QML elements.
193
194     \generatelist{related}
195
196 */
197
198 /*!
199     \group qml-basic-visual-elements
200     \title Basic QML Visual Elements
201     \ingroup qml-groups
202
203     \brief Elements for constructing basic visual items.
204
205     \generatelist{related}
206
207 */
208
209 /*!
210     \group qml-basic-interaction-elements
211     \title Basic QML Interaction Elements
212     \ingroup qml-groups
213
214     \brief Elements for handling basic interactions.
215
216     \generatelist{related}
217
218 */
219
220 /*!
221     \group qml-state-elements
222     \title QML State Elements
223     \ingroup qml-groups
224
225     \brief Elements for handling state changes.
226
227     \generatelist{related}
228
229 */
230
231 /*!
232     \group qml-event-elements
233     \title QML Event Elements
234     \ingroup qml-groups
235
236     \brief Elements for handling events.
237
238     \generatelist{related}
239
240 */
241
242 /*!
243     \group qml-animation-transition
244     \title QML Animation and Transition Elements
245     \ingroup qml-groups
246
247     \brief Elements for handling animations and transitions.
248
249     \generatelist{related}
250
251 */
252
253 /*!
254     \group qml-working-with-data
255     \title Working With Data in QML
256     \ingroup qml-groups
257
258     \brief Elements for working with data.
259
260     \generatelist{related}
261
262 */
263
264 /*!
265     \group qml-view-elements
266     \title QML View Elements
267     \ingroup qml-groups
268
269     \brief Elements for handling views.
270
271     \generatelist{related}
272
273 */
274
275 /*!
276     \group qml-positioning-elements
277     \title QML Positioning Elements
278     \ingroup qml-groups
279
280     \brief Elements for positioning items.
281
282     \generatelist{related}
283
284 */
285
286 /*!
287     \group qml-utility-elements
288     \title QML Utility Elements
289     \ingroup qml-groups
290
291     \brief Elements for handling misc operations.
292
293     \generatelist{related}
294
295 */
296
297 /*!
298     \group qml-transform-elements
299     \title QML Transform Elements
300     \ingroup qml-groups
301
302     \brief Elements for handling transformations.
303
304     \generatelist{related}
305
306 */
307
308 /*!
309     \group qml-particle-elements
310     \title QML Particle Elements
311     \ingroup qml-groups
312
313     \brief Elements for handling particle effects.
314
315     This is the QtQuick 1.0 particle system, incompatible with QtQuick 2.0
316
317     There is a completely separate \l{QtQuick.Particles 2}{QtQuick 2.0 particle system}
318
319     \generatelist{related}
320
321 */