summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/scatter3dcontroller_p.h
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-01-21 08:55:03 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-01-21 09:41:47 +0200
commit177f9d385c8cd062c4bad78cf6b794a96fa025ad (patch)
tree14b362622d07a93ea56b077e23894a7384a3ddaa /src/datavisualization/engine/scatter3dcontroller_p.h
parent818e29d4c4fd4344df20328ec3fe693acc67e11a (diff)
Selection correction for scatter when data changes
Implements item 3) in QTRD-2645 Task-number: QTRD-264 Change-Id: Ibe758bbfb3b4a74b55589a410b402bbdf07ea64f Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/engine/scatter3dcontroller_p.h')
-rw-r--r--src/datavisualization/engine/scatter3dcontroller_p.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/datavisualization/engine/scatter3dcontroller_p.h b/src/datavisualization/engine/scatter3dcontroller_p.h
index 35f4015d..2e9ade44 100644
--- a/src/datavisualization/engine/scatter3dcontroller_p.h
+++ b/src/datavisualization/engine/scatter3dcontroller_p.h
@@ -62,6 +62,30 @@ private:
QScatter3DSeries *m_selectedItemSeries; // Points to the series for which the bar is selected
// in single series selection cases.
+ struct InsertRemoveRecord {
+ bool m_isInsert;
+ int m_startIndex;
+ int m_count;
+ QAbstract3DSeries *m_series;
+
+ InsertRemoveRecord() :
+ m_isInsert(false),
+ m_startIndex(0),
+ m_count(0),
+ m_series(0)
+ {}
+
+ InsertRemoveRecord(bool isInsert, int startIndex, int count, QAbstract3DSeries *series) :
+ m_isInsert(isInsert),
+ m_startIndex(startIndex),
+ m_count(count),
+ m_series(series)
+ {}
+ };
+
+ QVector<InsertRemoveRecord> m_insertRemoveRecords;
+ bool m_recordInsertsAndRemoves;
+
public:
explicit Scatter3DController(QRect rect, Q3DScene *scene = 0);
~Scatter3DController();
@@ -93,6 +117,9 @@ public slots:
void handleItemsRemoved(int startIndex, int count);
void handleItemsInserted(int startIndex, int count);
+protected:
+ virtual void startRecordingRemovesAndInserts();
+
private:
void adjustValueAxisRange();