1// Copyright (C) 2021 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QIDENTITYPROXYMODEL_P_H
5#define QIDENTITYPROXYMODEL_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists for the convenience
12// of QAbstractItemModel*. This header file may change from version
13// to version without notice, or even be removed.
14//
15// We mean it.
16//
17//
18
19#include <QtCore/private/qabstractproxymodel_p.h>
20#include <QtCore/qidentityproxymodel.h>
21
22QT_BEGIN_NAMESPACE
23
24class Q_CORE_EXPORT QIdentityProxyModelPrivate : public QAbstractProxyModelPrivate
25{
26 Q_DECLARE_PUBLIC(QIdentityProxyModel)
27
28public:
29 QIdentityProxyModelPrivate()
30 {
31 }
32
33 QList<QPersistentModelIndex> layoutChangePersistentIndexes;
34 QModelIndexList proxyIndexes;
35
36 void _q_sourceRowsAboutToBeInserted(const QModelIndex &parent, int start, int end);
37 void _q_sourceRowsInserted(const QModelIndex &parent, int start, int end);
38 void _q_sourceRowsAboutToBeRemoved(const QModelIndex &parent, int start, int end);
39 void _q_sourceRowsRemoved(const QModelIndex &parent, int start, int end);
40 void _q_sourceRowsAboutToBeMoved(const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destParent, int dest);
41 void _q_sourceRowsMoved(const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destParent, int dest);
42
43 void _q_sourceColumnsAboutToBeInserted(const QModelIndex &parent, int start, int end);
44 void _q_sourceColumnsInserted(const QModelIndex &parent, int start, int end);
45 void _q_sourceColumnsAboutToBeRemoved(const QModelIndex &parent, int start, int end);
46 void _q_sourceColumnsRemoved(const QModelIndex &parent, int start, int end);
47 void _q_sourceColumnsAboutToBeMoved(const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destParent, int dest);
48 void _q_sourceColumnsMoved(const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destParent, int dest);
49
50 void _q_sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles);
51 void _q_sourceHeaderDataChanged(Qt::Orientation orientation, int first, int last);
52
53 void _q_sourceLayoutAboutToBeChanged(const QList<QPersistentModelIndex> &sourceParents, QAbstractItemModel::LayoutChangeHint hint);
54 void _q_sourceLayoutChanged(const QList<QPersistentModelIndex> &sourceParents, QAbstractItemModel::LayoutChangeHint hint);
55 void _q_sourceModelAboutToBeReset();
56 void _q_sourceModelReset();
57
58};
59
60QT_END_NAMESPACE
61
62#endif // QIDENTITYPROXYMODEL_P_H
63

source code of qtbase/src/corelib/itemmodels/qidentityproxymodel_p.h