/*
    gammaray-qtquick2-inspector.qdoc

    This file is part of the GammaRay documentation.

    Copyright (C) 2016-2017 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com
    Author: Volker Krause <volker.krause@kdab.com>

    Licensees holding valid commercial KDAB GammaRay licenses may use this file in
    accordance with GammaRay Commercial License Agreement provided with the Software.

    Contact info@kdab.com if any conditions of this licensing are not clear to you.

    This work is also licensed under the Creative Commons Attribution-ShareAlike 4.0
    International License. See <http://creativecommons.org/licenses/by-sa/4.0/>.
*/

/*!
    \contentspage {Tools}
    \nextpage {Widget Inspector}
    \previouspage {Tools}
    \page gammaray-qtquick2-inspector.html

    \title Qt Quick 2 Inspector

    \section1 Overview

    The Qt Quick 2 inspector is the tool of choice for investigating issues with a Qt Quick user interface. This includes:

    \list
        \li Inspecting the visual item hierarchy.
        \li Remote view of the rendered content with diagnostic overlays.
        \li Inspecting the scene graph used for rendering the user interface on the GPU.
    \endlist

    If your target has multiple QQuickView instances, the combo box at the top can be used to switch between them.

    \section1 Item Tree

    The item tree is shown on the top left, and it contains the visual hierarchy of QQuickItem instances in the currently selected Qt Quick scene.
    This does not necessarily match the QObject parent/child hierarchy.
    The right side contains the same property view for the selected item you already know from the
    \l{Object Inspector}.

    \borderedimage gammaray-qq2-inspector.png

    You can navigate to the object inspector (and other applicable tools) using the context menu on the item tree. Similarly, you can
    navigate to the source code locations instantiating the current item, or the file declaring the type of the current item (if available).

    \section1 Remote View

    The remote view is shown to the lower left in the Qt Quick 2 inspector. Besides giving you a zoomable view of the rendered content,
    it provides a number of additional features:

    \list
        \li Element picking.
        \li Diagnostic overlays with layout information.
        \li Input event forwarding, for working with embedded targets.
        \li A measurement tool.
        \li Enabling of diagnostic render modes on target (availability depends on Qt version).
    \endlist

    \borderedimage gammaray-qq2-qsg-visualize.png

    \section1 Paint Analyzer

    When selecting a QQuickPaintedItem sub-class in the item tree, the paint analyzer tab is activated in the property view on the right.

    \borderedimage gammaray-qqpainteditem-paint-analyzer.png

    The paint analyzer allows you to inspect every single QPainter command that is executed, and look at the visual result after each step.

    \section1 Scene Graph

    The scene graph view shows you the internal representation used by Qt Quick 2 to render the current scene. This is particularly
    useful for debugging performance issues related to batching and rendering of custom QQuickItem sub-classes.

    \borderedimage gammaray-qq2-geometry.png

    For nodes in the scene graph you have access to:

    \list
        \li QSGNode properties, in particularly node flags and transformation matrices.
        \li Shader code, if the node has a material associated with it.
        \li Geometry and other per-vertex data, when looking at a geometry node.
    \endlist

    \section1 Examples

    The following examples make use of the Qt Quick inspector:
    \list
        \li \l{quick-event-handling}
        \li \l{quick-batching}
    \endlist
*/
