Skip to content
Permalink
Browse files

use a template approach

  • Loading branch information
3nids committed Apr 27, 2020
1 parent 01516d7 commit 780b581f03181a0cf6e00257ede9742e2fdfa82c
@@ -8,7 +8,10 @@



class QgsFeatureFilterModel : QAbstractItemModel

typedef QgsFeaturePickerModelBase<QgsFeatureByIdentifierFieldsExpressionValuesGatherer> QgsFeaturePickerModelBaseQgsFeatureByIdentifierFieldsExpressionValuesGathererBase;

class QgsFeatureFilterModel : QgsFeaturePickerModelBaseQgsFeatureByIdentifierFieldsExpressionValuesGathererBase
{
%Docstring
Provides a list of features based on filter conditions.
@@ -19,6 +22,8 @@ Features are fetched asynchronously.

%TypeHeaderCode
#include "qgsfeaturefiltermodel.h"
#include "qgsfeaturepickermodelbase.h"
typedef QgsFeaturePickerModelBase<QgsFeatureByIdentifierFieldsExpressionValuesGatherer> QgsFeaturePickerModelBaseQgsFeatureByIdentifierFieldsExpressionValuesGathererBase;
%End
public:

@@ -32,75 +37,6 @@ Features are fetched asynchronously.
explicit QgsFeatureFilterModel( QObject *parent = 0 );
%Docstring
Create a new QgsFeatureFilterModel, optionally specifying a ``parent``.
%End
~QgsFeatureFilterModel();

QgsVectorLayer *sourceLayer() const;
%Docstring
The source layer from which features will be fetched.
%End

void setSourceLayer( QgsVectorLayer *sourceLayer );
%Docstring
The source layer from which features will be fetched.
%End

QString displayExpression() const;
%Docstring
The display expression will be used for

- displaying values in the combobox
- filtering based on filterValue
%End

void setDisplayExpression( const QString &displayExpression );
%Docstring
The display expression will be used for

- displaying values in the combobox
- filtering based on filterValue
%End

QString filterValue() const;
%Docstring
This value will be used to filter the features available from
this model. Whenever a substring of the displayExpression of a feature
matches the filter value, it will be accessible by this model.
%End

void setFilterValue( const QString &filterValue );
%Docstring
This value will be used to filter the features available from
this model. Whenever a substring of the displayExpression of a feature
matches the filter value, it will be accessible by this model.
%End

virtual QModelIndex index( int row, int column, const QModelIndex &parent ) const;

virtual QModelIndex parent( const QModelIndex &child ) const;

virtual int rowCount( const QModelIndex &parent ) const;

virtual int columnCount( const QModelIndex &parent ) const;

virtual QVariant data( const QModelIndex &index, int role ) const;


QString filterExpression() const;
%Docstring
An additional filter expression to apply, next to the filterValue.
Can be used for spatial filtering etc.
%End

void setFilterExpression( const QString &filterExpression );
%Docstring
An additional filter expression to apply, next to the filterValue.
Can be used for spatial filtering etc.
%End

bool isLoading() const;
%Docstring
Indicator if the model is currently performing any feature iteration in the background.
%End

QString identifierField() const;
@@ -119,14 +55,6 @@ The identifier field should be a unique field that can be used to identify indiv
It is normally set to the primary key of the layer.

.. versionadded:: 3.10
%End

void setIdentifierField( const QString &identifierField );
%Docstring
The identifier field should be a unique field that can be used to identify individual features.
It is normally set to the primary key of the layer.

.. deprecated:: QGIS 3.10
%End

void setIdentifierFields( const QStringList &identifierFields );
@@ -141,140 +69,31 @@ It is normally set to the primary key of the layer.
.. versionadded:: 3.10
%End

QVariant extraIdentifierValue() const;
%Docstring
Allows specifying one value that does not need to match the filter criteria but will
still be available in the model.

.. deprecated:: QGIS 3.10
%End

QVariantList extraIdentifierValues() const;
%Docstring
Allows specifying one value that does not need to match the filter criteria but will
still be available in the model.
virtual void setExtraIdentifierValueToNull();

.. versionadded:: 3.10
%End

void setExtraIdentifierValue( const QVariant &extraIdentifierValue );
%Docstring
Allows specifying one value that does not need to match the filter criteria but will
still be available in the model.

.. deprecated:: QGIS 3.10
%End

void setExtraIdentifierValues( const QVariantList &extraIdentifierValues );
%Docstring
Allows specifying one value that does not need to match the filter criteria but will
still be available in the model.

.. versionadded:: 3.10
%End

void setExtraIdentifierValuesToNull();
%Docstring
Allows specifying one value that does not need to match the filter criteria but will
still be available in the model as NULL value(s).

.. versionadded:: 3.10
%End

int extraIdentifierValueIndex() const;
%Docstring
The index at which the extra identifier value is available within the model.
%End

bool extraValueDoesNotExist() const;
%Docstring
Flag indicating that the extraIdentifierValue does not exist in the data.
%End
virtual QVariantList extraIdentifierValue() const;

bool allowNull() const;
%Docstring
Add a NULL entry to the list.
%End

void setAllowNull( bool allowNull );
%Docstring
Add a NULL entry to the list.
%End

signals:

void sourceLayerChanged();
%Docstring
The source layer from which features will be fetched.
%End

void displayExpressionChanged();
%Docstring
The display expression will be used for

- displaying values in the combobox
- filtering based on filterValue
%End

void filterValueChanged();
%Docstring
This value will be used to filter the features available from
this model. Whenever a substring of the displayExpression of a feature
matches the filter value, it will be accessible by this model.
%End

void filterExpressionChanged();
%Docstring
An additional filter expression to apply, next to the filterValue.
Can be used for spatial filtering etc.
%End

void isLoadingChanged();
%Docstring
Indicator if the model is currently performing any feature iteration in the background.
%End

void identifierFieldChanged();
void identifierFieldsChanged();
%Docstring
The identifier field should be a unique field that can be used to identify individual features.
It is normally set to the primary key of the layer.
%End

void filterJobCompleted();
%Docstring
Indicates that a filter job has been completed and new data may be available.
%End
protected:
virtual QgsFeatureByIdentifierFieldsExpressionValuesGatherer createValuesGatherer( const QgsFeatureRequest &request ) const;

void extraIdentifierValueChanged();
%Docstring
Allows specifying one value that does not need to match the filter criteria but will
still be available in the model.
%End

void extraIdentifierValueIndexChanged( int index );
%Docstring
The index at which the extra identifier value is available within the model.
%End

void extraValueDoesNotExistChanged();
%Docstring
Flag indicating that the extraIdentifierValue does not exist in the data.
%End

void beginUpdate();
%Docstring
Notification that the model is about to be changed because a job was completed.
%End

void endUpdate();
%Docstring
Notification that the model change is finished. Will always be emitted in sync with beginUpdate.
%End

void allowNullChanged();
%Docstring
Add a NULL entry to the list.
%End

};

0 comments on commit 780b581

Please sign in to comment.
You can’t perform that action at this time.