// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!
    \module QtGraphs
    \qtcmakepackage Graphs
    \qtvariable graphs
    \title Qt Graphs Module

    \brief C++ classes for the Qt Graphs API.

*/

/*!
    \module QtGraphsWidgets
    \qtcmakepackage GraphsWidgets
    \qtvariable graphswidgets
    \title Qt Graphs for Widgets

    \brief C++ classes for the Qt Graphs for 3D API used with widgets.

    Widget support is included in its own module to avoid a hard dependency on
    QtWidgets when building only QML applications.
*/

/*!
    \title Qt Graphs C++ Classes
    \group graphs

    \brief C++ classes for the Qt Graphs API.

    The Qt Graphs functionality can be accessed via these C++ classes.
*/

/*!
    \title Qt Graphs C++ Classes for 2D
    \group graphs_2D
    \ingroup graphs

    \brief C++ classes for the Qt Graphs for 2D API.

    The Qt Graphs for 2D functionality can be accessed via these C++ classes.
*/

/*!
    \title Qt Graphs C++ Classes for 3D
    \group graphs_3D
    \ingroup graphs

    \brief C++ classes for the Qt Graphs for 3D API.

    The Qt Graphs for 3D functionality can be accessed via these C++ classes.
*/

/*!
    \title Qt Graphs C++ Classes for Widgets
    \group graphs_3D_widgets
    \ingroup graphs

    \brief C++ classes for the Qt Graphs for 3D API used with widgets.

    The Qt Graphs for 3D widget functionality can be accessed via these C++ classes.
*/

/*!
    \title Qt Graphs C++ Common Classes
    \group graphs_common
    \ingroup graphs

    \brief C++ classes for the Qt Graphs common API.

    The Qt Graphs common functionality, like theme, can be accessed via these C++ classes.
*/

/*!
    \qmlmodule QtGraphs
    \title Qt Graphs for QML
    \brief QML types for the Qt Graphs API.

    To use the types in this module, import the module with the following line:

    \qml
    import QtGraphs
    \endqml
*/

/*!
    \title Qt Graphs QML Types
    \group graphs_qml

    \brief QML types for the Qt Graphs API.

    The Qt Graphs functionality can be accessed via these QML types.
*/

/*!
    \title Qt Graphs QML Types for 3D
    \group graphs_qml_3D
    \ingroup graphs_qml

    \brief QML types for the Qt Graphs for 3D API.

    The Qt Graphs for 3D functionality can be accessed via these QML types.

    \section1 QML Types
*/

/*!
    \title Qt Graphs QML Types for 2D
    \group graphs_qml_2D
    \ingroup graphs_qml

    \brief QML types for the Qt Graphs for 2D API.

    The Qt Graphs for 2D functionality can be accessed via these QML types.

    \section1 QML Types
*/

/*!
    \title Qt Graphs QML Common Types
    \group graphs_qml_common
    \ingroup graphs_qml

    \brief QML types for the Qt Graphs common API.

    The Qt Graphs common functionality. like theme, can be accessed via these QML types.

    \section1 QML Types
*/

/*!
    \group graphs_examples
    \title Qt Graphs Examples

    \brief Examples for the Qt Graphs.

    For some code examples, see one of the Qt Graphs examples:
*/

/*!
    \title Qt Graphs Examples for 3D
    \group graphs_examples_3D
    \ingroup graphs_examples

    \brief Examples for the Qt Graphs for 3D.

    For some code examples, see one of the Qt Graphs for 3D examples:

    \section1 Examples

    \annotatedlist qtgraphs_qmlexamples_3D
    The following example shows how to use widgets to visualize data:
    \annotatedlist qtgraphs_examples_3D
*/

/*!
    \title Qt Graphs Examples for 2D
    \group graphs_examples_2D
    \ingroup graphs_examples

    \brief Examples for the Qt Graphs for 2D.

    For some code examples, see one of the Qt Graphs for 2D examples:

    \section1 Examples

    \annotatedlist qtgraphs_qmlexamples
    The following example shows how to use widgets to visualize data:
    \annotatedlist qtgraphs_examples
*/

