1// Copyright (C) 2023 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4//
5// W A R N I N G
6// -------------
7//
8// This file is not part of the QtGraphs API. It exists purely as an
9// implementation detail. This header file may change from version to
10// version without notice, or even be removed.
11//
12// We mean it.
13
14#ifndef SCATTERITEMMODELHANDLER_P_H
15#define SCATTERITEMMODELHANDLER_P_H
16
17#include "abstractitemmodelhandler_p.h"
18#include "qitemmodelscatterdataproxy_p.h"
19
20QT_BEGIN_NAMESPACE
21
22class ScatterItemModelHandler : public AbstractItemModelHandler
23{
24 Q_OBJECT
25public:
26 ScatterItemModelHandler(QItemModelScatterDataProxy *proxy, QObject *parent = 0);
27 ~ScatterItemModelHandler() override;
28
29public Q_SLOTS:
30 void handleDataChanged(const QModelIndex &topLeft,
31 const QModelIndex &bottomRight,
32 const QList<int> &roles = QList<int>()) override;
33 void handleRowsInserted(const QModelIndex &parent, int start, int end) override;
34 void handleRowsRemoved(const QModelIndex &parent, int start, int end) override;
35
36protected:
37 void resolveModel() override;
38
39private:
40 void modelPosToScatterItem(int modelRow, int modelColumn, QScatterDataItem &item);
41
42 QItemModelScatterDataProxy *m_proxy; // Not owned
43 QScatterDataArray m_proxyArray;
44 int m_xPosRole;
45 int m_yPosRole;
46 int m_zPosRole;
47 int m_rotationRole;
48 QRegularExpression m_xPosPattern;
49 QRegularExpression m_yPosPattern;
50 QRegularExpression m_zPosPattern;
51 QRegularExpression m_rotationPattern;
52 QString m_xPosReplace;
53 QString m_yPosReplace;
54 QString m_zPosReplace;
55 QString m_rotationReplace;
56 bool m_haveXPosPattern;
57 bool m_haveYPosPattern;
58 bool m_haveZPosPattern;
59 bool m_haveRotationPattern;
60};
61
62QT_END_NAMESPACE
63
64#endif
65

Provided by KDAB

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

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