Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-06 08:49:17

0001 // Copyright (C) 2016 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author David Faure <david.faure@kdab.com>
0002 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0003 // Qt-Security score:significant reason:default
0004 
0005 #ifndef QCONCATENATEROWSPROXYMODEL_H
0006 #define QCONCATENATEROWSPROXYMODEL_H
0007 
0008 #include <QtCore/qabstractitemmodel.h>
0009 
0010 QT_REQUIRE_CONFIG(concatenatetablesproxymodel);
0011 
0012 QT_BEGIN_NAMESPACE
0013 
0014 class QConcatenateTablesProxyModelPrivate;
0015 
0016 class Q_CORE_EXPORT QConcatenateTablesProxyModel : public QAbstractItemModel
0017 {
0018     Q_OBJECT
0019 
0020 public:
0021     explicit QConcatenateTablesProxyModel(QObject *parent = nullptr);
0022     ~QConcatenateTablesProxyModel();
0023 
0024     QList<QAbstractItemModel *> sourceModels() const;
0025     Q_SCRIPTABLE void addSourceModel(QAbstractItemModel *sourceModel);
0026     Q_SCRIPTABLE void removeSourceModel(QAbstractItemModel *sourceModel);
0027 
0028     QModelIndex mapFromSource(const QModelIndex &sourceIndex) const;
0029     QModelIndex mapToSource(const QModelIndex &proxyIndex) const;
0030 
0031     QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
0032     bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
0033     QMap<int, QVariant> itemData(const QModelIndex &proxyIndex) const override;
0034     bool setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles) override;
0035     Qt::ItemFlags flags(const QModelIndex &index) const override;
0036     QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override;
0037     QModelIndex parent(const QModelIndex &index) const override;
0038     int rowCount(const QModelIndex &parent = QModelIndex()) const override;
0039     QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
0040     int columnCount(const QModelIndex &parent = QModelIndex()) const override;
0041     QStringList mimeTypes() const override;
0042     QMimeData *mimeData(const QModelIndexList &indexes) const override;
0043     bool canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const override;
0044     bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override;
0045     QSize span(const QModelIndex &index) const override;
0046     QHash<int, QByteArray> roleNames() const override;
0047 
0048 private:
0049     Q_DECLARE_PRIVATE(QConcatenateTablesProxyModel)
0050     Q_DISABLE_COPY(QConcatenateTablesProxyModel)
0051 };
0052 
0053 QT_END_NAMESPACE
0054 
0055 #endif // QCONCATENATEROWSPROXYMODEL_H