1// Copyright (C) 2023 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 <QtGraphs/qabstract3dseries.h>
8#include <QtGraphs/qscatterdataproxy.h>
9
10QT_BEGIN_NAMESPACE
11
12class QScatter3DSeriesPrivate;
13
14class Q_GRAPHS_EXPORT QScatter3DSeries : public QAbstract3DSeries
15{
16 Q_OBJECT
17 Q_DECLARE_PRIVATE(QScatter3DSeries)
18 Q_PROPERTY(QScatterDataProxy *dataProxy READ dataProxy WRITE setDataProxy NOTIFY dataProxyChanged FINAL)
19 Q_PROPERTY(
20 qsizetype selectedItem READ selectedItem WRITE setSelectedItem NOTIFY selectedItemChanged FINAL)
21 Q_PROPERTY(float itemSize READ itemSize WRITE setItemSize NOTIFY itemSizeChanged FINAL)
22 Q_PROPERTY(QScatterDataArray dataArray READ dataArray WRITE setDataArray NOTIFY dataArrayChanged FINAL)
23
24public:
25 explicit QScatter3DSeries(QObject *parent = nullptr);
26 explicit QScatter3DSeries(QScatterDataProxy *dataProxy, QObject *parent = nullptr);
27 ~QScatter3DSeries() override;
28
29 void setDataProxy(QScatterDataProxy *proxy);
30 QScatterDataProxy *dataProxy() const;
31
32 void setSelectedItem(qsizetype index);
33 qsizetype selectedItem() const;
34 static qsizetype invalidSelectionIndex();
35
36 void setItemSize(float size);
37 float itemSize() const;
38
39 void setDataArray(const QScatterDataArray &newDataArray);
40 void clearArray();
41 const QScatterDataArray &dataArray() const &;
42 QScatterDataArray dataArray() &&;
43
44Q_SIGNALS:
45 void dataProxyChanged(QScatterDataProxy *proxy);
46 void selectedItemChanged(qsizetype index);
47 void itemSizeChanged(float size);
48 void dataArrayChanged(const QScatterDataArray &array);
49
50protected:
51 explicit QScatter3DSeries(QScatter3DSeriesPrivate &d, QObject *parent = nullptr);
52
53private:
54 Q_DISABLE_COPY(QScatter3DSeries)
55
56 friend class QQuickGraphsScatter;
57};
58
59QT_END_NAMESPACE
60
61#endif
62

Provided by KDAB

Privacy Policy
Learn to use CMake with our Intro Training
Find out more

source code of qtgraphs/src/graphs3d/data/qscatter3dseries.h