16 #ifndef QGSQUICKFEATURESMODEL_H
17 #define QGSQUICKFEATURESMODEL_H
19 #include <QAbstractListModel>
43 Q_PROPERTY(
int featuresCount READ featuresCount NOTIFY featuresCountChanged )
49 Q_PROPERTY( QString filterExpression READ filterExpression WRITE setFilterExpression NOTIFY filterExpressionChanged )
55 Q_PROPERTY(
int featuresLimit READ featuresLimit NOTIFY featuresLimitChanged )
62 FeatureTitle = Qt::UserRole + 1,
78 int rowCount(
const QModelIndex &parent = QModelIndex() )
const override;
79 QVariant data(
const QModelIndex &index,
int role = Qt::DisplayRole )
const override;
80 QHash<int, QByteArray> roleNames()
const override;
86 Q_INVOKABLE
void setupValueRelation(
const QVariantMap &config );
97 Q_INVOKABLE
void reloadFeatures();
106 Q_INVOKABLE
int rowFromAttribute(
const int role,
const QVariant &value )
const;
115 Q_INVOKABLE
int keyFromAttribute(
const int role,
const QVariant &value )
const;
118 int featuresLimit()
const;
120 int featuresCount()
const;
122 QString filterExpression()
const;
128 void setFilterExpression(
const QString &filterExpression );
134 void setFeatureTitleField(
const QString &attribute );
137 void setKeyField(
const QString &attribute );
165 QString buildFilterExpression();
178 const int FEATURES_LIMIT = 10000;
181 QString mFilterExpression;
190 QString mFeatureTitleField;
193 #endif // QGSQUICKFEATURESMODEL_H