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 QITEMMODELSURFACEDATAPROXY_P_H
15#define QITEMMODELSURFACEDATAPROXY_P_H
16
17#include "qitemmodelsurfacedataproxy.h"
18#include "qsurfacedataproxy_p.h"
19
20QT_BEGIN_NAMESPACE
21
22class SurfaceItemModelHandler;
23
24class QItemModelSurfaceDataProxyPrivate : public QSurfaceDataProxyPrivate
25{
26 Q_DECLARE_PUBLIC(QItemModelSurfaceDataProxy)
27
28public:
29 QItemModelSurfaceDataProxyPrivate(QItemModelSurfaceDataProxy *q);
30 virtual ~QItemModelSurfaceDataProxyPrivate();
31
32 void connectItemModelHandler();
33
34private:
35 SurfaceItemModelHandler *m_itemModelHandler;
36
37 QString m_rowRole;
38 QString m_columnRole;
39 QString m_xPosRole;
40 QString m_yPosRole;
41 QString m_zPosRole;
42
43 // For row/column items, sort items into these categories. Other categories are ignored.
44 QStringList m_rowCategories;
45 QStringList m_columnCategories;
46
47 bool m_useModelCategories;
48 bool m_autoRowCategories;
49 bool m_autoColumnCategories;
50
51 QRegularExpression m_rowRolePattern;
52 QRegularExpression m_columnRolePattern;
53 QRegularExpression m_xPosRolePattern;
54 QRegularExpression m_yPosRolePattern;
55 QRegularExpression m_zPosRolePattern;
56
57 QString m_rowRoleReplace;
58 QString m_columnRoleReplace;
59 QString m_xPosRoleReplace;
60 QString m_yPosRoleReplace;
61 QString m_zPosRoleReplace;
62
63 QItemModelSurfaceDataProxy::MultiMatchBehavior m_multiMatchBehavior;
64
65 friend class SurfaceItemModelHandler;
66};
67
68QT_END_NAMESPACE
69
70#endif
71

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