/****************************************************************************
**
** Copyright (C) 2012 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 qtquick-index.html
\title Qt Quick
\brief The Qt Quick module implements the "standard library" for QML

The Qt Quick module is the standard library for writing QML applications.
While the \l{Qt QML} module provides the QML engine and
language infrastructure, the Qt Quick module provides all the basic
elements necessary for creating user interfaces with QML. It
provides a visual canvas and includes types for creating and animating
visual components, receiving user input, creating data models and views
and delayed object instantiation.

The Qt Quick module provides both the \c QtQuick QML module, which supplies
\l{Qt Quick QML Types}{a set of QML types} for creating user
interfaces with the QML language, and the \c QtQuick C++ module, which supplies
\l{Qt Quick Module - C++ Classes}{a set of C++ APIs} for integrating with user interfaces and
applications built with QML and the \c QtQuick QML module.

For those new to QML and Qt Quick, please see
\l{QML Application Developer Resources}
for an introduction to writing QML applications.


\section1 Important Concepts in Qt Quick

Qt Quick provides everything needed to create a rich application with a fluid
and dynamic user interface. It enables user interfaces to be built around the
behavior of user interface components and how they connect with one another,
and it provides a visual canvas with its own coordinate system and rendering
engine. Animation and transition effects are a first class concept in Qt Quick,
and visual effects can be supplemented through specialised components for
particle and shader effects.

\list
\li \l{qtquick-visualcanvas-topic.html}{The Visual Canvas}
\li \l{qtquick-input-topic.html}{User Input}
\li \l{qtquick-positioning-topic.html}{Positioning}
\li \l{qtquick-statesanimations-topic.html}{States, Transitions And Animations}
\li \l{qtquick-modelviewsdata-topic.html}{Data - Models, Views and Data Storage}
\li \l{qtquick-effects-topic.html}{Particles And Graphical Effects}
\li \l{qtquick-convenience-topic.html}{Convenience Types}
\endlist

When using the \c QtQuick module, you will need to know how to write QML
applications using the QML language. In particular, you should have a grasp
of the \l{qtquick-quickstart-basics.html}{QML Basics} and
\l{qtquick-quickstart-essentials.html}{QML Essentials} from the
\l{qtquick-applicationdevelopers.html}{QML Application Developer Resources}.

To find out more about using the QML language, see the \l{Qt QML Module Documentation}.


\section1 Qt Quick Module Documentation

\list
    \li \l{qtquick-qmltypereference.html}{QML Types provided by the QtQuick Module}
        \list
        \li \l{qtquick-qmltypereference.html#importing-qtquick}{Importing QtQuick}
        \li \l{qtquick-qmltypereference.html#basic-types}{Basic Types}
        \li \l{qtquick-qmltypereference.html#object-types}{Object Types}
            \list
            \li \l{qtquick-qmltypereference.html#visual-types}{Visual Types}
            \li \l{qtquick-qmltypereference.html#user-input}{User Input}
            \li \l{qtquick-qmltypereference.html#positioning}{Positioning}
            \li \l{qtquick-qmltypereference.html#states-transitions-and-animations}{States, Transitions And Animations}
            \li \l{qtquick-qmltypereference.html#model-view-types-and-data-storage-and-access}{Model/View Types And Data Storage And Access}
            \li \l{qtquick-qmltypereference.html#graphical-effects}{Graphical Effects}
            \li \l{qtquick-qmltypereference.html#convenience-types}{Convenience Types}
            \li \l{qtquick-qmltypereference.html#canvas-similar-to-html5-canvas}{Canvas (similar to HTML5 Canvas)}
            \endlist
        \endlist

    \li \l{qtquick-cppextensionpoints.html}{C++ Extension Points}
        \list
        \li \l{qtquick-cppextensionpoints.html#user-defined-qquickitem-derived-types}{Creating User-Defined QQuickItem-Derived Types}
        \li \l{qtquick-cppextensionpoints.html#scene-graph-related-classes}{Scene Graph-Related Classes}
        \li \l{qtquick-cppextensionpoints.html#pixmap-and-threaded-image-support}{Pixmap and Threaded Image Support}
        \endlist

\endlist

\section1 Reference Documentation

Additional Qt Quick information:
\list
\li \l{Qt Quick Module - C++ Classes} - the C++ API provided by the
    Qt Quick module
\li \l{Qt Quick QML Types} - a list of QML types provided by the
    \c{QtQuick} import
    \list
    \li \l{QML Module QtQuick.XmlListModel 2.0}{XML List Model} - contains types
    for creating models from XML data
    \li \l{QML Module QtQuick.LocalStorage 2.0}{Local Storage} - a submodule
    containing a JavaScript interface for an SQLite database
    \li \l{QML Module QtQuick.Particles 2.0}{Particles} - provides a particle
    system for Qt Quick
    \li \l{QML Module QtQuick.Window 2.0}{Window} - contains types for creating
    top-level windows and accessing screen information
    \endlist
\li \l{Qt Quick Release Notes} - list of changes and additions in the Qt Quick
\li \l{Qt Quick Code Samples} - list of all Qt Quick examples
module
\endlist

Further information for writing QML applications:
\list
\li \l{QML Application Developer Resources}
    - essential information for application development with QML and Qt Quick
\li \l{Qt Qml} - documentation for the
    Qt QML module, which provides the QML engine and language infrastructure
\endlist
*/
