summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/datavisualization/data/qbar3dseries.cpp2
-rw-r--r--src/datavisualization/data/qscatter3dseries.cpp2
-rw-r--r--src/datavisualization/data/qsurface3dseries.cpp2
-rw-r--r--src/datavisualization/engine/bars3dcontroller.cpp7
-rw-r--r--src/datavisualization/engine/scatter3dcontroller.cpp7
-rw-r--r--src/datavisualization/engine/surface3dcontroller.cpp7
6 files changed, 24 insertions, 3 deletions
diff --git a/src/datavisualization/data/qbar3dseries.cpp b/src/datavisualization/data/qbar3dseries.cpp
index 04aa218b..a89b1f3f 100644
--- a/src/datavisualization/data/qbar3dseries.cpp
+++ b/src/datavisualization/data/qbar3dseries.cpp
@@ -326,6 +326,8 @@ void QBar3DSeriesPrivate::connectControllerAndProxy(Abstract3DController *newCon
&Bars3DController::handleDataRowLabelsChanged);
QObject::connect(barDataProxy, &QBarDataProxy::columnLabelsChanged, controller,
&Bars3DController::handleDataColumnLabelsChanged);
+ QObject::connect(qptr(), &QBar3DSeries::dataProxyChanged, controller,
+ &Bars3DController::handleArrayReset);
}
}
diff --git a/src/datavisualization/data/qscatter3dseries.cpp b/src/datavisualization/data/qscatter3dseries.cpp
index a674fa02..54873485 100644
--- a/src/datavisualization/data/qscatter3dseries.cpp
+++ b/src/datavisualization/data/qscatter3dseries.cpp
@@ -306,6 +306,8 @@ void QScatter3DSeriesPrivate::connectControllerAndProxy(Abstract3DController *ne
controller, &Scatter3DController::handleItemsRemoved);
QObject::connect(scatterDataProxy, &QScatterDataProxy::itemsInserted,
controller, &Scatter3DController::handleItemsInserted);
+ QObject::connect(qptr(), &QScatter3DSeries::dataProxyChanged,
+ controller, &Scatter3DController::handleArrayReset);
}
}
diff --git a/src/datavisualization/data/qsurface3dseries.cpp b/src/datavisualization/data/qsurface3dseries.cpp
index e2d1b03d..2e8e121d 100644
--- a/src/datavisualization/data/qsurface3dseries.cpp
+++ b/src/datavisualization/data/qsurface3dseries.cpp
@@ -440,6 +440,8 @@ void QSurface3DSeriesPrivate::connectControllerAndProxy(Abstract3DController *ne
&Surface3DController::handleRowsInserted);
QObject::connect(surfaceDataProxy, &QSurfaceDataProxy::itemChanged, controller,
&Surface3DController::handleItemChanged);
+ QObject::connect(qptr(), &QSurface3DSeries::dataProxyChanged, controller,
+ &Surface3DController::handleArrayReset);
}
}
diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp
index 1cfc4e64..6b304026 100644
--- a/src/datavisualization/engine/bars3dcontroller.cpp
+++ b/src/datavisualization/engine/bars3dcontroller.cpp
@@ -147,7 +147,12 @@ void Bars3DController::synchDataToRenderer()
void Bars3DController::handleArrayReset()
{
- QBar3DSeries *series = static_cast<QBarDataProxy *>(sender())->series();
+ QBar3DSeries *series;
+ if (qobject_cast<QBarDataProxy *>(sender()))
+ series = static_cast<QBarDataProxy *>(sender())->series();
+ else
+ series = static_cast<QBar3DSeries *>(sender());
+
if (series->isVisible()) {
adjustAxisRanges();
m_isDataDirty = true;
diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp
index 46249c3c..6fc29b20 100644
--- a/src/datavisualization/engine/scatter3dcontroller.cpp
+++ b/src/datavisualization/engine/scatter3dcontroller.cpp
@@ -135,7 +135,12 @@ QList<QScatter3DSeries *> Scatter3DController::scatterSeriesList()
void Scatter3DController::handleArrayReset()
{
- QScatter3DSeries *series = static_cast<QScatterDataProxy *>(sender())->series();
+ QScatter3DSeries *series;
+ if (qobject_cast<QScatterDataProxy *>(sender()))
+ series = static_cast<QScatterDataProxy *>(sender())->series();
+ else
+ series = static_cast<QScatter3DSeries *>(sender());
+
if (series->isVisible()) {
adjustAxisRanges();
m_isDataDirty = true;
diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp
index 28327086..1a140a5c 100644
--- a/src/datavisualization/engine/surface3dcontroller.cpp
+++ b/src/datavisualization/engine/surface3dcontroller.cpp
@@ -321,7 +321,12 @@ void Surface3DController::clearSelection()
void Surface3DController::handleArrayReset()
{
- QSurface3DSeries *series = static_cast<QSurfaceDataProxy *>(sender())->series();
+ QSurface3DSeries *series;
+ if (qobject_cast<QSurfaceDataProxy *>(sender()))
+ series = static_cast<QSurfaceDataProxy *>(sender())->series();
+ else
+ series = static_cast<QSurface3DSeries *>(sender());
+
if (series->isVisible()) {
adjustAxisRanges();
m_isDataDirty = true;