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 SURFACEITEMMODELHANDLER_P_H
15#define SURFACEITEMMODELHANDLER_P_H
16
17#include "abstractitemmodelhandler_p.h"
18#include "qitemmodelsurfacedataproxy_p.h"
19
20QT_BEGIN_NAMESPACE
21
22class SurfaceItemModelHandler : public AbstractItemModelHandler
23{
24 Q_OBJECT
25public:
26 SurfaceItemModelHandler(QItemModelSurfaceDataProxy *proxy, QObject *parent = 0);
27 virtual ~SurfaceItemModelHandler();
28
29public Q_SLOTS:
30 void handleDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight,
31 const QList<int> &roles = QList<int>()) override;
32
33protected:
34 void resolveModel() override;
35
36 QItemModelSurfaceDataProxy *m_proxy; // Not owned
37 QSurfaceDataArray *m_proxyArray; // Not owned
38 int m_xPosRole;
39 int m_yPosRole;
40 int m_zPosRole;
41 QRegularExpression m_xPosPattern;
42 QRegularExpression m_yPosPattern;
43 QRegularExpression m_zPosPattern;
44 QString m_xPosReplace;
45 QString m_yPosReplace;
46 QString m_zPosReplace;
47 bool m_haveXPosPattern;
48 bool m_haveYPosPattern;
49 bool m_haveZPosPattern;
50};
51
52QT_END_NAMESPACE
53
54#endif
55

source code of qtgraphs/src/graphs/data/surfaceitemmodelhandler_p.h