1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4#ifndef QSCATTER3DSERIES_H
5#define QSCATTER3DSERIES_H
6
7#include <QtDataVisualization/qabstract3dseries.h>
8#include <QtDataVisualization/qscatterdataproxy.h>
9
10QT_BEGIN_NAMESPACE
11
12class QScatter3DSeriesPrivate;
13
14class Q_DATAVISUALIZATION_EXPORT QScatter3DSeries : public QAbstract3DSeries
15{
16 Q_OBJECT
17 Q_PROPERTY(QScatterDataProxy *dataProxy READ dataProxy WRITE setDataProxy NOTIFY dataProxyChanged)
18 Q_PROPERTY(int selectedItem READ selectedItem WRITE setSelectedItem NOTIFY selectedItemChanged)
19 Q_PROPERTY(float itemSize READ itemSize WRITE setItemSize NOTIFY itemSizeChanged)
20
21public:
22 explicit QScatter3DSeries(QObject *parent = nullptr);
23 explicit QScatter3DSeries(QScatterDataProxy *dataProxy, QObject *parent = nullptr);
24 virtual ~QScatter3DSeries();
25
26 void setDataProxy(QScatterDataProxy *proxy);
27 QScatterDataProxy *dataProxy() const;
28
29 void setSelectedItem(int index);
30 int selectedItem() const;
31 static int invalidSelectionIndex();
32
33 void setItemSize(float size);
34 float itemSize() const;
35
36Q_SIGNALS:
37 void dataProxyChanged(QScatterDataProxy *proxy);
38 void selectedItemChanged(int index);
39 void itemSizeChanged(float size);
40
41protected:
42 explicit QScatter3DSeries(QScatter3DSeriesPrivate *d, QObject *parent = nullptr);
43 QScatter3DSeriesPrivate *dptr();
44 const QScatter3DSeriesPrivate *dptrc() const;
45
46private:
47 Q_DISABLE_COPY(QScatter3DSeries)
48
49 friend class Scatter3DController;
50};
51
52QT_END_NAMESPACE
53
54#endif
55

source code of qtdatavis3d/src/datavisualization/data/qscatter3dseries.h