diff options
Diffstat (limited to 'src/datavis3d/engine/scatter3dcontroller_p.h')
-rw-r--r-- | src/datavis3d/engine/scatter3dcontroller_p.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/datavis3d/engine/scatter3dcontroller_p.h b/src/datavis3d/engine/scatter3dcontroller_p.h index 437664b7..9d847852 100644 --- a/src/datavis3d/engine/scatter3dcontroller_p.h +++ b/src/datavis3d/engine/scatter3dcontroller_p.h @@ -41,9 +41,11 @@ class QScatterDataProxy; struct Scatter3DChangeBitField { bool slicingActiveChanged : 1; + bool selectedItemIndexChanged : 1; Scatter3DChangeBitField() : - slicingActiveChanged(true) + slicingActiveChanged(true), + selectedItemIndexChanged(true) { } }; @@ -63,6 +65,7 @@ private: // Rendering Scatter3DRenderer *m_renderer; QScatterDataProxy *m_data; + int m_selectedItemIndex; public: explicit Scatter3DController(QRect rect); @@ -85,6 +88,10 @@ public: // Change selection mode void setSelectionMode(QDataVis::SelectionMode mode); + void setSelectedItemIndex(int index); + int selectedItemIndex() const; + static inline int noSelectionIndex() { return -1; } + #if defined(Q_OS_ANDROID) void mouseDoubleClickEvent(QMouseEvent *event); void touchEvent(QTouchEvent *event); @@ -108,9 +115,11 @@ public slots: void handleItemsChanged(int startIndex, int count); void handleItemsRemoved(int startIndex, int count); void handleItemsInserted(int startIndex, int count); + void handleSelectedItemIndexChanged(int index); signals: void slicingActiveChanged(bool isSlicing); + void selectedItemIndexChanged(int index); private: void adjustValueAxisRange(); |