15 #ifndef QGSFEATURECHOOSER_H 
   16 #define QGSFEATURECHOOSER_H 
   48     Q_PROPERTY( 
QgsVectorLayer *layer READ layer WRITE setLayer NOTIFY layerChanged )
 
   49     Q_PROPERTY( QString displayExpression READ displayExpression WRITE setDisplayExpression NOTIFY displayExpressionChanged )
 
   50     Q_PROPERTY( QString filterExpression READ filterExpression WRITE setFilterExpression NOTIFY filterExpressionChanged )
 
   51     Q_PROPERTY( 
bool allowNull READ allowNull WRITE setAllowNull NOTIFY allowNullChanged )
 
   52     Q_PROPERTY( 
bool fetchGeometry READ fetchGeometry WRITE setFetchGeometry NOTIFY fetchGeometryChanged )
 
   53     Q_PROPERTY( 
int fetchLimit READ fetchLimit WRITE setFetchLimit NOTIFY fetchLimitChanged )
 
   54     Q_PROPERTY( 
bool showBrowserButtons READ showBrowserButtons WRITE setShowBrowserButtons NOTIFY showBrowserButtonsChanged )
 
   87     QString displayExpression() const;
 
   93     void setDisplayExpression( const QString &displayExpression );
 
   99     QString filterExpression() const;
 
  105     int nullIndex() const;
 
  111     void setFilterExpression( const QString &filterExpression );
 
  116     bool allowNull() const;
 
  121     void setAllowNull( 
bool allowNull );
 
  126     bool fetchGeometry() const;
 
  131     void setFetchGeometry( 
bool fetchGeometry );
 
  136     int fetchLimit() const;
 
  142     void setFetchLimit( 
int fetchLimit );
 
  147     bool showBrowserButtons() const;
 
  153     void setShowBrowserButtons( 
bool showBrowserButtons );
 
  159     QModelIndex currentModelIndex() const;
 
  161     void focusOutEvent( QFocusEvent *event ) override;
 
  163     void keyPressEvent( QKeyEvent *event ) override;
 
  181     void displayExpressionChanged();
 
  187     void filterExpressionChanged();
 
  190     void featureChanged( const 
QgsFeature &feature );
 
  195     void allowNullChanged();
 
  200     void fetchGeometryChanged();
 
  205     void fetchLimitChanged();
 
  208     void showBrowserButtonsChanged();
 
  211     void onCurrentTextChanged( const QString &text );
 
  212     void onFilterUpdateCompleted();
 
  213     void onLoadingChanged();
 
  214     void onItemSelected( const QModelIndex &index );
 
  215     void onCurrentIndexChanged( 
int i );
 
  216     void onActivated( QModelIndex index );
 
  217     void storeLineEditState();
 
  218     void restoreLineEditState();
 
  219     void onDataChanged( const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<
int> &roles = QVector<
int>() );
 
  220     void browseFeatures( 
int direction );
 
  223     QComboBox *mComboBox;
 
  224     QToolButton *mPreviousButton;
 
  225     QToolButton *mNextButton;
 
  227     QCompleter *mCompleter = 
nullptr;
 
  229     bool mPopupRequested = false;
 
  230     bool mIsCurrentlyEdited = false;
 
  231     bool mHasStoredEditState = false;
 
  232     bool mShowBrowserButtons = false;
 
  237 #endif // QGSFEATURECHOOSER_H