17#ifndef QLIMITPROXYMODELQML_H
18#define QLIMITPROXYMODELQML_H
20#include <QIdentityProxyModel>
22class QLimitProxyModelQML :
public QIdentityProxyModel
26 Q_PROPERTY(QAbstractItemModel* model READ sourceModel WRITE setModel NOTIFY modelChanged)
27 Q_PROPERTY(
int limit READ limit WRITE setLimit NOTIFY limitChanged)
28 Q_PROPERTY(
int count READ rowCount NOTIFY countChanged)
31 explicit QLimitProxyModelQML(QObject *parent = 0);
35 int rowCount(
const QModelIndex &parent = QModelIndex())
const override;
36 QHash<int, QByteArray> roleNames()
const override;
39 void setModel(QAbstractItemModel *model);
40 void setLimit(
int limit);
44 void totalCountChanged();
49 void sourceRowsAboutToBeInserted(
const QModelIndex &parent,
int start,
int end);
50 void sourceRowsAboutToBeRemoved(
const QModelIndex &parent,
int start,
int end);
51 void sourceRowsInserted(
const QModelIndex &parent,
int start,
int end);
52 void sourceRowsRemoved(
const QModelIndex &parent,
int start,
int end);
56 bool m_sourceInserting;
57 bool m_sourceRemoving;
58 int m_dataChangedBegin;