1// Copyright (C) 2024 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4#ifndef Q3DSCATTERWIDGETITEM_H
5#define Q3DSCATTERWIDGETITEM_H
6
7#include <QtGraphs/qscatter3dseries.h>
8#include <QtGraphs/qvalue3daxis.h>
9#include <QtGraphsWidgets/q3dgraphswidgetitem.h>
10
11QT_BEGIN_NAMESPACE
12
13class QQuickGraphsScatter;
14class Q3DScatterWidgetItemPrivate;
15
16class Q_GRAPHSWIDGETS_EXPORT Q3DScatterWidgetItem : public Q3DGraphsWidgetItem
17{
18 Q_OBJECT
19 Q_PROPERTY(QValue3DAxis *axisX READ axisX WRITE setAxisX NOTIFY axisXChanged)
20 Q_PROPERTY(QValue3DAxis *axisY READ axisY WRITE setAxisY NOTIFY axisYChanged)
21 Q_PROPERTY(QValue3DAxis *axisZ READ axisZ WRITE setAxisZ NOTIFY axisZChanged)
22 Q_PROPERTY(QScatter3DSeries *selectedSeries READ selectedSeries NOTIFY selectedSeriesChanged)
23
24public:
25 explicit Q3DScatterWidgetItem(QObject *parent = nullptr);
26 ~Q3DScatterWidgetItem() override;
27
28 void addSeries(QScatter3DSeries *series);
29 void removeSeries(QScatter3DSeries *series);
30 QList<QScatter3DSeries *> seriesList() const;
31
32 void setAxisX(QValue3DAxis *axis);
33 QValue3DAxis *axisX() const;
34 void setAxisY(QValue3DAxis *axis);
35 QValue3DAxis *axisY() const;
36 void setAxisZ(QValue3DAxis *axis);
37 QValue3DAxis *axisZ() const;
38 void addAxis(QValue3DAxis *axis);
39 void releaseAxis(QValue3DAxis *axis);
40 QList<QValue3DAxis *> axes() const;
41
42 QScatter3DSeries *selectedSeries() const;
43
44protected:
45 bool event(QEvent *event) override;
46
47Q_SIGNALS:
48 void axisXChanged(QValue3DAxis *axis);
49 void axisYChanged(QValue3DAxis *axis);
50 void axisZChanged(QValue3DAxis *axis);
51 void selectedSeriesChanged(QScatter3DSeries *series);
52
53private:
54 Q_DECLARE_PRIVATE(Q3DScatterWidgetItem)
55 QQuickGraphsScatter *graphScatter();
56 const QQuickGraphsScatter *graphScatter() const;
57 Q_DISABLE_COPY(Q3DScatterWidgetItem)
58};
59
60QT_END_NAMESPACE
61
62#endif
63

Provided by KDAB

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

source code of qtgraphs/src/graphs3d/widget/q3dscatterwidgetitem.h