summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/bars3dcontroller.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-09-19 13:32:31 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-09-22 09:35:46 +0300
commit36bc54f5720bddb9899e64d665117ac1e1b5bc94 (patch)
tree71d903cacc81c7a664ce0e05a167791234f7cf62 /src/datavisualization/engine/bars3dcontroller.cpp
parent105e85170d35f7086dc96d1853298fcf8d680e06 (diff)
Allow setting the floor level on bar graphs.
Task-number: QTRD-3313 Change-Id: Ie0f8e36af8698081a6937c360043773da895b6e6 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/engine/bars3dcontroller.cpp')
-rw-r--r--src/datavisualization/engine/bars3dcontroller.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp
index bbec6967..2092dd60 100644
--- a/src/datavisualization/engine/bars3dcontroller.cpp
+++ b/src/datavisualization/engine/bars3dcontroller.cpp
@@ -36,6 +36,7 @@ Bars3DController::Bars3DController(QRect boundRect, Q3DScene *scene)
m_isBarSpecRelative(true),
m_barThicknessRatio(1.0f),
m_barSpacing(QSizeF(1.0, 1.0)),
+ m_floorLevel(0.0f),
m_renderer(0)
{
// Setting a null axis creates a new default axis according to orientation and graph type.
@@ -83,6 +84,12 @@ void Bars3DController::synchDataToRenderer()
needSceneUpdate = true;
}
+ // Floor level update requires data update, so do before abstract sync
+ if (m_changeTracker.floorLevelChanged) {
+ m_renderer->updateFloorLevel(m_floorLevel);
+ m_changeTracker.floorLevelChanged = false;
+ }
+
Abstract3DController::synchDataToRenderer();
// Notify changes to renderer
@@ -485,6 +492,19 @@ bool Bars3DController::isBarSpecRelative()
return m_isBarSpecRelative;
}
+void Bars3DController::setFloorLevel(float level)
+{
+ m_floorLevel = level;
+ m_isDataDirty = true;
+ m_changeTracker.floorLevelChanged = true;
+ emitNeedRender();
+}
+
+float Bars3DController::floorLevel() const
+{
+ return m_floorLevel;
+}
+
void Bars3DController::setSelectionMode(QAbstract3DGraph::SelectionFlags mode)
{
if (mode.testFlag(QAbstract3DGraph::SelectionSlice)