/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/qgsfeaturepickerwidget.h                                     *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/






class QgsFeaturePickerWidget : QWidget
{
%Docstring(signature="appended")
This offers a combobox with autocompleter that allows selecting features
from a layer.

It will show up to 100 entries at a time. The entries can be chosen
based on the displayExpression and whenever text is typed into the
combobox, the completer and popup will adjust to features matching the
typed text.

.. versionadded:: 3.14
%End

%TypeHeaderCode
#include "qgsfeaturepickerwidget.h"
%End
  public:
    QgsFeaturePickerWidget( QWidget *parent = 0 );
%Docstring
Create a new QgsFeaturePickerWidget, optionally specifying a ``parent``.
%End

    QgsVectorLayer *layer() const;
%Docstring
The layer from which features should be listed.
%End

    void setLayer( QgsVectorLayer *layer );
%Docstring
The layer from which features should be listed.
%End

    void setFeature( QgsFeatureId featureId );
%Docstring
Sets the current index by using the given feature
%End

    QgsFeature feature() const;
%Docstring
Returns the current feature
%End

    QString displayExpression() const;
%Docstring
The display expression will be used to display features as well as the
value to match the typed text against.
%End

    void setDisplayExpression( const QString &displayExpression );
%Docstring
The display expression will be used to display features as well as the
value to match the typed text against.
%End

    QString filterExpression() const;
%Docstring
An additional expression to further restrict the available features.
This can be used to integrate additional spatial or other constraints.
%End

    int nullIndex() const;
%Docstring
Returns the current index of the NULL value, or -1 if NULL values are
not allowed.
%End

    void setFilterExpression( const QString &filterExpression );
%Docstring
An additional expression to further restrict the available features.
This can be used to integrate additional spatial or other constraints.
%End

    bool allowNull() const;
%Docstring
Determines if a NULL value should be available in the list.
%End

    void setAllowNull( bool allowNull );
%Docstring
Determines if a NULL value should be available in the list.
%End

    bool fetchGeometry() const;
%Docstring
Returns if the geometry is fetched
%End

    void setFetchGeometry( bool fetchGeometry );
%Docstring
Defines if the geometry will be fetched
%End

    int fetchLimit() const;
%Docstring
Returns the feature request fetch limit
%End

    void setFetchLimit( int fetchLimit );
%Docstring
Defines the feature request fetch limit If set to 0, no limit is applied
when fetching
%End

    bool showBrowserButtons() const;
%Docstring
Returns if the browsing buttons are shown
%End

    void setShowBrowserButtons( bool showBrowserButtons );
%Docstring
Defines if the browsing buttons are shown

.. note::

   Buttons are browsing the currently fetched features. If a limit is set, there might be more features to be fetched from the layer.
%End


    QModelIndex currentModelIndex() const;
%Docstring
The index of the currently selected item.
%End

    virtual void focusOutEvent( QFocusEvent *event );


    virtual void keyPressEvent( QKeyEvent *event );


  signals:

    void modelUpdated();
%Docstring
The underlying model has been updated.
%End

    void layerChanged();
%Docstring
The layer from which features should be listed.
%End

    void displayExpressionChanged();
%Docstring
The display expression will be used to display features as well as the
the value to match the typed text against.
%End

    void filterExpressionChanged();
%Docstring
An additional expression to further restrict the available features.
This can be used to integrate additional spatial or other constraints.
%End

    void featureChanged( const QgsFeature &feature );
%Docstring
Sends the feature as soon as it is chosen
%End

    void allowNullChanged();
%Docstring
Determines if a NULL value should be available in the list.
%End

    void fetchGeometryChanged();
%Docstring
Emitted when the fetching of the geometry changes
%End

    void fetchLimitChanged();
%Docstring
Emitted when the fetching limit for the feature request changes
%End

    void showBrowserButtonsChanged();
%Docstring
Emitted when showing the browser buttons changes
%End

};


/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/qgsfeaturepickerwidget.h                                     *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/
