1// qsortfilterproxymodel.sip generated by MetaSIP
2//
3// This file is part of the QtCore Python extension module.
4//
5// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
6//
7// This file is part of PyQt5.
8//
9// This file may be used under the terms of the GNU General Public License
10// version 3.0 as published by the Free Software Foundation and appearing in
11// the file LICENSE included in the packaging of this file.  Please review the
12// following information to ensure the GNU General Public License version 3.0
13// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
14//
15// If you do not wish to use this file under the terms of the GPL version 3.0
16// then you may purchase a commercial license.  For more information contact
17// info@riverbankcomputing.com.
18//
19// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21
22
23class QSortFilterProxyModel : QAbstractProxyModel
24{
25%TypeHeaderCode
26#include <qsortfilterproxymodel.h>
27%End
28
29public:
30    explicit QSortFilterProxyModel(QObject *parent /TransferThis/ = 0);
31    virtual ~QSortFilterProxyModel();
32    virtual void setSourceModel(QAbstractItemModel *sourceModel /KeepReference/);
33    virtual QModelIndex mapToSource(const QModelIndex &proxyIndex) const;
34    virtual QModelIndex mapFromSource(const QModelIndex &sourceIndex) const;
35    virtual QItemSelection mapSelectionToSource(const QItemSelection &proxySelection) const;
36    virtual QItemSelection mapSelectionFromSource(const QItemSelection &sourceSelection) const;
37    QRegExp filterRegExp() const;
38%If (Qt_5_12_0 -)
39    QRegularExpression filterRegularExpression() const;
40%End
41    int filterKeyColumn() const;
42    void setFilterKeyColumn(int column);
43    Qt::CaseSensitivity filterCaseSensitivity() const;
44    void setFilterCaseSensitivity(Qt::CaseSensitivity cs);
45
46public slots:
47    void invalidate();
48    void setFilterFixedString(const QString &pattern);
49    void setFilterRegExp(const QRegExp &regExp);
50    void setFilterRegExp(const QString &pattern);
51%If (Qt_5_12_0 -)
52    void setFilterRegularExpression(const QRegularExpression &regularExpression);
53%End
54%If (Qt_5_12_0 -)
55    void setFilterRegularExpression(const QString &pattern);
56%End
57    void setFilterWildcard(const QString &pattern);
58
59protected:
60    virtual bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const;
61    virtual bool filterAcceptsColumn(int source_column, const QModelIndex &source_parent) const;
62    virtual bool lessThan(const QModelIndex &left, const QModelIndex &right) const;
63
64public:
65    virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const;
66    virtual QModelIndex parent(const QModelIndex &child) const;
67    QObject *parent() const;
68    virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
69    virtual int columnCount(const QModelIndex &parent = QModelIndex()) const;
70    virtual bool hasChildren(const QModelIndex &parent = QModelIndex()) const;
71    virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
72    virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole);
73%If (Qt_5_5_0 -)
74    virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
75%End
76%If (- Qt_5_5_0)
77    virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::EditRole) const;
78%End
79    virtual bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole);
80    virtual QMimeData *mimeData(const QModelIndexList &indexes) const /TransferBack/;
81    virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent);
82    virtual bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex());
83    virtual bool insertColumns(int column, int count, const QModelIndex &parent = QModelIndex());
84    virtual bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex());
85    virtual bool removeColumns(int column, int count, const QModelIndex &parent = QModelIndex());
86    virtual void fetchMore(const QModelIndex &parent);
87    virtual bool canFetchMore(const QModelIndex &parent) const;
88    virtual Qt::ItemFlags flags(const QModelIndex &index) const;
89    virtual QModelIndex buddy(const QModelIndex &index) const;
90    virtual QSize span(const QModelIndex &index) const;
91    virtual QModelIndexList match(const QModelIndex &start, int role, const QVariant &value, int hits = 1, Qt::MatchFlags flags = Qt::MatchStartsWith|Qt::MatchWrap) const;
92    virtual void sort(int column, Qt::SortOrder order = Qt::AscendingOrder);
93    Qt::CaseSensitivity sortCaseSensitivity() const;
94    void setSortCaseSensitivity(Qt::CaseSensitivity cs);
95    bool dynamicSortFilter() const;
96    void setDynamicSortFilter(bool enable);
97    int sortRole() const;
98    void setSortRole(int role);
99    int sortColumn() const;
100    Qt::SortOrder sortOrder() const;
101    int filterRole() const;
102    void setFilterRole(int role);
103    virtual QStringList mimeTypes() const;
104    virtual Qt::DropActions supportedDropActions() const;
105    bool isSortLocaleAware() const;
106    void setSortLocaleAware(bool on);
107    virtual QModelIndex sibling(int row, int column, const QModelIndex &idx) const;
108%If (Qt_5_10_0 -)
109    bool isRecursiveFilteringEnabled() const;
110%End
111%If (Qt_5_10_0 -)
112    void setRecursiveFilteringEnabled(bool recursive);
113%End
114
115protected:
116    void invalidateFilter();
117
118signals:
119%If (Qt_5_15_0 -)
120    void dynamicSortFilterChanged(bool dynamicSortFilter);
121%End
122%If (Qt_5_15_0 -)
123    void filterCaseSensitivityChanged(Qt::CaseSensitivity filterCaseSensitivity);
124%End
125%If (Qt_5_15_0 -)
126    void sortCaseSensitivityChanged(Qt::CaseSensitivity sortCaseSensitivity);
127%End
128%If (Qt_5_15_0 -)
129    void sortLocaleAwareChanged(bool sortLocaleAware);
130%End
131%If (Qt_5_15_0 -)
132    void sortRoleChanged(int sortRole);
133%End
134%If (Qt_5_15_0 -)
135    void filterRoleChanged(int filterRole);
136%End
137%If (Qt_5_15_0 -)
138    void recursiveFilteringEnabledChanged(bool recursiveFilteringEnabled);
139%End
140};
141