16 #ifndef QGSFEATUREFILTERMODEL_P_H 17 #define QGSFEATUREFILTERMODEL_P_H 35 class QgsFieldExpressionValuesGatherer:
public QThread
42 , mDisplayExpression( displayExpression )
44 , mIdentifierField( identifierField )
52 mIterator = mSource->getFeatures( mRequest );
54 mDisplayExpression.prepare( &mExpressionContext );
57 const int attribute = mSource->
fields().
indexOf( mIdentifierField );
59 while ( mIterator.nextFeature( feat ) )
61 mExpressionContext.setFeature( feat );
62 mEntries.append( QgsFeatureFilterModel::Entry( feat.
attribute( attribute ), mDisplayExpression.evaluate( &mExpressionContext ).toString(), feat ) );
68 emit collectedValues();
78 bool wasCanceled()
const {
return mWasCanceled; }
80 QVector<QgsFeatureFilterModel::Entry> entries()
const 101 void setData(
const QVariant &data )
112 void collectedValues();
116 std::unique_ptr<QgsVectorLayerFeatureSource> mSource;
121 bool mWasCanceled =
false;
122 QVector<QgsFeatureFilterModel::Entry> mEntries;
123 QString mIdentifierField;
130 #endif // QGSFEATUREFILTERMODEL_P_H Class for parsing and evaluation of expressions (formerly called "search strings").
Wrapper for iterator of features from vector data provider or vector layer.
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
This class wraps a request for features to a vector layer (or directly its vector data provider)...
int indexOf(const QString &fieldName) const
Gets the field index from the field name.
Partial snapshot of vector layer's state (only the members necessary for access to features) ...
QVariant attribute(const QString &name) const
Lookup attribute value from attribute name.
Represents a vector layer which manages a vector based data sets.