QGIS/python/core/auto_generated/qgsfeaturesource.sip.in
Martin Dobias 4c8b801791 Make sure that bool(obj) is True for QGIS API objects
bool(obj) in Python has the following semantics:
1. if the object has __bool__() method, return its value
2. if the object has __len__() method, return its value
3. return True

So for objects in QGIS API that implement __len__() method, we were getting
unexpected behavior - for example, "if layer: ..." would evaluate as False
in case the layer was empty, while the usual expectation is that any reference
to an object that is not None should evaluate to True.
2018-06-28 11:04:50 +02:00

172 lines
5.5 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsfeaturesource.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/
class QgsFeatureSource
{
%Docstring
An interface for objects which provide features via a getFeatures method.
.. versionadded:: 3.0
%End
%TypeHeaderCode
#include "qgsfeaturesource.h"
%End
public:
enum FeatureAvailability
{
NoFeaturesAvailable,
FeaturesAvailable,
FeaturesMaybeAvailable
};
virtual ~QgsFeatureSource();
virtual QgsFeatureIterator getFeatures( const QgsFeatureRequest &request = QgsFeatureRequest() ) const = 0;
%Docstring
Returns an iterator for the features in the source.
An optional ``request`` can be used to optimise the returned
iterator, eg by restricting the returned attributes or geometry.
%End
virtual QString sourceName() const = 0;
%Docstring
Returns a friendly display name for the source. The returned value can be an empty string.
%End
virtual QgsCoordinateReferenceSystem sourceCrs() const = 0;
%Docstring
Returns the coordinate reference system for features in the source.
%End
virtual QgsFields fields() const = 0;
%Docstring
Returns the fields associated with features in the source.
%End
virtual QgsWkbTypes::Type wkbType() const = 0;
%Docstring
Returns the geometry type for features returned by this source.
%End
int __len__() const;
%Docstring
Returns the number of features contained in the source, or -1
if the feature count is unknown.
%End
%MethodCode
sipRes = sipCpp->featureCount();
%End
//! Ensures that bool(obj) returns true (otherwise __len__() would be used)
int __bool__() const;
%MethodCode
sipRes = true;
%End
virtual long featureCount() const = 0;
%Docstring
Returns the number of features contained in the source, or -1
if the feature count is unknown.
%End
virtual FeatureAvailability hasFeatures() const;
%Docstring
Determines if there are any features available in the source.
.. versionadded:: 3.2
%End
virtual QSet<QVariant> uniqueValues( int fieldIndex, int limit = -1 ) const;
%Docstring
Returns the set of unique values contained within the specified ``fieldIndex`` from this source.
If specified, the ``limit`` option can be used to limit the number of returned values.
The base class implementation uses a non-optimised approach of looping through
all features in the source.
.. seealso:: :py:func:`minimumValue`
.. seealso:: :py:func:`maximumValue`
%End
virtual QVariant minimumValue( int fieldIndex ) const;
%Docstring
Returns the minimum value for an attribute column or an invalid variant in case of error.
The base class implementation uses a non-optimised approach of looping through
all features in the source.
.. seealso:: :py:func:`maximumValue`
.. seealso:: :py:func:`uniqueValues`
%End
virtual QVariant maximumValue( int fieldIndex ) const;
%Docstring
Returns the maximum value for an attribute column or an invalid variant in case of error.
The base class implementation uses a non-optimised approach of looping through
all features in the source.
.. seealso:: :py:func:`minimumValue`
.. seealso:: :py:func:`uniqueValues`
%End
virtual QgsRectangle sourceExtent() const;
%Docstring
Returns the extent of all geometries from the source.
The base class implementation uses a non-optimised approach of looping through
all features in the source.
%End
virtual QgsFeatureIds allFeatureIds() const;
%Docstring
Returns a list of all feature IDs for features present in the source.
%End
QgsVectorLayer *materialize( const QgsFeatureRequest &request,
QgsFeedback *feedback = 0 ) /Factory/;
%Docstring
Materializes a ``request`` (query) made against this feature source, by running
it over the source and returning a new memory based vector layer containing
the result. All settings from feature ``request`` will be honored.
If a subset of attributes has been set for the request, then only
those selected fields will be present in the output layer.
The CRS for the output layer will match the input layer, unless
QgsFeatureRequest.setDestinationCrs() has been called with a valid :py:class:`QgsCoordinateReferenceSystem`.
In this case the output layer will match the QgsFeatureRequest.destinationCrs() CRS.
The returned layer WKB type will match wkbType(), unless the QgsFeatureRequest.NoGeometry flag is set
on the ``request``. In that case the returned layer will not be a spatial layer.
An optional ``feedback`` argument can be used to cancel the materialization
before it has fully completed.
The returned value is a new instance and the caller takes responsibility
for its ownership.
.. versionadded:: 3.0
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsfeaturesource.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/