summaryrefslogtreecommitdiffstats
path: root/src/datavis3d/engine/scatter3dcontroller_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavis3d/engine/scatter3dcontroller_p.h')
-rw-r--r--src/datavis3d/engine/scatter3dcontroller_p.h11
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();