From 106d7c6c93b20fb26ee9a5a9e759a80f1e081068 Mon Sep 17 00:00:00 2001 From: peri4 Date: Wed, 1 Nov 2023 20:59:22 +0300 Subject: [PATCH] adopt for Qt6 --- libs/graphic3d/scatter3d.cpp | 13 +++++++++++++ libs/graphic3d/scatter3d.h | 16 +++++++++++++++- libs/piqt/piqt.h | 2 ++ libs/piqt_utils/pivaluetree_edit_parameters.cpp | 1 + 4 files changed, 31 insertions(+), 1 deletion(-) diff --git a/libs/graphic3d/scatter3d.cpp b/libs/graphic3d/scatter3d.cpp index 7d78a5c..48c474c 100644 --- a/libs/graphic3d/scatter3d.cpp +++ b/libs/graphic3d/scatter3d.cpp @@ -9,10 +9,18 @@ Scatter3D::Scatter3D(QWidget * parent): QWidget{parent} { curGraphic = 0; +#if QT_VERSION_MAJOR == 5 canvas = new QtDataVisualization::Q3DScatter(); +#else + canvas = new Q3DScatter(); +#endif canvas->setFlag(Qt::FramelessWindowHint); canvas->axisZ()->setReversed(true); +#if QT_VERSION_MAJOR == 5 canvas->setShadowQuality(QtDataVisualization::QAbstract3DGraph::ShadowQualityNone); +#else + canvas->setShadowQuality(QAbstract3DGraph::ShadowQualityNone); +#endif container = QWidget::createWindowContainer(canvas); setLayout(new QVBoxLayout(this)); layout()->setContentsMargins(0, 0, 0, 0); @@ -98,8 +106,13 @@ void Scatter3D::setGraphicMeshSmooth(bool smooth, int index) { void Scatter3D::addGraphic(const QColor & color, float pointSize, Mesh mesh, bool meshSmooth) { Scatter3DGraphic sg; +#if QT_VERSION_MAJOR == 5 sg.data = new QtDataVisualization::QScatterDataProxy(); sg.series = new QtDataVisualization::QScatter3DSeries(sg.data); +#else + sg.data = new QScatterDataProxy(); + sg.series = new QScatter3DSeries(sg.data); +#endif sg.series->setItemSize(pointSize); sg.series->setBaseColor(color); sg.series->setMesh(mesh); diff --git a/libs/graphic3d/scatter3d.h b/libs/graphic3d/scatter3d.h index 978be55..d1fc734 100644 --- a/libs/graphic3d/scatter3d.h +++ b/libs/graphic3d/scatter3d.h @@ -25,18 +25,27 @@ #include #include +#if QT_VERSION_MAJOR == 5 namespace QtDataVisualization { +#endif class Q3DScatter; class QScatterDataProxy; class QScatter3DSeries; class QScatterDataItem; +#if QT_VERSION_MAJOR == 5 } // namespace QtDataVisualization +#endif class QAD_GRAPHIC3D_EXPORT Scatter3D: public QWidget { Q_OBJECT +#if QT_VERSION_MAJOR == 6 + using Mesh = QAbstract3DSeries::Mesh; + using DataArray = QVector; +#else using Mesh = QtDataVisualization::QAbstract3DSeries::Mesh; using DataArray = QVector; +#endif Q_PROPERTY(int currentGraphic READ currentGraphic WRITE setCurrentGraphic) Q_PROPERTY(int graphicsCount READ graphicsCount WRITE setGraphicsCount) @@ -86,12 +95,17 @@ public slots: private: struct Scatter3DGraphic { +#if QT_VERSION_MAJOR == 5 QtDataVisualization::QScatter3DSeries * series; QtDataVisualization::QScatterDataProxy * data; +#else + QScatter3DSeries * series; + QScatterDataProxy * data; +#endif }; QWidget * container; - QtDataVisualization::Q3DScatter * canvas; + Q3DScatter * canvas; QVector graphics; int curGraphic; diff --git a/libs/piqt/piqt.h b/libs/piqt/piqt.h index 3664c5f..0c38544 100644 --- a/libs/piqt/piqt.h +++ b/libs/piqt/piqt.h @@ -193,11 +193,13 @@ inline QVector PI2QVector(const PIVector & v) { ret << v[i]; return ret; } +#if QT_VERSION_MAJOR == 5 template inline PIVector Q2PIVector(const QVector & v) { if (v.isEmpty()) return PIVector(); return PIVector(v.constData(), (size_t)v.size()); } +#endif template inline PIVector Q2PIVector(const QList & v) { if (v.isEmpty()) return PIVector(); diff --git a/libs/piqt_utils/pivaluetree_edit_parameters.cpp b/libs/piqt_utils/pivaluetree_edit_parameters.cpp index 5a63b14..0e2d068 100644 --- a/libs/piqt_utils/pivaluetree_edit_parameters.cpp +++ b/libs/piqt_utils/pivaluetree_edit_parameters.cpp @@ -7,6 +7,7 @@ #include #include #include +#include using Attribute = PIValueTree::Attribute;