15 #ifndef QGSFIELDLISTCOMBOBOX_H
16 #define QGSFIELDLISTCOMBOBOX_H
43 Q_PROPERTY(
QgsVectorLayer *sourceLayer READ sourceLayer WRITE setSourceLayer NOTIFY sourceLayerChanged )
44 Q_PROPERTY( QString displayExpression READ displayExpression WRITE setDisplayExpression NOTIFY displayExpressionChanged )
45 Q_PROPERTY( QString filterExpression READ filterExpression WRITE setFilterExpression NOTIFY filterExpressionChanged )
46 Q_PROPERTY( QVariant identifierValue READ identifierValue WRITE setIdentifierValue NOTIFY identifierValueChanged )
47 Q_PROPERTY( QVariantList identifierValues READ identifierValues WRITE setIdentifierValues NOTIFY identifierValueChanged )
48 Q_PROPERTY( QString identifierField READ identifierField WRITE setIdentifierField NOTIFY identifierFieldChanged )
49 Q_PROPERTY(
bool allowNull READ allowNull WRITE setAllowNull NOTIFY allowNullChanged )
72 void setCurrentFeature(
const QgsFeature &feature );
78 QString displayExpression()
const;
84 void setDisplayExpression(
const QString &displayExpression );
90 QString filterExpression()
const;
98 int nullIndex()
const;
104 void setFilterExpression(
const QString &filterExpression );
111 Q_DECL_DEPRECATED QVariant identifierValue()
const SIP_DEPRECATED;
118 QVariantList identifierValues()
const;
126 Q_DECL_DEPRECATED
void setIdentifierValue(
const QVariant &identifierValue )
SIP_DEPRECATED;
133 void setIdentifierValues(
const QVariantList &identifierValues );
139 void setIdentifierValuesToNull();
150 bool allowNull()
const;
155 void setAllowNull(
bool allowNull );
169 QStringList identifierFields()
const;
176 Q_DECL_DEPRECATED
void setIdentifierField(
const QString &identifierField )
SIP_DEPRECATED;
183 void setIdentifierFields(
const QStringList &identifierFields );
188 QModelIndex currentModelIndex()
const;
190 void focusOutEvent( QFocusEvent *event )
override;
192 void keyPressEvent( QKeyEvent *event )
override;
238 void onCurrentTextChanged(
const QString &text );
239 void onFilterUpdateCompleted();
240 void onLoadingChanged();
241 void onItemSelected(
const QModelIndex &index );
242 void onCurrentIndexChanged(
int i );
243 void onActivated( QModelIndex index );
244 void storeLineEditState();
245 void restoreLineEditState();
246 void onDataChanged(
const QModelIndex &topLeft,
const QModelIndex &bottomRight,
const QVector<int> &roles = QVector<int>() );
250 QCompleter *mCompleter =
nullptr;
252 bool mPopupRequested =
false;
253 bool mIsCurrentlyEdited =
false;
255 friend class TestQgsFeatureListComboBox;
Animated icon is keeping an animation running if there are listeners connected to frameChanged.
Provides a list of features based on filter conditions.
This offers a combobox with autocompleter that allows selecting features from a layer.
void allowNullChanged()
Determines if a NULL value should be available in the list.
void modelUpdated()
The underlying model has been updated.
void identifierValueChanged()
The identifier value of the currently selected feature.
void sourceLayerChanged()
The layer from which features should be listed.
void displayExpressionChanged()
The display expression will be used to display features as well as the the value to match the typed t...
void identifierFieldChanged()
Field name that will be used to uniquely identify the current feature.
void filterExpressionChanged()
An additional expression to further restrict the available features.
This class wraps a request for features to a vector layer (or directly its vector data provider).
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
QLineEdit subclass with built in support for clearing the widget's value and handling custom null val...
Represents a vector layer which manages a vector based data sets.