diff options
author | Mika Salmela <mika.salmela@qt.io> | 2016-11-29 16:02:18 +0200 |
---|---|---|
committer | Mika Salmela <mika.salmela@qt.io> | 2016-11-29 14:06:06 +0000 |
commit | 4913ce866f9dcd7763edd7cec8880bca8a7eea76 (patch) | |
tree | 6b3a2fe1990d1e8d39ad8c8801ca39527b0d0720 /src/datavisualization/engine | |
parent | a78f8d6bef57dd4283094a52551705ee02909970 (diff) |
Handle data proxy change on the controller
Adds a connection to controllers to react dataProxyChange signal.
Task-number: QTBUG-57291
Change-Id: Ia9ad6880418ec861381e1a5363ce38f8d0bda2e8
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'src/datavisualization/engine')
-rw-r--r-- | src/datavisualization/engine/bars3dcontroller.cpp | 7 | ||||
-rw-r--r-- | src/datavisualization/engine/scatter3dcontroller.cpp | 7 | ||||
-rw-r--r-- | src/datavisualization/engine/surface3dcontroller.cpp | 7 |
3 files changed, 18 insertions, 3 deletions
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; |