Source code
Revision control
Copy as Markdown
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
// Qt-Security score:significant reason:default
#ifndef QTGRAPHS_QITEMMODELSCATTERDATAPROXY_H
#define QTGRAPHS_QITEMMODELSCATTERDATAPROXY_H
#include <QtCore/qabstractitemmodel.h>
#include <QtCore/qregularexpression.h>
#include <QtCore/qstring.h>
#include <QtGraphs/qscatterdataproxy.h>
QT_BEGIN_NAMESPACE
class QItemModelScatterDataProxyPrivate;
class Q_GRAPHS_EXPORT QItemModelScatterDataProxy : public QScatterDataProxy
{
Q_OBJECT
Q_DECLARE_PRIVATE(QItemModelScatterDataProxy)
Q_PROPERTY(QAbstractItemModel *itemModel READ itemModel WRITE setItemModel NOTIFY
itemModelChanged FINAL)
Q_PROPERTY(QString xPosRole READ xPosRole WRITE setXPosRole NOTIFY xPosRoleChanged FINAL)
Q_PROPERTY(QString yPosRole READ yPosRole WRITE setYPosRole NOTIFY yPosRoleChanged FINAL)
Q_PROPERTY(QString zPosRole READ zPosRole WRITE setZPosRole NOTIFY zPosRoleChanged FINAL)
Q_PROPERTY(QString rotationRole READ rotationRole WRITE setRotationRole NOTIFY
rotationRoleChanged FINAL)
Q_PROPERTY(QString scaleRole READ scaleRole WRITE setScaleRole NOTIFY
scaleRoleChanged FINAL REVISION(6, 10))
Q_PROPERTY(QRegularExpression xPosRolePattern READ xPosRolePattern WRITE setXPosRolePattern
NOTIFY xPosRolePatternChanged FINAL)
Q_PROPERTY(QRegularExpression yPosRolePattern READ yPosRolePattern WRITE setYPosRolePattern
NOTIFY yPosRolePatternChanged FINAL)
Q_PROPERTY(QRegularExpression zPosRolePattern READ zPosRolePattern WRITE setZPosRolePattern
NOTIFY zPosRolePatternChanged FINAL)
Q_PROPERTY(QRegularExpression rotationRolePattern READ rotationRolePattern WRITE
setRotationRolePattern NOTIFY rotationRolePatternChanged FINAL)
Q_PROPERTY(QRegularExpression scaleRolePattern READ scaleRolePattern WRITE
setScaleRolePattern NOTIFY scaleRolePatternChanged FINAL REVISION (6, 10))
Q_PROPERTY(QString xPosRoleReplace READ xPosRoleReplace WRITE setXPosRoleReplace NOTIFY
xPosRoleReplaceChanged FINAL)
Q_PROPERTY(QString yPosRoleReplace READ yPosRoleReplace WRITE setYPosRoleReplace NOTIFY
yPosRoleReplaceChanged FINAL)
Q_PROPERTY(QString zPosRoleReplace READ zPosRoleReplace WRITE setZPosRoleReplace NOTIFY
zPosRoleReplaceChanged FINAL)
Q_PROPERTY(QString rotationRoleReplace READ rotationRoleReplace WRITE setRotationRoleReplace
NOTIFY rotationRoleReplaceChanged FINAL)
Q_PROPERTY(QString scaleRoleReplace READ scaleRoleReplace WRITE setScaleRoleReplace
NOTIFY scaleRoleReplaceChanged FINAL REVISION (6, 10))
QML_NAMED_ELEMENT(ItemModelScatterDataProxy)
public:
explicit QItemModelScatterDataProxy(QObject *parent = nullptr);
explicit QItemModelScatterDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr);
explicit QItemModelScatterDataProxy(QAbstractItemModel *itemModel,
const QString &xPosRole,
const QString &yPosRole,
const QString &zPosRole,
QObject *parent = nullptr);
explicit QItemModelScatterDataProxy(QAbstractItemModel *itemModel,
const QString &xPosRole,
const QString &yPosRole,
const QString &zPosRole,
const QString &rotationRole,
QObject *parent = nullptr);
~QItemModelScatterDataProxy() override;
void setItemModel(QAbstractItemModel *itemModel);
QAbstractItemModel *itemModel() const;
void setXPosRole(const QString &role);
QString xPosRole() const;
void setYPosRole(const QString &role);
QString yPosRole() const;
void setZPosRole(const QString &role);
QString zPosRole() const;
void setRotationRole(const QString &role);
QString rotationRole() const;
void setScaleRole(const QString &role);
QString scaleRole() const;
void remap(const QString &xPosRole,
const QString &yPosRole,
const QString &zPosRole,
const QString &rotationRole);
void remap(const QString &xPosRole,
const QString &yPosRole,
const QString &zPosRole,
const QString &rotationRole,
const QString &scaleRole);
void setXPosRolePattern(const QRegularExpression &pattern);
QRegularExpression xPosRolePattern() const;
void setYPosRolePattern(const QRegularExpression &pattern);
QRegularExpression yPosRolePattern() const;
void setZPosRolePattern(const QRegularExpression &pattern);
QRegularExpression zPosRolePattern() const;
void setRotationRolePattern(const QRegularExpression &pattern);
QRegularExpression rotationRolePattern() const;
void setScaleRolePattern(const QRegularExpression &pattern);
QRegularExpression scaleRolePattern() const;
void setXPosRoleReplace(const QString &replace);
QString xPosRoleReplace() const;
void setYPosRoleReplace(const QString &replace);
QString yPosRoleReplace() const;
void setZPosRoleReplace(const QString &replace);
QString zPosRoleReplace() const;
void setRotationRoleReplace(const QString &replace);
QString rotationRoleReplace() const;
void setScaleRoleReplace(const QString &replace);
QString scaleRoleReplace() const;
Q_SIGNALS:
void itemModelChanged(const QAbstractItemModel *itemModel);
void xPosRoleChanged(const QString &role);
void yPosRoleChanged(const QString &role);
void zPosRoleChanged(const QString &role);
void rotationRoleChanged(const QString &role);
void scaleRoleChanged(const QString &role);
void xPosRolePatternChanged(const QRegularExpression &pattern);
void yPosRolePatternChanged(const QRegularExpression &pattern);
void zPosRolePatternChanged(const QRegularExpression &pattern);
void rotationRolePatternChanged(const QRegularExpression &pattern);
void scaleRolePatternChanged(const QRegularExpression &pattern);
void rotationRoleReplaceChanged(const QString &replace);
void xPosRoleReplaceChanged(const QString &replace);
void yPosRoleReplaceChanged(const QString &replace);
void zPosRoleReplaceChanged(const QString &replace);
void scaleRoleReplaceChanged(const QString &replace);
private:
Q_DISABLE_COPY(QItemModelScatterDataProxy)
};
QT_END_NAMESPACE
#endif