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/doc/qtdatavis3d.qdocconf4
-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/maintenance-phase.qdocinc6
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-index.qdoc3
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-overview.qdoc3
-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.qdoc1
-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/q3dscatter.cpp2
-rw-r--r--src/datavisualization/engine/q3dsurface.cpp2
-rw-r--r--src/datavisualization/engine/qabstract3dgraph.cpp4
-rw-r--r--src/datavisualization/engine/scatter3dcontroller.cpp2
-rw-r--r--src/datavisualization/engine/scatter3drenderer.cpp2
-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/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/datavisualizationqml/CMakeLists.txt5
-rw-r--r--src/datavisualizationqml/abstractdeclarative.cpp15
-rw-r--r--src/datavisualizationqml/declarativetheme.cpp2
36 files changed, 117 insertions, 37 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/doc/qtdatavis3d.qdocconf b/src/datavisualization/doc/qtdatavis3d.qdocconf
index 4180e46d..ec1b3f9d 100644
--- a/src/datavisualization/doc/qtdatavis3d.qdocconf
+++ b/src/datavisualization/doc/qtdatavis3d.qdocconf
@@ -16,7 +16,7 @@ exampledirs += ../../../examples/datavisualization \
imagedirs += ../images \
images
-depends = qtcore qtgui qtqml qtquick qtdoc qtcmake qtwidgets
+depends = qtcore qtgui qtqml qtquick qtdoc qtcmake qtwidgets qtgraphs
qhp.projects = QtDataVis3D
@@ -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/Graph Gallery"
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/maintenance-phase.qdocinc b/src/datavisualization/doc/src/maintenance-phase.qdocinc
new file mode 100644
index 00000000..65cd17b0
--- /dev/null
+++ b/src/datavisualization/doc/src/maintenance-phase.qdocinc
@@ -0,0 +1,6 @@
+\note The Qt Data Visualization module is in the maintenance phase. For new
+projects, consider using the \l {Qt Graphs} module. For 3D rendering, QtGraphs
+uses QtQuick3D, which in turn uses QtRhi. QtRhi relies on each platform's native
+rendering backend (Metal on macOS, DirectX on Windows, OpenGL or Vulkan on
+Linux). To migrate from Qt Data Visualization to Qt Graphs module, refer to
+\l {Qt Graphs Migration from Qt DataVisualization}.
diff --git a/src/datavisualization/doc/src/qtdatavisualization-index.qdoc b/src/datavisualization/doc/src/qtdatavisualization-index.qdoc
index 5896b094..6af8f4e8 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-index.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-index.qdoc
@@ -6,7 +6,6 @@
\page qtdatavisualization-index.html
\brief Provides functionality for 3D visualization.
-
The Qt Data Visualization module enables you to visualize data in 3D as
bar, scatter, and surface graphs. It's especially useful for visualizing
depth maps and large quantities of rapidly changing data, such as data
@@ -16,6 +15,8 @@
Qt Data Visualization is built on Qt 6 and OpenGL to take advantage of
hardware acceleration and Qt Quick.
+ \include maintenance-phase.qdocinc
+
\section1 Using the Module
\section2 QML API
diff --git a/src/datavisualization/doc/src/qtdatavisualization-overview.qdoc b/src/datavisualization/doc/src/qtdatavisualization-overview.qdoc
index 9857ee90..f6bbea48 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
@@ -30,6 +31,8 @@
and viewing 2D slices of the 3D data for increased readability. For more
information, see \l{Qt Data Visualization Interacting with Data}.
+ \include maintenance-phase.qdocinc
+
\section1 Graph Types
The Qt Data Visualization module provides the following 3D graph types:
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.qdoc b/src/datavisualization/doc/src/qtdatavisualization.qdoc
index 68378564..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.
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/q3dscatter.cpp b/src/datavisualization/engine/q3dscatter.cpp
index 4e5ac2d8..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"
diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp
index 0c66c32f..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"
diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp
index 35c678f5..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 =
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/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/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/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/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