summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/scatter3dcontroller.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-01-16 14:26:22 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-01-17 07:48:24 +0200
commit2c9963be44c00e7299401e248bc94ef191e0af68 (patch)
tree97f2fdb8b2b5ea3f04ac9d3248e4d430ee1b5a2a /src/datavisualization/engine/scatter3dcontroller.cpp
parent8674307d6bafabfcaedfe175b883313f0e7d88b9 (diff)
Synchronize clicked detection properly
Implements item 2) in QTRD-2645 Task-number: QTRD-2645 Change-Id: I8b4b3a63eeeba3ba34b6865543380022a6d732ed Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/engine/scatter3dcontroller.cpp')
-rw-r--r--src/datavisualization/engine/scatter3dcontroller.cpp22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp
index 3c577fe2..a3df9288 100644
--- a/src/datavisualization/engine/scatter3dcontroller.cpp
+++ b/src/datavisualization/engine/scatter3dcontroller.cpp
@@ -67,8 +67,6 @@ void Scatter3DController::initializeOpenGL()
setRenderer(m_renderer);
synchDataToRenderer();
- QObject::connect(m_renderer, &Scatter3DRenderer::itemClicked, this,
- &Scatter3DController::handleItemClicked, Qt::QueuedConnection);
emitNeedRender();
}
@@ -193,14 +191,6 @@ void Scatter3DController::handleItemsInserted(int startIndex, int count)
emitNeedRender();
}
-void Scatter3DController::handleItemClicked(int index, QScatter3DSeries *series)
-{
- setSelectedItem(index, series);
-
- // TODO: pass clicked to parent. (QTRD-2517)
- // TODO: Also hover needed? (QTRD-2131)
-}
-
void Scatter3DController::handleAxisAutoAdjustRangeChangedInOrientation(
QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust)
{
@@ -224,6 +214,18 @@ void Scatter3DController::handleSeriesVisibilityChangedBySender(QObject *sender)
adjustValueAxisRange();
}
+void Scatter3DController::handlePendingClick()
+{
+ int index = m_renderer->clickedIndex();
+ QScatter3DSeries *series = static_cast<QScatter3DSeries *>(m_renderer->clickedSeries());
+
+ // TODO: Adjust position according to inserts/removes in the series
+
+ setSelectedItem(index, series);
+
+ m_renderer->resetClickedStatus();
+}
+
void Scatter3DController::setSelectionMode(QAbstract3DGraph::SelectionFlags mode)
{
// We only support single item selection mode and no selection mode