/*!
    \page qtgraphs_configure_options.html
    \title Qt Graphs Configure Options

    This topic lists the configuration options that you can use to configure the
    Qt Graphs module build.

    \section1 Main Features

    If you disable both of these main features, the module will not be built at
    all.

    \list
        \li \c QT_FEATURE_graphs_2d enables building the 2D graph support into
        the Qt Graphs module. It is \c ON by default.

        To disable, pass \c{-DFEATURE_graphs_2d=OFF} to CMake.
        \li \c QT_FEATURE_graphs_3d enables building the 3D graph support into
        the Qt Graphs module. It is \c ON by default.

        To disable, pass \c{-DFEATURE_graphs_3d=OFF}
        to CMake.
    \endlist

    \section1 Qt Graphs for 2D Features

    If you disable all of these features, the Qt Graphs for 2D module will not
    be usable for anything. These options are not in effect if
    \c QT_FEATURE_graphs_2d is disabled.

    \list
        \li \c QT_FEATURE_graphs_2d_area enables building the area graph support
            into the Qt Graphs module. It is \c ON by default.

            To disable, pass \c{-DFEATURE_graphs_2d_area=OFF} to CMake.

            Enabling area graph will also enable \l LineSeries support, as that
            is the minimum requirement for creating area graphs. If
            \l SplineSeries is required for the \c upperSeries or
            \c{lowerSeries}, the \c QT_FEATURE_graphs_2d_spline option should
            also be enabled.
        \li \c QT_FEATURE_graphs_2d_bar enables building the bar graph support
            into the Qt Graphs module. It is \c ON by default.

            To disable, pass \c{-DFEATURE_graphs_2d_bar=OFF} to CMake.
        \li \c QT_FEATURE_graphs_2d_donut_pie enables building the donut and pie
            graph support into the Qt Graphs module. It is \c ON by default.

            To disable, pass \c{-DFEATURE_graphs_2d_donut_pie=OFF} to CMake.
        \li \c QT_FEATURE_graphs_2d_line enables building the line graph support
            into the Qt Graphs module. It is \c ON by default.

            To disable, pass \c{-DFEATURE_graphs_2d_line=OFF} to CMake.
        \li \c QT_FEATURE_graphs_2d_scatter enables building the scatter graph
            support into the Qt Graphs module. It is \c ON by default.

            To disable, pass \c{-DFEATURE_graphs_2d_scatter=OFF} to CMake.
        \li \c QT_FEATURE_graphs_2d_spline enables building the spline graph
            support into the Qt Graphs module. It is \c ON by default.

            To disable, pass \c{-DFEATURE_graphs_2d_spline=OFF} to CMake.
    \endlist

    \section1 Qt Graphs for 3D Features

    If you disable all of these features, the Qt Graphs for 3D module will not
    be usable for anything. These options are not in effect if
    \c QT_FEATURE_graphs_3d is disabled.

    \list
        \li \c QT_FEATURE_graphs_3d_bars3d enables building the Bars3D graph
            support into the Qt Graphs module. It is \c ON by default.

            To disable, pass \c{-DFEATURE_graphs_3d_bars3d=OFF} to CMake.
        \li \c QT_FEATURE_graphs_3d_scatter3d enables building the Scatter3D
            graph support into the Qt Graphs module. It is \c ON by default.

            To disable, pass \c{-DFEATURE_graphs_3d_scatter3d=OFF} to CMake.
        \li \c QT_FEATURE_graphs_3d_surface3d enables building the Surface3D
            graph support into the Qt Graphs module. It is \c ON by default.

            To disable, pass \c{-DFEATURE_graphs_3d_surface3d=OFF} to CMake.
    \endlist
*/

/*!
    \page qtgraphs_known_issues.html
    \title Qt Graphs Known Issues

    \section1 Qt Graphs for 3D Issues

    \list
        \li Surfaces with non-straight rows and columns do not always render properly.
        \li Widget based examples layout incorrectly in iOS.
        \li Widget based examples are not supported for Android or WinRT.
        \li Android qmake builds of QML applications importing QtGraphs also require
            "QT += graphs" in the pro file. This is because Qt Graphs
            QML plugin has a dependency to Qt Graphs C++ library, which Qt Creator
            doesn't automatically add to the deployment package.
        \li Transparency is not supported for Surface3D due to a limitation with Qt Quick 3D.
        \li Transparency functionality is not available for highlighted items
            in Bars3D and Scatter3D.
        \li Shadows are not supported with Surface3D.

    \endlist
*/
