1// Copyright (C) 2016 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 QtDataVisualization 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_OBJECT
27public:
28 QItemModelSurfaceDataProxyPrivate(QItemModelSurfaceDataProxy *q);
29 virtual ~QItemModelSurfaceDataProxyPrivate();
30
31 void connectItemModelHandler();
32
33private:
34 QItemModelSurfaceDataProxy *qptr();
35
36 SurfaceItemModelHandler *m_itemModelHandler;
37
38 QString m_rowRole;
39 QString m_columnRole;
40 QString m_xPosRole;
41 QString m_yPosRole;
42 QString m_zPosRole;
43
44 // For row/column items, sort items into these categories. Other categories are ignored.
45 QStringList m_rowCategories;
46 QStringList m_columnCategories;
47
48 bool m_useModelCategories;
49 bool m_autoRowCategories;
50 bool m_autoColumnCategories;
51
52 QRegularExpression m_rowRolePattern;
53 QRegularExpression m_columnRolePattern;
54 QRegularExpression m_xPosRolePattern;
55 QRegularExpression m_yPosRolePattern;
56 QRegularExpression m_zPosRolePattern;
57
58 QString m_rowRoleReplace;
59 QString m_columnRoleReplace;
60 QString m_xPosRoleReplace;
61 QString m_yPosRoleReplace;
62 QString m_zPosRoleReplace;
63
64 QItemModelSurfaceDataProxy::MultiMatchBehavior m_multiMatchBehavior;
65
66 friend class SurfaceItemModelHandler;
67 friend class QItemModelSurfaceDataProxy;
68};
69
70QT_END_NAMESPACE
71
72#endif
73

source code of qtdatavis3d/src/datavisualization/data/qitemmodelsurfacedataproxy_p.h