/*
    gammaray-manual.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/>.
*/

/*!
    \page index.html
    \nextpage gammaray-getting-started.html

    \title GammaRay User Manual

    \section1 What is GammaRay?

    GammaRay is an introspection tool for Qt applications developed by \l{https://www.kdab.com/}{KDAB}.
    Leveraging the QObject introspection mechanism it allows you to observe and manipulate
    your application at runtime. This works both locally on your workstation and remotely
    on an embedded target.

    Augmenting your instruction-level debugger, GammaRay allows you to work on a much
    higher level, with the same concepts as the frameworks you use. This is especially
    useful for the more complex Qt frameworks such as model/view, state machines, or
    scene graphs.

    When trying to analyze bugs in your application, a instruction-level debugger is
    usually your first tool of choice, and rightfully so. Debuggers allow you to follow
    the program flow and allow you to inspect the state of objects or variables.
    When using a debugger with proper Qt integration, such as in QtCreator, it will
    also handle Qt's own data types correctly. However, when dealing with complex
    frameworks this level of detail is often too low-level. Keeping an overview in a
    large scene graph or following the complex interactions between models and views
    can quickly become a cumbersome task.

    GammaRay addresses this by providing domain-specific debugging aids on a much
    higher level. It provides easy ways of navigating through the complex internal
    structures you find in some Qt frameworks, such as the QtQuick scene graphs,
    model/view, QTextDocument, state machines, and more. Unlike the debugger,
    GammaRay understands those internal structures and can present them in a
    meaningful way.

    GammaRay is available for all major platforms and can inspect applications right
    from the start or attach to an already running one. It also supports
    remote debugging, which is especially valuable when working on embedded systems.

    \section1 Table Of Contents
    \list
        \li \l{Getting Started}
        \list
            \li \l{Installation}
            \li \l{Basic Operations}
            \li \l{Graphical Launcher}
            \li \l{GammaRay Client}
            \li \l{Qt Creator Integration}
            \li \l{Command Line Interface}
        \endlist
        \li \l{Tools}
        \list
            \li \l{Object Inspector}
            \li \l{Qt Quick 2 Inspector}
            \li \l{State Machine Debugger}
            \li \l{Widget Inspector}
            \li \l{Graphics Scene Inspector}
            \li \l{Qt3D Inspector}
            \li \l{Styles}
            \li \l{Web Inspector}
            \li \l{Messages}
            \li \l{Signal Plotter}
            \li \l{Timers}
            \li \l{Wayland Compositors}
            \li \l{Actions}
            \li \l{Models}
            \li \l{Text Documents}
            \li \l{Resources}
            \li \l{Translations}
            \li \l{Meta Object Browser}
            \li \l{Meta Type Browser}
            \li \l{Font Browser}
            \li \l{Locales}
            \li \l{Mime Types}
            \li \l{Network}
            \li \l{Text Codecs}
            \li \l{Standard Paths}
        \endlist
        \li \l{Examples}
    \endlist
*/
