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;
206 void sourceLayerChanged();
212 void displayExpressionChanged();
218 void filterExpressionChanged();
224 void identifierValueChanged();
230 void identifierFieldChanged();
235 void allowNullChanged();
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;
260 #endif // QGSFIELDLISTCOMBOBOX_H