diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-04-02 12:16:05 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-04-03 09:27:54 +0300 |
commit | aaf51bfad10e0eac7a8ee64e36aab5f0c1119468 (patch) | |
tree | bd20d2ec028bf1acfe4dd418b3a639b17f75b591 /src/datavisualization/engine/surface3dcontroller.cpp | |
parent | e076fa05488bb9f58393f0e636c97d07b6fb446d (diff) |
Enable querying selection label via API
Also enable suppressing drawing the label on graph.
Selection label formatting was consequently moved from renderers
to series.
Task-number: QTRD-2896
Change-Id: Ia6a1a40298d8db0f54349de3eb27fb0b683dd302
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/engine/surface3dcontroller.cpp')
-rw-r--r-- | src/datavisualization/engine/surface3dcontroller.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index 42e408dd..2d64e87d 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -297,6 +297,7 @@ void Surface3DController::handleArrayReset() } // Clear selection unless still valid setSelectedPoint(m_selectedPoint, m_selectedSeries, false); + series->d_ptr->markItemLabelDirty(); emitNeedRender(); } @@ -321,6 +322,7 @@ void Surface3DController::handleRowsChanged(int startIndex, int count) QSurface3DSeries *series = sender->series(); int oldChangeCount = m_changedRows.size(); + int selectedRow = m_selectedPoint.x(); for (int i = 0; i < count; i++) { bool newItem = true; int candidate = startIndex + i; @@ -334,6 +336,8 @@ void Surface3DController::handleRowsChanged(int startIndex, int count) if (newItem) { ChangeRow newItem = {series, candidate}; m_changedRows.append(newItem); + if (series == m_selectedSeries && selectedRow == candidate) + series->d_ptr->markItemLabelDirty(); } } if (m_changedRows.size()) { @@ -364,6 +368,9 @@ void Surface3DController::handleItemChanged(int rowIndex, int columnIndex) m_changedItems.append(newItem); m_changeTracker.itemChanged = true; + if (series == m_selectedSeries && m_selectedPoint == candidate) + series->d_ptr->markItemLabelDirty(); + adjustValueAxisRange(); // Clear selection unless still valid setSelectedPoint(m_selectedPoint, m_selectedSeries, false); |