summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/surface3drenderer.cpp
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2014-04-03 12:06:54 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2014-04-03 12:14:05 +0300
commitfdf486f4eb908c4471830b9a8708ebe7333b7bbe (patch)
tree47916e96a779401065a20044f65470cf8abf41f3 /src/datavisualization/engine/surface3drenderer.cpp
parent4633bb2121eb37397c7912ec9d54d7b3ba54d44d (diff)
Axis label dragging support, part 2
Task-number: QTRD-2367 + Added emitting selection signals + Added an example about creating an input handler for axis label dragging - Snapshot for example docs to be taken Change-Id: I641f4feb9e31c32023727b1c7c695324923accc4 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavisualization/engine/surface3drenderer.cpp')
-rw-r--r--src/datavisualization/engine/surface3drenderer.cpp16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp
index a3ee0971..9e591383 100644
--- a/src/datavisualization/engine/surface3drenderer.cpp
+++ b/src/datavisualization/engine/surface3drenderer.cpp
@@ -2247,25 +2247,18 @@ void Surface3DRenderer::updateSelectionPoint(SurfaceSeriesRenderCache *cache, co
// Maps selection Id to surface point in data array
QPoint Surface3DRenderer::selectionIdToSurfacePoint(uint id)
{
-#if 0 // TODO: Implement fully in part 2
+ m_clickedType = QAbstract3DGraph::ElementNone;
// Check for label selection
if (id / alphaMultiplier == labelRowAlpha) {
- int row = id - (labelRowAlpha * alphaMultiplier);
- qDebug() << "row label" << row;
- // TODO: Pass label clicked info to input handler
+ m_clickedType = QAbstract3DGraph::ElementAxisZLabel;
return Surface3DController::invalidSelectionPosition();
} else if (id / alphaMultiplier == labelColumnAlpha) {
- int column = (id - (labelColumnAlpha * alphaMultiplier)) / 256;
- qDebug() << "column label" << column;
- // TODO: Pass label clicked info to input handler
+ m_clickedType = QAbstract3DGraph::ElementAxisXLabel;
return Surface3DController::invalidSelectionPosition();
} else if (id / alphaMultiplier == labelValueAlpha) {
- int value = (id - (labelValueAlpha * alphaMultiplier)) / 65536;
- qDebug() << "value label" << value;
- // TODO: Pass label clicked info to input handler
+ m_clickedType = QAbstract3DGraph::ElementAxisYLabel;
return Surface3DController::invalidSelectionPosition();
}
-#endif
// Not a label selection
SurfaceSeriesRenderCache *selectedCache = 0;
@@ -2286,6 +2279,7 @@ QPoint Surface3DRenderer::selectionIdToSurfacePoint(uint id)
int row = ((idInSeries - 1) / sampleSpace.width()) + sampleSpace.y();
m_clickedSeries = selectedCache->series();
+ m_clickedType = QAbstract3DGraph::ElementSeries;
return QPoint(row, column);
}