summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/datavisualization/CMakeLists.txt28
-rw-r--r--src/datavisualization/data/abstractitemmodelhandler_p.h2
-rw-r--r--src/datavisualization/data/baritemmodelhandler.cpp2
-rw-r--r--src/datavisualization/data/qitemmodelbardataproxy.cpp2
-rw-r--r--src/datavisualization/data/qitemmodelscatterdataproxy.cpp2
-rw-r--r--src/datavisualization/data/qitemmodelsurfacedataproxy.cpp2
-rw-r--r--src/datavisualization/data/qsurface3dseries.h3
-rw-r--r--src/datavisualization/data/scatteritemmodelhandler.cpp2
-rw-r--r--src/datavisualization/data/surfaceitemmodelhandler.cpp2
-rw-r--r--src/datavisualization/doc/qtdatavis3d.qdocconf2
-rw-r--r--src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp2
-rw-r--r--src/datavisualization/doc/snippets/doc_src_q3dscatter_construction.cpp2
-rw-r--r--src/datavisualization/doc/snippets/doc_src_q3dsurface_construction.cpp2
-rw-r--r--src/datavisualization/doc/snippets/doc_src_q3dtheme.cpp2
-rw-r--r--src/datavisualization/doc/snippets/doc_src_qmldatavisualization.cpp2
-rw-r--r--src/datavisualization/doc/snippets/doc_src_qtdatavisualization.cpp2
-rw-r--r--src/datavisualization/doc/snippets/doc_src_qtdatavisualization.pro2
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-index.qdoc2
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-overview.qdoc20
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc2
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc4
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-qml-color.qdoc2
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-qml-colorgradient.qdoc2
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc4
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc4
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization.qdoc16
-rw-r--r--src/datavisualization/engine/abstract3dcontroller.cpp10
-rw-r--r--src/datavisualization/engine/abstract3drenderer.cpp4
-rw-r--r--src/datavisualization/engine/abstract3drenderer_p.h2
-rw-r--r--src/datavisualization/engine/axisrendercache.cpp2
-rw-r--r--src/datavisualization/engine/bars3dcontroller.cpp2
-rw-r--r--src/datavisualization/engine/bars3drenderer.cpp2
-rw-r--r--src/datavisualization/engine/q3dbars.cpp2
-rw-r--r--src/datavisualization/engine/q3dscatter.cpp4
-rw-r--r--src/datavisualization/engine/q3dsurface.cpp4
-rw-r--r--src/datavisualization/engine/qabstract3dgraph.cpp6
-rw-r--r--src/datavisualization/engine/qabstract3dgraph.h6
-rw-r--r--src/datavisualization/engine/scatter3dcontroller.cpp2
-rw-r--r--src/datavisualization/engine/scatter3drenderer.cpp2
-rw-r--r--src/datavisualization/engine/selectionpointer.cpp6
-rw-r--r--src/datavisualization/engine/surface3dcontroller.cpp2
-rw-r--r--src/datavisualization/engine/surface3drenderer.cpp2
-rw-r--r--src/datavisualization/input/q3dinputhandler.cpp2
-rw-r--r--src/datavisualization/input/qtouch3dinputhandler.cpp6
-rw-r--r--src/datavisualization/theme/q3dtheme.cpp24
-rw-r--r--src/datavisualization/theme/q3dtheme.h2
-rw-r--r--src/datavisualization/utils/scatterobjectbufferhelper.cpp2
-rw-r--r--src/datavisualization/utils/scatterobjectbufferhelper_p.h1
-rw-r--r--src/datavisualization/utils/surfaceobject_p.h1
-rw-r--r--src/datavisualizationqml/CMakeLists.txt5
-rw-r--r--src/datavisualizationqml/abstractdeclarative.cpp15
-rw-r--r--src/datavisualizationqml/abstractdeclarative_p.h2
-rw-r--r--src/datavisualizationqml/declarativetheme.cpp2
53 files changed, 155 insertions, 82 deletions
diff --git a/src/datavisualization/CMakeLists.txt b/src/datavisualization/CMakeLists.txt
index 0d76f126..27f82340 100644
--- a/src/datavisualization/CMakeLists.txt
+++ b/src/datavisualization/CMakeLists.txt
@@ -80,6 +80,20 @@ qt_internal_add_module(DataVisualization
utils/texturehelper.cpp utils/texturehelper_p.h
utils/utils.cpp utils/utils_p.h
utils/vertexindexer.cpp utils/vertexindexer_p.h
+ NO_PCH_SOURCES
+ # undef QT_NO_FOREACH:
+ engine/abstract3dcontroller.cpp
+ engine/abstract3drenderer.cpp
+ engine/axisrendercache.cpp
+ engine/bars3dcontroller.cpp
+ engine/bars3drenderer.cpp
+ engine/q3dscatter.cpp
+ engine/q3dsurface.cpp
+ engine/scatter3dcontroller.cpp
+ engine/scatter3drenderer.cpp
+ engine/surface3dcontroller.cpp
+ engine/surface3drenderer.cpp
+ # end undef QT_NO_FOREACH
INCLUDE_DIRECTORIES
axis
data
@@ -88,13 +102,10 @@ qt_internal_add_module(DataVisualization
input
theme
utils
- ../datavisualizationqml
PUBLIC_LIBRARIES
Qt::Core
Qt::Gui
Qt::OpenGL
- Qt::Qml
- Qt::Quick
GENERATE_CPP_EXPORTS
)
@@ -402,6 +413,17 @@ qt_internal_extend_target(DataVisualization CONDITION MACOS
PRIVATE_MODULE_INTERFACE
Qt::GuiPrivate
)
+
+qt_internal_extend_target(DataVisualization CONDITION MINGW
+ NO_UNITY_BUILD_SOURCES
+ data/qbardataitem.cpp
+ data/qscatterdataitem.cpp
+ data/qsurfacedataitem.cpp
+ # MinGW triggers `-Werror=maybe-uninitialized` on d_ptr while
+ # proper checks are in place and d_ptr is initialized in
+ # operator=()
+)
+
qt_internal_add_docs(DataVisualization
doc/qtdatavis3d.qdocconf
)
diff --git a/src/datavisualization/data/abstractitemmodelhandler_p.h b/src/datavisualization/data/abstractitemmodelhandler_p.h
index 9bdd8683..64e61838 100644
--- a/src/datavisualization/data/abstractitemmodelhandler_p.h
+++ b/src/datavisualization/data/abstractitemmodelhandler_p.h
@@ -65,6 +65,8 @@ private:
Q_DISABLE_COPY(AbstractItemModelHandler)
};
+static constexpr int noRoleIndex = -1;
+
QT_END_NAMESPACE
#endif
diff --git a/src/datavisualization/data/baritemmodelhandler.cpp b/src/datavisualization/data/baritemmodelhandler.cpp
index dfc0640e..4a8c8faa 100644
--- a/src/datavisualization/data/baritemmodelhandler.cpp
+++ b/src/datavisualization/data/baritemmodelhandler.cpp
@@ -5,8 +5,6 @@
QT_BEGIN_NAMESPACE
-static const int noRoleIndex = -1;
-
BarItemModelHandler::BarItemModelHandler(QItemModelBarDataProxy *proxy, QObject *parent)
: AbstractItemModelHandler(parent),
m_proxy(proxy),
diff --git a/src/datavisualization/data/qitemmodelbardataproxy.cpp b/src/datavisualization/data/qitemmodelbardataproxy.cpp
index 64979781..74e23cc9 100644
--- a/src/datavisualization/data/qitemmodelbardataproxy.cpp
+++ b/src/datavisualization/data/qitemmodelbardataproxy.cpp
@@ -55,7 +55,7 @@ QT_BEGIN_NAMESPACE
* item models where doing search and replace is not necessary to get the desired values.
*
* For example about using the search patterns in conjunction with the roles, see
- * \l{Qt Quick 2 Bars Example}.
+ * \l{Simple Bar Graph} example.
*
* \sa {Qt Data Visualization Data Handling}
*/
diff --git a/src/datavisualization/data/qitemmodelscatterdataproxy.cpp b/src/datavisualization/data/qitemmodelscatterdataproxy.cpp
index 556cd06b..63392cc0 100644
--- a/src/datavisualization/data/qitemmodelscatterdataproxy.cpp
+++ b/src/datavisualization/data/qitemmodelscatterdataproxy.cpp
@@ -38,7 +38,7 @@ QT_BEGIN_NAMESPACE
* item models where doing search and replace is not necessary to get the desired values.
*
* For example about using the search patterns in conjunction with the roles, see
- * ItemModelBarDataProxy usage in \l{Qt Quick 2 Bars Example}.
+ * ItemModelBarDataProxy usage in \l{Simple Bar Graph} example.
*
* \sa {Qt Data Visualization Data Handling}
*/
diff --git a/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp b/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp
index ef648f4f..75fe3691 100644
--- a/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp
+++ b/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp
@@ -61,7 +61,7 @@ QT_BEGIN_NAMESPACE
* item models where doing search and replace is not necessary to get the desired values.
*
* For example about using the search patterns in conjunction with the roles, see
- * ItemModelBarDataProxy usage in \l{Qt Quick 2 Bars Example}.
+ * ItemModelBarDataProxy usage in \l{Simple Bar Graph} example.
*
* \sa {Qt Data Visualization Data Handling}
*/
diff --git a/src/datavisualization/data/qsurface3dseries.h b/src/datavisualization/data/qsurface3dseries.h
index 8ddb138a..60804e8f 100644
--- a/src/datavisualization/data/qsurface3dseries.h
+++ b/src/datavisualization/data/qsurface3dseries.h
@@ -30,6 +30,7 @@ public:
DrawSurface = 2,
DrawSurfaceAndWireframe = DrawWireframe | DrawSurface
};
+ Q_ENUM(DrawFlag)
Q_DECLARE_FLAGS(DrawFlags, DrawFlag)
explicit QSurface3DSeries(QObject *parent = nullptr);
@@ -80,6 +81,8 @@ private:
friend class Surface3DController;
};
+Q_DECLARE_OPERATORS_FOR_FLAGS(QSurface3DSeries::DrawFlags)
+
QT_END_NAMESPACE
#endif
diff --git a/src/datavisualization/data/scatteritemmodelhandler.cpp b/src/datavisualization/data/scatteritemmodelhandler.cpp
index d7e61a92..8aa4ba7d 100644
--- a/src/datavisualization/data/scatteritemmodelhandler.cpp
+++ b/src/datavisualization/data/scatteritemmodelhandler.cpp
@@ -5,8 +5,6 @@
QT_BEGIN_NAMESPACE
-static const int noRoleIndex = -1;
-
ScatterItemModelHandler::ScatterItemModelHandler(QItemModelScatterDataProxy *proxy, QObject *parent)
: AbstractItemModelHandler(parent),
m_proxy(proxy),
diff --git a/src/datavisualization/data/surfaceitemmodelhandler.cpp b/src/datavisualization/data/surfaceitemmodelhandler.cpp
index 31af3f6e..bdec0308 100644
--- a/src/datavisualization/data/surfaceitemmodelhandler.cpp
+++ b/src/datavisualization/data/surfaceitemmodelhandler.cpp
@@ -5,8 +5,6 @@
QT_BEGIN_NAMESPACE
-static const int noRoleIndex = -1;
-
SurfaceItemModelHandler::SurfaceItemModelHandler(QItemModelSurfaceDataProxy *proxy, QObject *parent)
: AbstractItemModelHandler(parent),
m_proxy(proxy),
diff --git a/src/datavisualization/doc/qtdatavis3d.qdocconf b/src/datavisualization/doc/qtdatavis3d.qdocconf
index 3e0309a0..952cac3e 100644
--- a/src/datavisualization/doc/qtdatavis3d.qdocconf
+++ b/src/datavisualization/doc/qtdatavis3d.qdocconf
@@ -47,5 +47,3 @@ qhp.QtDataVis3D.subprojects.types.sortPages = true
navigation.landingpage = Qt Data Visualization
navigation.cppclassespage = Qt Data Visualization C++ Classes
navigation.qmltypespage = Qt Data Visualization QML Types
-
-manifestmeta.highlighted.names = "QtDataVis3D/Textured Surface Example"
diff --git a/src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp b/src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp
index 5cae4483..2f10a988 100644
--- a/src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp
+++ b/src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp
@@ -1,5 +1,5 @@
// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
//! [3]
#include <QtDataVisualization>
diff --git a/src/datavisualization/doc/snippets/doc_src_q3dscatter_construction.cpp b/src/datavisualization/doc/snippets/doc_src_q3dscatter_construction.cpp
index b8369526..5bf508f3 100644
--- a/src/datavisualization/doc/snippets/doc_src_q3dscatter_construction.cpp
+++ b/src/datavisualization/doc/snippets/doc_src_q3dscatter_construction.cpp
@@ -1,5 +1,5 @@
// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
//! [3]
#include <QtDataVisualization>
diff --git a/src/datavisualization/doc/snippets/doc_src_q3dsurface_construction.cpp b/src/datavisualization/doc/snippets/doc_src_q3dsurface_construction.cpp
index c2baaf15..3946ede6 100644
--- a/src/datavisualization/doc/snippets/doc_src_q3dsurface_construction.cpp
+++ b/src/datavisualization/doc/snippets/doc_src_q3dsurface_construction.cpp
@@ -1,5 +1,5 @@
// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
//! [5]
#include <QtDataVisualization>
diff --git a/src/datavisualization/doc/snippets/doc_src_q3dtheme.cpp b/src/datavisualization/doc/snippets/doc_src_q3dtheme.cpp
index f0802549..a192976d 100644
--- a/src/datavisualization/doc/snippets/doc_src_q3dtheme.cpp
+++ b/src/datavisualization/doc/snippets/doc_src_q3dtheme.cpp
@@ -1,5 +1,5 @@
// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include <QtDataVisualization/Q3DBars>
#include <QtDataVisualization/Q3DTheme>
diff --git a/src/datavisualization/doc/snippets/doc_src_qmldatavisualization.cpp b/src/datavisualization/doc/snippets/doc_src_qmldatavisualization.cpp
index a6e45d48..488d3a6f 100644
--- a/src/datavisualization/doc/snippets/doc_src_qmldatavisualization.cpp
+++ b/src/datavisualization/doc/snippets/doc_src_qmldatavisualization.cpp
@@ -1,5 +1,5 @@
// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
//! [0]
import QtDataVisualization 1.2
diff --git a/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.cpp b/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.cpp
index 89a34cfe..fa4e5178 100644
--- a/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.cpp
+++ b/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.cpp
@@ -1,5 +1,5 @@
// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
//! [0]
#include <QtDataVisualization>
diff --git a/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.pro b/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.pro
index 195567b3..00652a42 100644
--- a/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.pro
+++ b/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.pro
@@ -1,5 +1,5 @@
// Copyright (C) 2018 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#! [0]
QT += datavisualization
diff --git a/src/datavisualization/doc/src/qtdatavisualization-index.qdoc b/src/datavisualization/doc/src/qtdatavisualization-index.qdoc
index a81dbd16..5896b094 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-index.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-index.qdoc
@@ -14,7 +14,7 @@
customized by using themes or by adding custom items and labels.
Qt Data Visualization is built on Qt 6 and OpenGL to take advantage of
- hardware acceleration and Qt Quick 2.
+ hardware acceleration and Qt Quick.
\section1 Using the Module
diff --git a/src/datavisualization/doc/src/qtdatavisualization-overview.qdoc b/src/datavisualization/doc/src/qtdatavisualization-overview.qdoc
index ff08fb6b..0bf83ec4 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-overview.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-overview.qdoc
@@ -5,6 +5,7 @@
\title Qt Data Visualization Overview
\page qtdatavisualization-overview.html
\brief An overview of the Qt Data Visualization module.
+ \ingroup explanation
The Qt Data Visualization module provides a way to develop rapidly
responding, complex, and dynamic 3D visualization for analytical demanding
@@ -55,8 +56,8 @@
\image q3dbars-minimal.png
- For more information, see \l{How to construct a minimal Q3DBars graph},
- \l {Bars Example}, and \l {Qt Quick 2 Bars Example}.
+ For more information, see \l{How to construct a minimal Q3DBars graph}, and
+ \l {Simple Bar Graph} examples.
\section2 3D Scatter Graphs
@@ -68,8 +69,8 @@
\image q3dscatter-minimal.png
- For more information, see \l{How to construct a minimal Q3DScatter graph},
- \l{Scatter Example}, and \l{Qt Quick 2 Scatter Example}.
+ For more information, see \l{How to construct a minimal Q3DScatter graph}, and
+ \l{Simple Scatter Graph} examples.
\section2 3D Surface Graphs
@@ -81,9 +82,8 @@
\image q3dsurface-minimal.png
- For more information, see \l{How to construct a minimal Q3DSurface graph},
- \l{Surface Example}, \l{Textured Surface Example}, \l{Qt Quick 2 Surface
- Example}, and \l{Qt Quick 2 Surface Multiseries Example}.
+ For more information, see \l{How to construct a minimal Q3DSurface graph}, \l{Graph Gallery},
+ and \l{Surface Graph Gallery} examples.
\section1 Using OpenGL for Rendering Data
@@ -114,7 +114,7 @@
be partially transparent. Therefore, changing the rendering mode is a
question of performance versus quality.
- Qt Quick 2 uses a dedicated scenegraph for data rendering, and is therefore
+ Qt Quick uses a dedicated scenegraph for data rendering, and is therefore
the best choice for data visualization.
\section1 3D Axes
@@ -187,7 +187,7 @@
If a graph displays the data from several data series, some settings can be
specified separately for each series. For example, different gradients can
be specified for different layers of the graph to make it look more
- realistic. For an example, see \l{Qt Quick 2 Surface Multiseries Example}.
+ realistic. For an example, see \l{Surface Graph Gallery}.
\section1 Customizing 3D Scenes
@@ -199,7 +199,7 @@
position follows the camera automatically.
The camera can be customized by specifying its preset position, rotation,
- and zoom level. For an example, see \l{Qt Quick 2 Scatter Example}.
+ and zoom level. For an example, see \l{Simple Scatter Graph}.
\section1 Customizing Items
diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc
index 8abf4ed2..c2bb0cc5 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc
@@ -284,7 +284,7 @@
* \c selectedElementChanged signal is emitted.
*
* The signal can be used for example for implementing customized input
- * handling, as demonstrated by the \l {Qt Quick 2 Axis Dragging Example}.
+ * handling, as demonstrated by the \l {Axis Handling} example.
*
* \sa selectedLabelIndex(), selectedAxis(), selectedCustomItemIndex(), selectedCustomItem(),
* Bars3D::selectedSeries, Scatter3D::selectedSeries, Scene3D::selectionQueryPosition,
diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc
index f428524e..5116aa3a 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc
@@ -9,7 +9,7 @@
* \ingroup datavisualization_qml
* \brief 3D bar graph.
*
- * This type enables developers to render bar graphs in 3D with Qt Quick 2.
+ * This type enables developers to render bar graphs in 3D with Qt Quick.
*
* You will need to import data visualization module to use this type:
*
@@ -19,7 +19,7 @@
*
* \snippet doc_src_qmldatavisualization.cpp 1
*
- * See \l{Qt Quick 2 Bars Example} for more thorough usage example.
+ * See \l{Simple Bar Graph} for more thorough usage example.
*
* \sa Bar3DSeries, ItemModelBarDataProxy, Scatter3D, Surface3D, {Qt Data Visualization C++ Classes}
*/
diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-color.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-color.qdoc
index 12fb6650..cb8b70d2 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-qml-color.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-qml-color.qdoc
@@ -17,4 +17,6 @@
The color property describes the color of this ThemeColor.
The default color is black.
+
+ \note Transparency is not supported and will result in undefined behavior.
*/
diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-colorgradient.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-colorgradient.qdoc
index d3375a90..36277944 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-qml-colorgradient.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-qml-colorgradient.qdoc
@@ -30,6 +30,8 @@
The default color is black.
+ \note Transparency in a gradient is not supported and will result in undefined behavior.
+
\sa ColorGradient
*/
diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc
index 5088e1ca..8e43ea79 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc
@@ -9,7 +9,7 @@
\ingroup datavisualization_qml
\brief 3D scatter graph.
- This type enables developers to render scatter graphs in 3D with Qt Quick 2.
+ This type enables developers to render scatter graphs in 3D with Qt Quick.
You will need to import data visualization module to use this type:
@@ -19,7 +19,7 @@
\snippet doc_src_qmldatavisualization.cpp 2
- See \l{Qt Quick 2 Scatter Example} for more thorough usage example.
+ See \l{Simple Scatter Graph} for more thorough usage example.
\sa Scatter3DSeries, ScatterDataProxy, Bars3D, Surface3D, {Qt Data Visualization C++ Classes}
*/
diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc
index 682a4ccb..b8f47fd3 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc
@@ -9,7 +9,7 @@
\ingroup datavisualization_qml
\brief Describes the usage of the 3D surface graph.
- This type enables developers to render surface plots in 3D with Qt Quick 2.
+ This type enables developers to render surface plots in 3D with Qt Quick.
You will need to import the data visualization module to use this type:
@@ -19,7 +19,7 @@
\snippet doc_src_qmldatavisualization.cpp 3
- See \l{Qt Quick 2 Surface Example} for more thorough usage example.
+ See \l{Surface Graph Gallery} for more thorough usage example.
\sa Surface3DSeries, ItemModelSurfaceDataProxy, Bars3D, Scatter3D, {Qt Data Visualization C++ Classes}
*/
diff --git a/src/datavisualization/doc/src/qtdatavisualization.qdoc b/src/datavisualization/doc/src/qtdatavisualization.qdoc
index 7a4e6886..5b91c2da 100644
--- a/src/datavisualization/doc/src/qtdatavisualization.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization.qdoc
@@ -27,7 +27,6 @@
/*!
\group datavisualization_examples
- \ingroup all-examples
\title Qt Data Visualization Examples
\brief Examples for the Qt Data Visualization.
@@ -37,6 +36,8 @@
\section1 Examples
\annotatedlist qtdatavisualization_examples
+ The following examples show how to use Qt Quick to visualize data:
+ \annotatedlist qtdatavisualization_qmlexamples
*/
/*!
@@ -111,9 +112,9 @@
QHeightMapSurfaceDataProxy is a specialized proxy for generating a surface graph from a
heightmap image. See the QHeightMapSurfaceDataProxy documentation for more information.
- The \l{Custom Proxy Example}{Custom Proxy} example shows how a custom proxy can be created. It
- defines a custom data set based on variant lists and an extension of the basic proxy to resolve
- that data with an associated mapper.
+ The \l{Graph Gallery} example shows how a custom proxy can be created, under the
+ \uicontrol {Bar Graph} tab. It defines a custom data set based on variant lists and an
+ extension of the basic proxy to resolve that data with an associated mapper.
\section1 Dealing with Real-time Data
@@ -161,9 +162,8 @@
the default touch controls, see QTouch3DInputHandler. The default handlers
must be disabled when using customized input handlers.
- The \l{Custom Input Example} illustrates how to use a custom input handler
- to select items upon mouseover instead of mouse click. The information
- below the mouse cursor is displayed as a popup.
+ The \l{Graph Gallery} example, under \uicontrol {Scatter Graph} tab, illustrates how to use
+ a custom input handler to drag an axis label to move the visible part of the data.
In addition to perspective projection, orthographic projection can be used
to create 2D graphs by replacing the default input handler with one that
@@ -200,7 +200,7 @@
application main. It can be defined by adding \c {qputenv("QSG_RHI_BACKEND", "opengl");}
in the beginning of your main function.
\li Some platforms like Android and WinRT cannot handle multiple native windows properly,
- so only the Qt Quick 2 graphs are available in practice for those platforms.
+ so only the Qt Quick graphs are available in practice for those platforms.
\li Surfaces with non-straight rows and columns do not always render properly.
\li Q3DLight class (and Light3D QML item) are currently not usable for anything.
\li Changing most of Q3DScene properties affecting subviewports currently has no effect.
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp
index 700af4fe..f7d7f206 100644
--- a/src/datavisualization/engine/abstract3dcontroller.cpp
+++ b/src/datavisualization/engine/abstract3dcontroller.cpp
@@ -1,7 +1,9 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
-#include "abstractdeclarative_p.h"
+#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses
+
+#include "abstractdeclarativeinterface_p.h"
#include "abstract3dcontroller_p.h"
#include "qabstract3daxis_p.h"
#include "qvalue3daxis_p.h"
@@ -1592,7 +1594,7 @@ bool Abstract3DController::isOrthoProjection() const
void Abstract3DController::setAspectRatio(qreal ratio)
{
- if (m_aspectRatio != ratio) {
+ if (m_aspectRatio != ratio && ratio > 0) {
m_aspectRatio = ratio;
m_changeTracker.aspectRatioChanged = true;
emit aspectRatioChanged(m_aspectRatio);
@@ -1608,7 +1610,7 @@ qreal Abstract3DController::aspectRatio()
void Abstract3DController::setHorizontalAspectRatio(qreal ratio)
{
- if (m_horizontalAspectRatio != ratio) {
+ if (m_horizontalAspectRatio != ratio && ratio > 0) {
m_horizontalAspectRatio = ratio;
m_changeTracker.horizontalAspectRatioChanged = true;
emit horizontalAspectRatioChanged(m_horizontalAspectRatio);
@@ -1639,7 +1641,7 @@ bool Abstract3DController::reflection() const
void Abstract3DController::setReflectivity(qreal reflectivity)
{
- if (m_reflectivity != reflectivity) {
+ if (m_reflectivity != reflectivity && reflectivity > 0) {
m_reflectivity = reflectivity;
m_changeTracker.reflectivityChanged = true;
emit reflectivityChanged(m_reflectivity);
diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp
index 1fab2bdb..a39a6079 100644
--- a/src/datavisualization/engine/abstract3drenderer.cpp
+++ b/src/datavisualization/engine/abstract3drenderer.cpp
@@ -1,6 +1,8 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses
+
#include "abstract3drenderer_p.h"
#include "texturehelper_p.h"
#include "q3dcamera_p.h"
@@ -1636,7 +1638,7 @@ void Abstract3DRenderer::drawCustomItems(RenderingState state,
m_drawer->drawObject(shader, item->mesh(), item->texture());
}
}
- } else if (RenderingSelection == state) {
+ } else if (RenderingSelection == state && !volumeDetected) {
// Selection render
shader->setUniformValue(shader->MVP(), MVPMatrix);
QVector4D itemColor = indexToSelectionColor(item->index());
diff --git a/src/datavisualization/engine/abstract3drenderer_p.h b/src/datavisualization/engine/abstract3drenderer_p.h
index 401665f9..560e6d2e 100644
--- a/src/datavisualization/engine/abstract3drenderer_p.h
+++ b/src/datavisualization/engine/abstract3drenderer_p.h
@@ -24,6 +24,8 @@
#include "seriesrendercache_p.h"
#include "customrenderitem_p.h"
+#include <QtCore/qpointer.h>
+
QT_FORWARD_DECLARE_CLASS(QOffscreenSurface)
QT_BEGIN_NAMESPACE
diff --git a/src/datavisualization/engine/axisrendercache.cpp b/src/datavisualization/engine/axisrendercache.cpp
index 6fc80cd6..1218eec2 100644
--- a/src/datavisualization/engine/axisrendercache.cpp
+++ b/src/datavisualization/engine/axisrendercache.cpp
@@ -1,6 +1,8 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses
+
#include "axisrendercache_p.h"
#include <QtGui/QFontMetrics>
diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp
index fd6aae65..a307f2f4 100644
--- a/src/datavisualization/engine/bars3dcontroller.cpp
+++ b/src/datavisualization/engine/bars3dcontroller.cpp
@@ -1,6 +1,8 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses
+
#include "bars3dcontroller_p.h"
#include "bars3drenderer_p.h"
#include "qvalue3daxis_p.h"
diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp
index 76b616cd..8d2d9cce 100644
--- a/src/datavisualization/engine/bars3drenderer.cpp
+++ b/src/datavisualization/engine/bars3drenderer.cpp
@@ -1,6 +1,8 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses
+
#include "bars3drenderer_p.h"
#include "q3dcamera_p.h"
#include "shaderhelper_p.h"
diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp
index 37fd4c6c..a5204b24 100644
--- a/src/datavisualization/engine/q3dbars.cpp
+++ b/src/datavisualization/engine/q3dbars.cpp
@@ -62,7 +62,7 @@ QT_BEGIN_NAMESPACE
*
* The scene can be rotated, zoomed into, and a bar can be selected to view its value,
* but no other interaction is included in this minimal code example. You can learn more by
- * familiarizing yourself with the examples provided, like the \l{Bars Example}.
+ * familiarizing yourself with the examples provided, like the \l{Bar Graph}.
*
* \sa Q3DScatter, Q3DSurface, {Qt Data Visualization C++ Classes}
*/
diff --git a/src/datavisualization/engine/q3dscatter.cpp b/src/datavisualization/engine/q3dscatter.cpp
index 47dbe1fb..07c86110 100644
--- a/src/datavisualization/engine/q3dscatter.cpp
+++ b/src/datavisualization/engine/q3dscatter.cpp
@@ -1,6 +1,8 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses
+
#include "q3dscatter.h"
#include "q3dscatter_p.h"
@@ -51,7 +53,7 @@ QT_BEGIN_NAMESPACE
* The scene can be rotated, zoomed into, and an item can be selected to view its position,
* but no other interaction is included in this minimal code example.
* You can learn more by familiarizing yourself with the examples provided, like
- * the \l{Scatter Example}.
+ * the \l{Scatter Graph}.
*
* \sa Q3DBars, Q3DSurface, {Qt Data Visualization C++ Classes}
*/
diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp
index 5d81ef3a..2b456814 100644
--- a/src/datavisualization/engine/q3dsurface.cpp
+++ b/src/datavisualization/engine/q3dsurface.cpp
@@ -1,6 +1,8 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses
+
#include "q3dsurface.h"
#include "q3dsurface_p.h"
@@ -65,7 +67,7 @@ QT_BEGIN_NAMESPACE
* The scene can be rotated, zoomed into, and a surface point can be selected to view its position,
* but no other interaction is included in this minimal code example.
* You can learn more by familiarizing yourself with the examples provided,
- * like the \l{Surface Example}.
+ * like the \l{Surface Graph}.
*
*
* \sa Q3DBars, Q3DScatter, {Qt Data Visualization C++ Classes}
diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp
index d726036e..3b7eca01 100644
--- a/src/datavisualization/engine/qabstract3dgraph.cpp
+++ b/src/datavisualization/engine/qabstract3dgraph.cpp
@@ -15,7 +15,7 @@
#include <QtGui/QPainter>
#include <QtOpenGL/QOpenGLFramebufferObject>
#include <QtGui/QOffscreenSurface>
-#if defined(Q_OS_OSX)
+#if defined(Q_OS_MACOS)
#include <qpa/qplatformnativeinterface.h>
#endif
@@ -200,7 +200,7 @@ QAbstract3DGraph::QAbstract3DGraph(QAbstract3DGraphPrivate *d, const QSurfaceFor
d_ptr->renderLater();
-#if defined(Q_OS_OSX)
+#if defined(Q_OS_MACOS)
// Enable touch events for Mac touchpads
typedef void * (*EnableTouch)(QWindow*, bool);
EnableTouch enableTouch =
@@ -567,7 +567,7 @@ QCustom3DItem *QAbstract3DGraph::selectedCustomItem() const
* \c selectedElementChanged signal is emitted.
*
* The signal can be used for example for implementing custom input handlers, as
- * demonstrated by the \l {Axis Range Dragging With Labels Example}.
+ * demonstrated in the \l {Graph Gallery} example under \uicontrol {Scatter Graph} tab.
*
* \sa selectedLabelIndex(), selectedAxis(), selectedCustomItemIndex(), selectedCustomItem(),
* Q3DBars::selectedSeries(), Q3DScatter::selectedSeries(), Q3DSurface::selectedSeries(),
diff --git a/src/datavisualization/engine/qabstract3dgraph.h b/src/datavisualization/engine/qabstract3dgraph.h
index 9346c421..f3d8ecaa 100644
--- a/src/datavisualization/engine/qabstract3dgraph.h
+++ b/src/datavisualization/engine/qabstract3dgraph.h
@@ -22,8 +22,6 @@ class QAbstract3DSeries;
class Q_DATAVISUALIZATION_EXPORT QAbstract3DGraph : public QWindow, protected QOpenGLFunctions
{
Q_OBJECT
- Q_ENUMS(ShadowQuality)
- Q_ENUMS(ElementType)
Q_FLAGS(SelectionFlag SelectionFlags)
Q_FLAGS(OptimizationHint OptimizationHints)
Q_PROPERTY(QAbstract3DInputHandler* activeInputHandler READ activeInputHandler WRITE setActiveInputHandler NOTIFY activeInputHandlerChanged)
@@ -63,6 +61,7 @@ public:
SelectionSlice = 8,
SelectionMultiSeries = 16
};
+ Q_ENUM(SelectionFlag)
Q_DECLARE_FLAGS(SelectionFlags, SelectionFlag)
enum ShadowQuality {
@@ -74,6 +73,7 @@ public:
ShadowQualitySoftMedium,
ShadowQualitySoftHigh
};
+ Q_ENUM(ShadowQuality)
enum ElementType {
ElementNone = 0,
@@ -83,11 +83,13 @@ public:
ElementAxisZLabel,
ElementCustomItem
};
+ Q_ENUM(ElementType)
enum OptimizationHint {
OptimizationDefault = 0,
OptimizationStatic = 1
};
+ Q_ENUM(OptimizationHint)
Q_DECLARE_FLAGS(OptimizationHints, OptimizationHint)
public:
diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp
index d26eac7c..af7bb204 100644
--- a/src/datavisualization/engine/scatter3dcontroller.cpp
+++ b/src/datavisualization/engine/scatter3dcontroller.cpp
@@ -1,6 +1,8 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses
+
#include "scatter3dcontroller_p.h"
#include "scatter3drenderer_p.h"
#include "qvalue3daxis_p.h"
diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp
index 16bae194..6a224ebd 100644
--- a/src/datavisualization/engine/scatter3drenderer.cpp
+++ b/src/datavisualization/engine/scatter3drenderer.cpp
@@ -1,6 +1,8 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses
+
#include "scatter3drenderer_p.h"
#include "q3dcamera_p.h"
#include "shaderhelper_p.h"
diff --git a/src/datavisualization/engine/selectionpointer.cpp b/src/datavisualization/engine/selectionpointer.cpp
index 15020acd..d78171e3 100644
--- a/src/datavisualization/engine/selectionpointer.cpp
+++ b/src/datavisualization/engine/selectionpointer.cpp
@@ -10,7 +10,7 @@
QT_BEGIN_NAMESPACE
-const GLfloat sliceUnits = 2.5;
+const GLfloat spSliceUnits = 2.5;
SelectionPointer::SelectionPointer(Drawer *drawer)
: QObject(0),
@@ -68,7 +68,7 @@ void SelectionPointer::renderSelectionPointer(GLuint defaultFboHandle, bool useO
QMatrix4x4 projectionMatrix;
GLfloat viewPortRatio = (GLfloat)m_mainViewPort.width() / (GLfloat)m_mainViewPort.height();
if (m_cachedIsSlicingActivated) {
- GLfloat sliceUnitsScaled = sliceUnits / m_autoScaleAdjustment;
+ GLfloat sliceUnitsScaled = spSliceUnits / m_autoScaleAdjustment;
viewMatrix.lookAt(QVector3D(0.0f, 0.0f, 1.0f), zeroVector, upVector);
projectionMatrix.ortho(-sliceUnitsScaled * viewPortRatio, sliceUnitsScaled * viewPortRatio,
-sliceUnitsScaled, sliceUnitsScaled,
@@ -138,7 +138,7 @@ void SelectionPointer::renderSelectionLabel(GLuint defaultFboHandle, bool useOrt
QMatrix4x4 projectionMatrix;
GLfloat viewPortRatio = (GLfloat)m_mainViewPort.width() / (GLfloat)m_mainViewPort.height();
if (m_cachedIsSlicingActivated) {
- GLfloat sliceUnitsScaled = sliceUnits / m_autoScaleAdjustment;
+ GLfloat sliceUnitsScaled = spSliceUnits / m_autoScaleAdjustment;
viewMatrix.lookAt(QVector3D(0.0f, 0.0f, 1.0f), zeroVector, upVector);
projectionMatrix.ortho(-sliceUnitsScaled * viewPortRatio, sliceUnitsScaled * viewPortRatio,
-sliceUnitsScaled, sliceUnitsScaled,
diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp
index 03c870c1..13b32666 100644
--- a/src/datavisualization/engine/surface3dcontroller.cpp
+++ b/src/datavisualization/engine/surface3dcontroller.cpp
@@ -1,6 +1,8 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses
+
#include "surface3dcontroller_p.h"
#include "surface3drenderer_p.h"
#include "qvalue3daxis_p.h"
diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp
index 4faeea44..cffed56d 100644
--- a/src/datavisualization/engine/surface3drenderer.cpp
+++ b/src/datavisualization/engine/surface3drenderer.cpp
@@ -1,6 +1,8 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses
+
#include "surface3drenderer_p.h"
#include "q3dcamera_p.h"
#include "shaderhelper_p.h"
diff --git a/src/datavisualization/input/q3dinputhandler.cpp b/src/datavisualization/input/q3dinputhandler.cpp
index c22a99be..f62aaf70 100644
--- a/src/datavisualization/input/q3dinputhandler.cpp
+++ b/src/datavisualization/input/q3dinputhandler.cpp
@@ -16,7 +16,7 @@ static const int nearZoomRangeDivider = 12;
static const int midZoomRangeDivider = 60;
static const int farZoomRangeDivider = 120;
-static const float rotationSpeed = 100.0f;
+[[maybe_unused]] static const float rotationSpeed = 100.0f;
/*!
* \class Q3DInputHandler
diff --git a/src/datavisualization/input/qtouch3dinputhandler.cpp b/src/datavisualization/input/qtouch3dinputhandler.cpp
index 9edbd87e..35b79a9f 100644
--- a/src/datavisualization/input/qtouch3dinputhandler.cpp
+++ b/src/datavisualization/input/qtouch3dinputhandler.cpp
@@ -15,7 +15,7 @@ static const int maxSelectionJitter = 10;
static const int maxSelectionJitter = 5;
#endif
static const int tapAndHoldTime = 250;
-static const float rotationSpeed = 200.0f;
+static const float t3ihRotationSpeed = 200.0f;
static const float touchZoomDrift = 0.02f;
/*!
@@ -239,9 +239,9 @@ void QTouch3DInputHandlerPrivate::handleRotation(const QPointF &position)
float yRotation = camera->yRotation();
QPointF inputPos = q_ptr->inputPosition();
float mouseMoveX = float(inputPos.x() - position.x())
- / (scene->viewport().width() / rotationSpeed);
+ / (scene->viewport().width() / t3ihRotationSpeed);
float mouseMoveY = float(inputPos.y() - position.y())
- / (scene->viewport().height() / rotationSpeed);
+ / (scene->viewport().height() / t3ihRotationSpeed);
xRotation -= mouseMoveX;
yRotation -= mouseMoveY;
camera->setXRotation(xRotation);
diff --git a/src/datavisualization/theme/q3dtheme.cpp b/src/datavisualization/theme/q3dtheme.cpp
index 8832ad0d..0b56210b 100644
--- a/src/datavisualization/theme/q3dtheme.cpp
+++ b/src/datavisualization/theme/q3dtheme.cpp
@@ -309,6 +309,8 @@ QT_BEGIN_NAMESPACE
* \qmlproperty color Theme3D::gridLineColor
*
* The color of the grid lines.
+ *
+ * \note Transparency is not supported and will result in undefined behavior.
*/
/*!
@@ -317,6 +319,8 @@ QT_BEGIN_NAMESPACE
* The highlight color for a selected object. Used if
* \l{AbstractGraph3D::selectionMode}{selectionMode}
* has the \c AbstractGraph3D.SelectionItem flag set.
+ *
+ * \note Transparency is not supported and will result in undefined behavior.
*/
/*!
@@ -326,6 +330,8 @@ QT_BEGIN_NAMESPACE
* \l{AbstractGraph3D::selectionMode}{selectionMode}
* has the \c AbstractGraph3D.SelectionRow or \c AbstractGraph3D.SelectionColumn
* flag set.
+ *
+ * \note Transparency is not supported and will result in undefined behavior.
*/
/*!
@@ -354,6 +360,8 @@ QT_BEGIN_NAMESPACE
* The highlight gradient for a selected object. Used if
* \l{AbstractGraph3D::selectionMode}{selectionMode}
* has the \c AbstractGraph3D.SelectionItem flag set.
+ *
+ * \note Transparency is not supported and will result in undefined behavior.
*/
/*!
@@ -363,6 +371,8 @@ QT_BEGIN_NAMESPACE
* \l{AbstractGraph3D::selectionMode}{selectionMode}
* has the \c AbstractGraph3D.SelectionRow or \c AbstractGraph3D.SelectionColumn
* flag set.
+ *
+ * \note Transparency is not supported and will result in undefined behavior.
*/
/*!
@@ -606,6 +616,8 @@ QColor Q3DTheme::labelBackgroundColor() const
* \property Q3DTheme::gridLineColor
*
* \brief The color of the grid lines.
+ *
+ * \note Transparency is not supported and will result in undefined behavior.
*/
void Q3DTheme::setGridLineColor(const QColor &color)
{
@@ -996,11 +1008,13 @@ Q3DTheme::ColorStyle Q3DTheme::colorStyle() const
*/
void Q3DTheme::setType(Theme themeType)
{
- d_ptr->m_dirtyBits.themeIdDirty = true;
- if (d_ptr->m_themeId != themeType) {
- d_ptr->m_themeId = themeType;
- ThemeManager::setPredefinedPropertiesToTheme(this, themeType);
- emit typeChanged(themeType);
+ if (themeType >= ThemeQt && themeType <= ThemeUserDefined) {
+ d_ptr->m_dirtyBits.themeIdDirty = true;
+ if (d_ptr->m_themeId != themeType) {
+ d_ptr->m_themeId = themeType;
+ ThemeManager::setPredefinedPropertiesToTheme(this, themeType);
+ emit typeChanged(themeType);
+ }
}
}
diff --git a/src/datavisualization/theme/q3dtheme.h b/src/datavisualization/theme/q3dtheme.h
index 3da755d1..5087d854 100644
--- a/src/datavisualization/theme/q3dtheme.h
+++ b/src/datavisualization/theme/q3dtheme.h
@@ -50,7 +50,7 @@ public:
};
enum Theme {
- ThemeQt,
+ ThemeQt = 0,
ThemePrimaryColors,
ThemeDigia,
ThemeStoneMoss,
diff --git a/src/datavisualization/utils/scatterobjectbufferhelper.cpp b/src/datavisualization/utils/scatterobjectbufferhelper.cpp
index f4e6268e..0a04d038 100644
--- a/src/datavisualization/utils/scatterobjectbufferhelper.cpp
+++ b/src/datavisualization/utils/scatterobjectbufferhelper.cpp
@@ -9,7 +9,7 @@
QT_BEGIN_NAMESPACE
-const GLfloat itemScaler = 3.0f;
+const GLfloat ScatterObjectBufferHelper::itemScaler = 3.0f;
ScatterObjectBufferHelper::ScatterObjectBufferHelper()
: m_scaleY(0.0f)
diff --git a/src/datavisualization/utils/scatterobjectbufferhelper_p.h b/src/datavisualization/utils/scatterobjectbufferhelper_p.h
index a428ab9b..5328e029 100644
--- a/src/datavisualization/utils/scatterobjectbufferhelper_p.h
+++ b/src/datavisualization/utils/scatterobjectbufferhelper_p.h
@@ -37,6 +37,7 @@ private:
const QList<QVector3D> &indexed_vertices);
float m_scaleY;
+ static const GLfloat itemScaler;
};
QT_END_NAMESPACE
diff --git a/src/datavisualization/utils/surfaceobject_p.h b/src/datavisualization/utils/surfaceobject_p.h
index e7c7fb41..7a2b7241 100644
--- a/src/datavisualization/utils/surfaceobject_p.h
+++ b/src/datavisualization/utils/surfaceobject_p.h
@@ -14,7 +14,6 @@
#ifndef SURFACEOBJECT_P_H
#define SURFACEOBJECT_P_H
-#include "datavisualizationglobal_p.h"
#include "abstractobjecthelper_p.h"
#include "qsurfacedataproxy.h"
diff --git a/src/datavisualizationqml/CMakeLists.txt b/src/datavisualizationqml/CMakeLists.txt
index 9e394b97..110a5ef0 100644
--- a/src/datavisualizationqml/CMakeLists.txt
+++ b/src/datavisualizationqml/CMakeLists.txt
@@ -44,17 +44,20 @@ qt_internal_add_qml_module(DataVisualizationQml
enumtostringmap.cpp enumtostringmap_p.h
foreigntypes_p.h
glstatestore.cpp glstatestore_p.h
+ NO_PCH_SOURCES
+ declarativetheme.cpp # undef QT_NO_FOREACH
QML_FILES
${qml_files}
RESOURCES
${resources}
LIBRARIES
- Qt::Core
+ Qt::CorePrivate
Qt::Gui
Qt::OpenGL
Qt::Qml
Qt::Quick
Qt::DataVisualizationPrivate
+ NO_GENERATE_CPP_EXPORTS
)
qt_internal_extend_target(DataVisualizationQml CONDITION MACOS
diff --git a/src/datavisualizationqml/abstractdeclarative.cpp b/src/datavisualizationqml/abstractdeclarative.cpp
index 5358050a..af19d46f 100644
--- a/src/datavisualizationqml/abstractdeclarative.cpp
+++ b/src/datavisualizationqml/abstractdeclarative.cpp
@@ -8,7 +8,7 @@
#if defined(Q_OS_IOS)
#include <QtCore/QTimer>
#endif
-#if defined(Q_OS_OSX)
+#if defined(Q_OS_MACOS)
#include <qpa/qplatformnativeinterface.h>
#endif
@@ -64,8 +64,11 @@ AbstractDeclarative::~AbstractDeclarative()
void AbstractDeclarative::setRenderingMode(AbstractDeclarative::RenderingMode mode)
{
- if (mode == m_renderMode)
+ if (mode == m_renderMode
+ || mode <= AbstractDeclarative::RenderingMode::RenderDirectToBackground
+ || mode >= AbstractDeclarative::RenderingMode::RenderIndirect) {
return;
+ }
RenderingMode previousMode = m_renderMode;
@@ -425,7 +428,7 @@ void AbstractDeclarative::handleWindowChanged(QQuickWindow *window)
if (!window)
return;
-#if defined(Q_OS_OSX)
+#if defined(Q_OS_MACOS)
bool previousVisibility = window->isVisible();
// Enable touch events for Mac touchpads
window->setVisible(true);
@@ -562,7 +565,7 @@ void AbstractDeclarative::render()
QOpenGLFunctions *funcs = QOpenGLContext::currentContext()->functions();
- if (isVisible()) {
+ if (funcs && isVisible()) {
funcs->glDepthMask(GL_TRUE);
funcs->glEnable(GL_DEPTH_TEST);
funcs->glDepthFunc(GL_LESS);
@@ -644,8 +647,8 @@ void AbstractDeclarative::checkWindowList(QQuickWindow *window)
}
QList<QQuickWindow *> windowList;
-
- foreach (AbstractDeclarative *graph, graphWindowList.keys()) {
+ const auto graphs = graphWindowList.keys();
+ for (AbstractDeclarative *graph : graphs) {
if (graph->m_renderMode == RenderDirectToBackground
|| graph->m_renderMode == RenderDirectToBackground_NoClear) {
windowList.append(graphWindowList.value(graph));
diff --git a/src/datavisualizationqml/abstractdeclarative_p.h b/src/datavisualizationqml/abstractdeclarative_p.h
index f7b7e4cd..090738c5 100644
--- a/src/datavisualizationqml/abstractdeclarative_p.h
+++ b/src/datavisualizationqml/abstractdeclarative_p.h
@@ -110,6 +110,8 @@ public:
Q_ENUM(ShadowQuality)
Q_ENUM(RenderingMode)
Q_ENUM(ElementType)
+ Q_ENUM(SelectionFlag)
+ Q_ENUM(OptimizationHint)
Q_FLAGS(SelectionFlag SelectionFlags)
Q_FLAGS(OptimizationHint OptimizationHints)
diff --git a/src/datavisualizationqml/declarativetheme.cpp b/src/datavisualizationqml/declarativetheme.cpp
index 18dc4f8e..02f3becc 100644
--- a/src/datavisualizationqml/declarativetheme.cpp
+++ b/src/datavisualizationqml/declarativetheme.cpp
@@ -1,6 +1,8 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses
+
#include "declarativetheme_p.h"
QT_BEGIN_NAMESPACE