mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			2892 lines
		
	
	
		
			92 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			2892 lines
		
	
	
		
			92 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/************************************************************************
 | 
						||
 * This file has been generated automatically from                      *
 | 
						||
 *                                                                      *
 | 
						||
 * src/core/qgsvectorlayer.h                                            *
 | 
						||
 *                                                                      *
 | 
						||
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | 
						||
 ************************************************************************/
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
typedef QList<int> QgsAttributeList;
 | 
						||
typedef QSet<int> QgsAttributeIds;
 | 
						||
 | 
						||
 | 
						||
class QgsVectorLayer : QgsMapLayer, QgsExpressionContextGenerator, QgsExpressionContextScopeGenerator, QgsFeatureSink, QgsFeatureSource
 | 
						||
{
 | 
						||
%Docstring
 | 
						||
Represents a vector layer which manages a vector based data sets.
 | 
						||
 | 
						||
The QgsVectorLayer is instantiated by specifying the name of a data provider,
 | 
						||
such as postgres or wfs, and url defining the specific data set to connect to.
 | 
						||
The vector layer constructor in turn instantiates a QgsVectorDataProvider subclass
 | 
						||
corresponding to the provider type, and passes it the url. The data provider
 | 
						||
connects to the data source.
 | 
						||
 | 
						||
The QgsVectorLayer provides a common interface to the different data types. It also
 | 
						||
manages editing transactions.
 | 
						||
 | 
						||
Sample usage of the QgsVectorLayer class:
 | 
						||
 | 
						||
.. code-block::
 | 
						||
 | 
						||
         QString uri = "point?crs=epsg:4326&field=id:integer";
 | 
						||
         QgsVectorLayer *scratchLayer = new QgsVectorLayer(uri, "Scratch point layer",  "memory");
 | 
						||
 | 
						||
The main data providers supported by QGIS are listed below.
 | 
						||
 | 
						||
\section providers Vector data providers
 | 
						||
 | 
						||
\subsection memory Memory data providerType (memory)
 | 
						||
 | 
						||
The memory data provider is used to construct in memory data, for example scratch
 | 
						||
data or data generated from spatial operations such as contouring. There is no
 | 
						||
inherent persistent storage of the data. The data source uri is constructed. The
 | 
						||
url specifies the geometry type ("point", "linestring", "polygon",
 | 
						||
"multipoint","multilinestring","multipolygon"), optionally followed by url parameters
 | 
						||
as follows:
 | 
						||
 | 
						||
- crs=definition
 | 
						||
Defines the coordinate reference system to use for the layer.
 | 
						||
definition is any string accepted by :py:func:`QgsCoordinateReferenceSystem.createFromString()`
 | 
						||
 | 
						||
- index=yes
 | 
						||
Specifies that the layer will be constructed with a spatial index
 | 
						||
 | 
						||
- field=name:type(length,precision)
 | 
						||
Defines an attribute of the layer. Multiple field parameters can be added
 | 
						||
to the data provider definition. type is one of "integer", "double", "string".
 | 
						||
 | 
						||
An example url is "Point?crs=epsg:4326&field=id:integer&field=name:string(20)&index=yes"
 | 
						||
 | 
						||
Since QGIS 3.4 when closing a project, the application shows a warning about potential data
 | 
						||
loss if there are any non-empty memory layers present. If your memory layer should not
 | 
						||
trigger such warning, it is possible to suppress that by setting the following custom variable:
 | 
						||
.. code-block:: python
 | 
						||
 | 
						||
       layer.setCustomProperty("skipMemoryLayersCheck", 1)
 | 
						||
 | 
						||
\subsection ogr OGR data provider (ogr)
 | 
						||
 | 
						||
Accesses data using the OGR drivers (http://www.gdal.org/ogr/ogr_formats.html). The url
 | 
						||
is the OGR connection string. A wide variety of data formats can be accessed using this
 | 
						||
driver, including file based formats used by many GIS systems, database formats, and
 | 
						||
web services. Some of these formats are also supported by custom data providers listed
 | 
						||
below.
 | 
						||
 | 
						||
\subsection spatialite SpatiaLite data provider (spatialite)
 | 
						||
 | 
						||
Access data in a SpatiaLite database. The url defines the connection parameters, table,
 | 
						||
geometry column, and other attributes. The url can be constructed using the
 | 
						||
QgsDataSourceUri class.
 | 
						||
 | 
						||
\subsection postgres PostgreSQL data provider (postgres)
 | 
						||
 | 
						||
Connects to a PostgreSQL database. The url defines the connection parameters, table,
 | 
						||
geometry column, and other attributes. The url can be constructed using the
 | 
						||
QgsDataSourceUri class.
 | 
						||
 | 
						||
\subsection mssql Microsoft SQL server data provider (mssql)
 | 
						||
 | 
						||
Connects to a Microsoft SQL server database. The url defines the connection parameters, table,
 | 
						||
geometry column, and other attributes. The url can be constructed using the
 | 
						||
QgsDataSourceUri class.
 | 
						||
 | 
						||
\subsection wfs WFS (web feature service) data provider (wfs)
 | 
						||
 | 
						||
Used to access data provided by a web feature service.
 | 
						||
 | 
						||
The url can be a HTTP url to a WFS server (legacy, e.g. http://foobar/wfs?TYPENAME=xxx&SRSNAME=yyy[&FILTER=zzz]), or,
 | 
						||
starting with QGIS 2.16, a URI constructed using the QgsDataSourceUri class with the following parameters :
 | 
						||
- url=string (mandatory): HTTP url to a WFS server endpoint. e.g http://foobar/wfs
 | 
						||
- typename=string (mandatory): WFS typename
 | 
						||
- srsname=string (recommended): SRS like 'EPSG:XXXX'
 | 
						||
- username=string
 | 
						||
- password=string
 | 
						||
- authcfg=string
 | 
						||
- version=auto/1.0.0/1.1.0/2.0.0
 | 
						||
-sql=string: full SELECT SQL statement with optional WHERE, ORDER BY and possibly with JOIN if supported on server
 | 
						||
- filter=string: QGIS expression or OGC/FES filter
 | 
						||
- restrictToRequestBBOX=1: to download only features in the view extent (or more generally
 | 
						||
in the bounding box of the feature iterator)
 | 
						||
- pageSize=number: number of features to retrieve in a single request (WFS 2)
 | 
						||
- maxNumFeatures=number: maximum number of features to retrieve (possibly across several multiple paging requests)
 | 
						||
- IgnoreAxisOrientation=1: to ignore EPSG axis order for WFS 1.1 or 2.0
 | 
						||
- InvertAxisOrientation=1: to invert axis order
 | 
						||
- hideDownloadProgressDialog=1: to hide the download progress dialog
 | 
						||
 | 
						||
The ‘FILTER’ query string parameter can be used to filter
 | 
						||
the WFS feature type. The ‘FILTER’ key value can either be a QGIS expression
 | 
						||
or an OGC XML filter. If the value is set to a QGIS expression the driver will
 | 
						||
turn it into OGC XML filter before passing it to the WFS server. Beware the
 | 
						||
QGIS expression filter only supports” =, !=, <, >, <=, >=, AND, OR, NOT, LIKE, IS NULL”
 | 
						||
attribute operators, “BBOX, Disjoint, Intersects, Touches, Crosses, Contains, Overlaps, Within”
 | 
						||
spatial binary operators and the QGIS local “geomFromWKT, geomFromGML”
 | 
						||
geometry constructor functions.
 | 
						||
 | 
						||
\subsection oapif OGC API - Features data provider (oapif)
 | 
						||
 | 
						||
Used to access data provided by a OGC API - Features server.
 | 
						||
 | 
						||
The URI should be constructed using the QgsDataSourceUri class with the following parameters:
 | 
						||
- url=string (mandatory): HTTP url to a OGC API - Features landing page.
 | 
						||
- typename=string (mandatory): Collection id
 | 
						||
- username=string
 | 
						||
- password=string
 | 
						||
- authcfg=string
 | 
						||
- filter=string: QGIS expression (only datetime filtering is forwarded to the server)
 | 
						||
- restrictToRequestBBOX=1: to download only features in the view extent (or more generally
 | 
						||
in the bounding box of the feature iterator)
 | 
						||
- pageSize=number: number of features to retrieve in a single request
 | 
						||
- maxNumFeatures=number: maximum number of features to retrieve (possibly across several multiple paging requests)
 | 
						||
- hideDownloadProgressDialog=1: to hide the download progress dialog.
 | 
						||
 | 
						||
Also note:
 | 
						||
 | 
						||
- You can use various functions available in the QGIS Expression list,
 | 
						||
however the function must exist server side and have the same name and arguments to work.
 | 
						||
 | 
						||
- Use the special $geometry parameter to provide the layer geometry column as input
 | 
						||
into the spatial binary operators e.g intersects($geometry, geomFromWKT('POINT (5 6)'))
 | 
						||
 | 
						||
\subsection delimitedtext Delimited text file data provider (delimitedtext)
 | 
						||
 | 
						||
Accesses data in a delimited text file, for example CSV files generated by
 | 
						||
spreadsheets. The contents of the file are split into columns based on specified
 | 
						||
delimiter characters.  Each record may be represented spatially either by an
 | 
						||
X and Y coordinate column, or by a WKT (well known text) formatted columns.
 | 
						||
 | 
						||
The url defines the filename, the formatting options (how the
 | 
						||
text in the file is divided into data fields, and which fields contain the
 | 
						||
X,Y coordinates or WKT text definition.  The options are specified as url query
 | 
						||
items.
 | 
						||
 | 
						||
At its simplest the url can just be the filename, in which case it will be loaded
 | 
						||
as a CSV formatted file.
 | 
						||
 | 
						||
The url may include the following items:
 | 
						||
 | 
						||
- encoding=UTF-8
 | 
						||
 | 
						||
Defines the character encoding in the file.  The default is UTF-8.  To use
 | 
						||
the default encoding for the operating system use "System".
 | 
						||
 | 
						||
- type=(csv|regexp|whitespace|plain)
 | 
						||
 | 
						||
Defines the algorithm used to split records into columns. Records are
 | 
						||
defined by new lines, except for csv format files for which quoted fields
 | 
						||
may span multiple records.  The default type is csv.
 | 
						||
 | 
						||
-  "csv" splits the file based on three sets of characters:
 | 
						||
delimiter characters, quote characters,
 | 
						||
and escape characters.  Delimiter characters mark the end
 | 
						||
of a field. Quote characters enclose a field which can contain
 | 
						||
delimiter characters, and newlines.  Escape characters cause the
 | 
						||
following character to be treated literally (including delimiter,
 | 
						||
quote, and newline characters).  Escape and quote characters must
 | 
						||
be different from delimiter characters. Escape characters that are
 | 
						||
also quote characters are treated specially - they can only
 | 
						||
escape themselves within quotes.  Elsewhere they are treated as
 | 
						||
quote characters.  The defaults for delimiter, quote, and escape
 | 
						||
are ',', '"', '"'.
 | 
						||
-  "regexp" splits each record using a regular expression (see QRegExp
 | 
						||
documentation for details).
 | 
						||
-  "whitespace" splits each record based on whitespace (on or more whitespace
 | 
						||
characters.  Leading whitespace in the record is ignored.
 | 
						||
-  "plain" is provided for backwards compatibility.  It is equivalent to
 | 
						||
CSV except that the default quote characters are single and double quotes,
 | 
						||
and there is no escape characters.
 | 
						||
 | 
						||
- delimiter=characters
 | 
						||
 | 
						||
Defines the delimiter characters used for csv and plain type files, or the
 | 
						||
regular expression for regexp type files.  It is a literal string of characters
 | 
						||
except that "\t" may be used to represent a tab character.
 | 
						||
 | 
						||
- quote=characters
 | 
						||
 | 
						||
Defines the characters that are used as quote characters for csv and plain type
 | 
						||
files.
 | 
						||
 | 
						||
- escape=characters
 | 
						||
 | 
						||
Defines the characters used to escape delimiter, quote, and newline characters.
 | 
						||
 | 
						||
- skipLines=n
 | 
						||
 | 
						||
Defines the number of lines to ignore at the beginning of the file (default 0)
 | 
						||
 | 
						||
- useHeader=(yes|no)
 | 
						||
 | 
						||
Defines whether the first record in the file (after skipped lines) contains
 | 
						||
column names (default yes)
 | 
						||
 | 
						||
- trimFields=(yes|no)
 | 
						||
 | 
						||
If yes then leading and trailing whitespace will be removed from fields
 | 
						||
 | 
						||
- skipEmptyFields=(yes|no)
 | 
						||
 | 
						||
If yes then empty fields will be discarded (equivalent to concatenating consecutive
 | 
						||
delimiters)
 | 
						||
 | 
						||
- maxFields=#
 | 
						||
 | 
						||
Specifies the maximum number of fields to load for each record.  Additional
 | 
						||
fields will be discarded.  Default is 0 - load all fields.
 | 
						||
 | 
						||
- decimalPoint=c
 | 
						||
 | 
						||
Defines a character that is used as a decimal point in the numeric columns
 | 
						||
The default is '.'.
 | 
						||
 | 
						||
- xField=column yField=column
 | 
						||
 | 
						||
Defines the name of the columns holding the x and y coordinates for XY point geometries.
 | 
						||
If the useHeader is no (ie there are no column names), then this is the column
 | 
						||
number (with the first column as 1).
 | 
						||
 | 
						||
- xyDms=(yes|no)
 | 
						||
 | 
						||
If yes then the X and Y coordinates are interpreted as
 | 
						||
degrees/minutes/seconds format (fairly permissively),
 | 
						||
or degree/minutes format.
 | 
						||
 | 
						||
- wktField=column
 | 
						||
 | 
						||
Defines the name of the columns holding the WKT geometry definition for WKT geometries.
 | 
						||
If the useHeader is no (ie there are no column names), then this is the column
 | 
						||
number (with the first column as 1).
 | 
						||
 | 
						||
- geomType=(point|line|polygon|none)
 | 
						||
 | 
						||
Defines the geometry type for WKT type geometries.  QGIS will only display one
 | 
						||
type of geometry for the layer - any others will be ignored when the file is
 | 
						||
loaded.  By default the provider uses the type of the first geometry in the file.
 | 
						||
Use geomType to override this type.
 | 
						||
 | 
						||
geomType can also be set to none, in which case the layer is loaded without
 | 
						||
geometries.
 | 
						||
 | 
						||
- subset=expression
 | 
						||
 | 
						||
Defines an expression that will identify a subset of records to display
 | 
						||
 | 
						||
- crs=crsstring
 | 
						||
 | 
						||
Defines the coordinate reference system used for the layer.  This can be
 | 
						||
any string accepted by :py:func:`QgsCoordinateReferenceSystem.createFromString()`
 | 
						||
 | 
						||
-subsetIndex=(yes|no)
 | 
						||
 | 
						||
Determines whether the provider generates an index to improve the efficiency
 | 
						||
of subsets.  The default is yes
 | 
						||
 | 
						||
-spatialIndex=(yes|no)
 | 
						||
 | 
						||
Determines whether the provider generates a spatial index.  The default is no.
 | 
						||
 | 
						||
-watchFile=(yes|no)
 | 
						||
 | 
						||
Defines whether the file will be monitored for changes. The default is
 | 
						||
to monitor for changes.
 | 
						||
 | 
						||
- quiet
 | 
						||
 | 
						||
Errors encountered loading the file will not be reported in a user dialog if
 | 
						||
quiet is included (They will still be shown in the output log).
 | 
						||
 | 
						||
\subsection gpx GPX data provider (gpx)
 | 
						||
 | 
						||
Provider reads tracks, routes, and waypoints from a GPX file.  The url
 | 
						||
defines the name of the file, and the type of data to retrieve from it
 | 
						||
("track", "route", or "waypoint").
 | 
						||
 | 
						||
An example url is "/home/user/data/holiday.gpx?type=route"
 | 
						||
 | 
						||
\subsection grass Grass data provider (grass)
 | 
						||
 | 
						||
Provider to display vector data in a GRASS GIS layer.
 | 
						||
 | 
						||
TODO QGIS3: Remove virtual from non-inherited methods (like isModified)
 | 
						||
 | 
						||
.. seealso:: :py:class:`QgsVectorLayerUtils`
 | 
						||
%End
 | 
						||
 | 
						||
%TypeHeaderCode
 | 
						||
#include "qgsvectorlayer.h"
 | 
						||
%End
 | 
						||
  public:
 | 
						||
 | 
						||
    enum EditResult
 | 
						||
    {
 | 
						||
      Success,
 | 
						||
      EmptyGeometry,
 | 
						||
      EditFailed,
 | 
						||
      FetchFeatureFailed,
 | 
						||
      InvalidLayer,
 | 
						||
    };
 | 
						||
 | 
						||
    enum SelectBehavior
 | 
						||
    {
 | 
						||
      SetSelection,
 | 
						||
      AddToSelection,
 | 
						||
      IntersectSelection,
 | 
						||
      RemoveFromSelection,
 | 
						||
    };
 | 
						||
 | 
						||
    struct LayerOptions
 | 
						||
    {
 | 
						||
 | 
						||
      explicit LayerOptions( bool loadDefaultStyle = true,
 | 
						||
                             bool readExtentFromXml = false );
 | 
						||
%Docstring
 | 
						||
Constructor for LayerOptions.
 | 
						||
%End
 | 
						||
 | 
						||
      explicit LayerOptions( const QgsCoordinateTransformContext &transformContext,
 | 
						||
                             bool loadDefaultStyle = true,
 | 
						||
                             bool readExtentFromXml = false
 | 
						||
                           );
 | 
						||
%Docstring
 | 
						||
Constructor for LayerOptions.
 | 
						||
 | 
						||
.. versionadded:: 3.8
 | 
						||
%End
 | 
						||
 | 
						||
      bool loadDefaultStyle;
 | 
						||
 | 
						||
      bool readExtentFromXml;
 | 
						||
 | 
						||
      QgsCoordinateTransformContext transformContext;
 | 
						||
 | 
						||
      QgsWkbTypes::Type fallbackWkbType;
 | 
						||
 | 
						||
      QgsCoordinateReferenceSystem fallbackCrs;
 | 
						||
 | 
						||
      bool skipCrsValidation;
 | 
						||
 | 
						||
    };
 | 
						||
 | 
						||
    explicit QgsVectorLayer( const QString &path = QString(), const QString &baseName = QString(),
 | 
						||
                             const QString &providerLib = "ogr", const QgsVectorLayer::LayerOptions &options = QgsVectorLayer::LayerOptions() );
 | 
						||
%Docstring
 | 
						||
Constructor - creates a vector layer
 | 
						||
 | 
						||
The QgsVectorLayer is constructed by instantiating a data provider.  The provider
 | 
						||
interprets the supplied path (url) of the data source to connect to and access the
 | 
						||
data.
 | 
						||
 | 
						||
:param path: The path or url of the parameter.  Typically this encodes
 | 
						||
             parameters used by the data provider as url query items.
 | 
						||
:param baseName: The name used to represent the layer in the legend
 | 
						||
:param providerLib: The name of the data provider, e.g., "memory", "postgres"
 | 
						||
:param options: layer load options
 | 
						||
%End
 | 
						||
 | 
						||
    ~QgsVectorLayer();
 | 
						||
 | 
						||
 | 
						||
    virtual QgsVectorLayer *clone() const /Factory/;
 | 
						||
 | 
						||
%Docstring
 | 
						||
Returns a new instance equivalent to this one. A new provider is
 | 
						||
created for the same data source and renderers for features and diagrams
 | 
						||
are cloned too. Moreover, each attributes (transparency, extent, selected
 | 
						||
features and so on) are identicals.
 | 
						||
 | 
						||
:return: a new layer instance
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    QString storageType() const;
 | 
						||
%Docstring
 | 
						||
Returns the permanent storage type for this layer as a friendly name.
 | 
						||
This is obtained from the data provider and does not follow any standard.
 | 
						||
%End
 | 
						||
 | 
						||
    QString capabilitiesString() const;
 | 
						||
%Docstring
 | 
						||
Capabilities for this layer, comma separated and translated.
 | 
						||
%End
 | 
						||
 | 
						||
    QString dataComment() const;
 | 
						||
%Docstring
 | 
						||
Returns a description for this layer as defined in the data provider.
 | 
						||
%End
 | 
						||
 | 
						||
    QString displayField() const;
 | 
						||
%Docstring
 | 
						||
This is a shorthand for accessing the displayExpression if it is a simple field.
 | 
						||
If the displayExpression is more complex than a simple field, a null string will
 | 
						||
be returned.
 | 
						||
 | 
						||
.. seealso:: :py:func:`displayExpression`
 | 
						||
%End
 | 
						||
 | 
						||
    void setDisplayExpression( const QString &displayExpression );
 | 
						||
%Docstring
 | 
						||
Set the preview expression, used to create a human readable preview string.
 | 
						||
Used e.g. in the attribute table feature list. Uses :py:class:`QgsExpression`.
 | 
						||
 | 
						||
:param displayExpression: The expression which will be used to preview features
 | 
						||
                          for this layer
 | 
						||
%End
 | 
						||
 | 
						||
    QString displayExpression() const;
 | 
						||
%Docstring
 | 
						||
Returns the preview expression, used to create a human readable preview string.
 | 
						||
Uses :py:class:`QgsExpression`
 | 
						||
 | 
						||
:return: The expression which will be used to preview features for this layer
 | 
						||
%End
 | 
						||
 | 
						||
    virtual QgsVectorDataProvider *dataProvider() ${SIP_FINAL};
 | 
						||
 | 
						||
 | 
						||
    void setProviderEncoding( const QString &encoding );
 | 
						||
%Docstring
 | 
						||
Sets the text ``encoding`` of the data provider.
 | 
						||
 | 
						||
An empty ``encoding`` string indicates that the provider should automatically
 | 
						||
select the most appropriate encoding.
 | 
						||
 | 
						||
.. warning::
 | 
						||
 | 
						||
   Support for setting the provider encoding depends on the underlying data
 | 
						||
   provider. Check dataProvider().capabilities() for the QgsVectorDataProvider.SelectEncoding
 | 
						||
   capability in order to determine if the provider supports this ability.
 | 
						||
%End
 | 
						||
 | 
						||
    void setCoordinateSystem();
 | 
						||
%Docstring
 | 
						||
Setup the coordinate system transformation for the layer
 | 
						||
%End
 | 
						||
 | 
						||
    bool addJoin( const QgsVectorLayerJoinInfo &joinInfo );
 | 
						||
%Docstring
 | 
						||
Joins another vector layer to this layer
 | 
						||
 | 
						||
:param joinInfo: join object containing join layer id, target and source field
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   since 2.6 returns bool indicating whether the join can be added
 | 
						||
%End
 | 
						||
 | 
						||
    bool removeJoin( const QString &joinLayerId );
 | 
						||
%Docstring
 | 
						||
Removes a vector layer join
 | 
						||
 | 
						||
:return: ``True`` if join was found and successfully removed
 | 
						||
%End
 | 
						||
 | 
						||
    QgsVectorLayerJoinBuffer *joinBuffer();
 | 
						||
%Docstring
 | 
						||
Returns the join buffer object.
 | 
						||
 | 
						||
.. versionadded:: 2.14.7
 | 
						||
%End
 | 
						||
 | 
						||
    const QList<QgsVectorLayerJoinInfo> vectorJoins() const;
 | 
						||
 | 
						||
    virtual bool setDependencies( const QSet<QgsMapLayerDependency> &layers ) ${SIP_FINAL};
 | 
						||
 | 
						||
%Docstring
 | 
						||
Sets the list of dependencies.
 | 
						||
 | 
						||
.. seealso:: :py:func:`dependencies`
 | 
						||
 | 
						||
:param layers: set of :py:class:`QgsMapLayerDependency`. Only user-defined dependencies will be added
 | 
						||
 | 
						||
:return: ``False`` if a dependency cycle has been detected
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    virtual QSet<QgsMapLayerDependency> dependencies() const ${SIP_FINAL};
 | 
						||
 | 
						||
%Docstring
 | 
						||
Gets the list of dependencies. This includes data dependencies set by the user (:py:func:`setDataDependencies`)
 | 
						||
as well as dependencies given by the provider
 | 
						||
 | 
						||
:return: a set of :py:class:`QgsMapLayerDependency`
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    int addExpressionField( const QString &exp, const QgsField &fld );
 | 
						||
%Docstring
 | 
						||
Add a new field which is calculated by the expression specified
 | 
						||
 | 
						||
:param exp: The expression which calculates the field
 | 
						||
:param fld: The field to calculate
 | 
						||
 | 
						||
:return: The index of the new field
 | 
						||
 | 
						||
 | 
						||
.. versionadded:: 2.9
 | 
						||
%End
 | 
						||
 | 
						||
    void removeExpressionField( int index );
 | 
						||
%Docstring
 | 
						||
Removes an expression field
 | 
						||
 | 
						||
:param index: The index of the field
 | 
						||
 | 
						||
.. versionadded:: 2.6
 | 
						||
%End
 | 
						||
 | 
						||
    QString expressionField( int index ) const;
 | 
						||
%Docstring
 | 
						||
Returns the expression used for a given expression field
 | 
						||
 | 
						||
:param index: An index of an epxression based (virtual) field
 | 
						||
 | 
						||
:return: The expression for the field at index
 | 
						||
 | 
						||
 | 
						||
.. versionadded:: 2.9
 | 
						||
%End
 | 
						||
 | 
						||
    void updateExpressionField( int index, const QString &exp );
 | 
						||
%Docstring
 | 
						||
Changes the expression used to define an expression based (virtual) field
 | 
						||
 | 
						||
:param index: The index of the expression to change
 | 
						||
 | 
						||
:param exp: The new expression to set
 | 
						||
 | 
						||
.. versionadded:: 2.9
 | 
						||
%End
 | 
						||
 | 
						||
    QgsActionManager *actions();
 | 
						||
%Docstring
 | 
						||
Returns all layer actions defined on this layer.
 | 
						||
 | 
						||
The pointer which is returned directly points to the actions object
 | 
						||
which is used by the layer, so any changes are immediately applied.
 | 
						||
%End
 | 
						||
 | 
						||
 | 
						||
    QgsVectorLayerServerProperties *serverProperties() const;
 | 
						||
%Docstring
 | 
						||
Returns QGIS Server Properties of the vector layer
 | 
						||
 | 
						||
.. versionadded:: 3.10
 | 
						||
%End
 | 
						||
 | 
						||
    int selectedFeatureCount() const;
 | 
						||
%Docstring
 | 
						||
Returns the number of features that are selected in this layer.
 | 
						||
 | 
						||
.. seealso:: :py:func:`selectedFeatureIds`
 | 
						||
%End
 | 
						||
 | 
						||
    void selectByRect( QgsRectangle &rect, QgsVectorLayer::SelectBehavior behavior = QgsVectorLayer::SetSelection );
 | 
						||
%Docstring
 | 
						||
Selects features found within the search rectangle (in layer's coordinates)
 | 
						||
 | 
						||
:param rect: search rectangle
 | 
						||
:param behavior: selection type, allows adding to current selection, removing
 | 
						||
                 from selection, etc.
 | 
						||
 | 
						||
.. seealso:: :py:func:`invertSelectionInRectangle`
 | 
						||
 | 
						||
.. seealso:: :py:func:`selectByExpression`
 | 
						||
 | 
						||
.. seealso:: :py:func:`selectByIds`
 | 
						||
%End
 | 
						||
 | 
						||
    void selectByExpression( const QString &expression, QgsVectorLayer::SelectBehavior behavior = QgsVectorLayer::SetSelection );
 | 
						||
%Docstring
 | 
						||
Selects matching features using an expression.
 | 
						||
 | 
						||
:param expression: expression to evaluate to select features
 | 
						||
:param behavior: selection type, allows adding to current selection, removing
 | 
						||
                 from selection, etc.
 | 
						||
 | 
						||
.. seealso:: :py:func:`selectByRect`
 | 
						||
 | 
						||
.. seealso:: :py:func:`selectByIds`
 | 
						||
 | 
						||
.. versionadded:: 2.16
 | 
						||
%End
 | 
						||
 | 
						||
    void selectByIds( const QgsFeatureIds &ids, QgsVectorLayer::SelectBehavior behavior = QgsVectorLayer::SetSelection );
 | 
						||
%Docstring
 | 
						||
Selects matching features using a list of feature IDs. Will emit the
 | 
						||
selectionChanged() signal with the clearAndSelect flag set.
 | 
						||
 | 
						||
:param ids: feature IDs to select
 | 
						||
:param behavior: selection type, allows adding to current selection, removing
 | 
						||
                 from selection, etc.
 | 
						||
 | 
						||
.. seealso:: :py:func:`selectByRect`
 | 
						||
 | 
						||
.. seealso:: :py:func:`selectByExpression`
 | 
						||
 | 
						||
.. versionadded:: 2.16
 | 
						||
%End
 | 
						||
 | 
						||
    void modifySelection( const QgsFeatureIds &selectIds, const QgsFeatureIds &deselectIds );
 | 
						||
%Docstring
 | 
						||
Modifies the current selection on this layer
 | 
						||
 | 
						||
:param selectIds: Select these ids
 | 
						||
:param deselectIds: Deselect these ids
 | 
						||
 | 
						||
.. seealso:: :py:func:`selectByIds`
 | 
						||
 | 
						||
.. seealso:: :py:func:`deselect`
 | 
						||
 | 
						||
.. seealso:: :py:func:`deselect`
 | 
						||
 | 
						||
.. seealso:: :py:func:`selectByExpression`
 | 
						||
%End
 | 
						||
 | 
						||
    void invertSelection();
 | 
						||
%Docstring
 | 
						||
Selects not selected features and deselects selected ones
 | 
						||
%End
 | 
						||
 | 
						||
    void selectAll();
 | 
						||
%Docstring
 | 
						||
Select all the features
 | 
						||
%End
 | 
						||
 | 
						||
    void invertSelectionInRectangle( QgsRectangle &rect );
 | 
						||
%Docstring
 | 
						||
Inverts selection of features found within the search rectangle (in layer's coordinates)
 | 
						||
 | 
						||
:param rect: The rectangle in which the selection of features will be inverted
 | 
						||
 | 
						||
.. seealso:: :py:func:`invertSelection`
 | 
						||
%End
 | 
						||
 | 
						||
    QgsFeatureList selectedFeatures() const;
 | 
						||
%Docstring
 | 
						||
Returns a copy of the user-selected features.
 | 
						||
 | 
						||
.. warning::
 | 
						||
 | 
						||
   Calling this method triggers a request for all attributes and geometry for the selected features.
 | 
						||
   Consider using the much more efficient selectedFeatureIds() or selectedFeatureCount() if you do not
 | 
						||
   require access to the feature attributes or geometry.
 | 
						||
 | 
						||
:return: A list of :py:class:`QgsFeature`
 | 
						||
 | 
						||
 | 
						||
.. seealso:: :py:func:`selectedFeatureIds`
 | 
						||
 | 
						||
.. seealso:: :py:func:`getSelectedFeatures`
 | 
						||
%End
 | 
						||
 | 
						||
    QgsFeatureIterator getSelectedFeatures( QgsFeatureRequest request = QgsFeatureRequest() ) const;
 | 
						||
%Docstring
 | 
						||
Returns an iterator of the selected features.
 | 
						||
 | 
						||
:param request: You may specify a request, e.g. to limit the set of requested attributes.
 | 
						||
                Any filter on the request will be discarded.
 | 
						||
 | 
						||
:return: Iterator over the selected features
 | 
						||
 | 
						||
 | 
						||
.. warning::
 | 
						||
 | 
						||
   Calling this method returns an iterator for all attributes and geometry for the selected features.
 | 
						||
   Consider using the much more efficient selectedFeatureIds() or selectedFeatureCount() if you do not
 | 
						||
   require access to the feature attributes or geometry.
 | 
						||
 | 
						||
 | 
						||
.. seealso:: :py:func:`selectedFeatureIds`
 | 
						||
 | 
						||
.. seealso:: :py:func:`selectedFeatures`
 | 
						||
%End
 | 
						||
 | 
						||
    const QgsFeatureIds &selectedFeatureIds() const;
 | 
						||
%Docstring
 | 
						||
Returns a list of the selected features IDs in this layer.
 | 
						||
 | 
						||
.. seealso:: :py:func:`selectedFeatures`
 | 
						||
 | 
						||
.. seealso:: :py:func:`selectedFeatureCount`
 | 
						||
 | 
						||
.. seealso:: :py:func:`selectByIds`
 | 
						||
%End
 | 
						||
 | 
						||
    QgsRectangle boundingBoxOfSelected() const;
 | 
						||
%Docstring
 | 
						||
Returns the bounding box of the selected features. If there is no selection, QgsRectangle(0,0,0,0) is returned
 | 
						||
%End
 | 
						||
 | 
						||
    bool labelsEnabled() const;
 | 
						||
%Docstring
 | 
						||
Returns whether the layer contains labels which are enabled and should be drawn.
 | 
						||
 | 
						||
:return: ``True`` if layer contains enabled labels
 | 
						||
 | 
						||
.. seealso:: :py:func:`setLabelsEnabled`
 | 
						||
 | 
						||
.. versionadded:: 2.9
 | 
						||
%End
 | 
						||
 | 
						||
    void setLabelsEnabled( bool enabled );
 | 
						||
%Docstring
 | 
						||
Sets whether labels should be ``enabled`` for the layer.
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Labels will only be rendered if labelsEnabled() is ``True`` and a labeling
 | 
						||
   object is returned by labeling().
 | 
						||
 | 
						||
.. seealso:: :py:func:`labelsEnabled`
 | 
						||
 | 
						||
.. seealso:: :py:func:`labeling`
 | 
						||
%End
 | 
						||
 | 
						||
    bool diagramsEnabled() const;
 | 
						||
%Docstring
 | 
						||
Returns whether the layer contains diagrams which are enabled and should be drawn.
 | 
						||
 | 
						||
:return: ``True`` if layer contains enabled diagrams
 | 
						||
 | 
						||
.. versionadded:: 2.9
 | 
						||
%End
 | 
						||
 | 
						||
    void setDiagramRenderer( QgsDiagramRenderer *r /Transfer/ );
 | 
						||
%Docstring
 | 
						||
Sets diagram rendering object (takes ownership)
 | 
						||
%End
 | 
						||
    const QgsDiagramRenderer *diagramRenderer() const;
 | 
						||
 | 
						||
    void setDiagramLayerSettings( const QgsDiagramLayerSettings &s );
 | 
						||
    const QgsDiagramLayerSettings *diagramLayerSettings() const;
 | 
						||
 | 
						||
    QgsFeatureRenderer *renderer();
 | 
						||
%Docstring
 | 
						||
Returns renderer.
 | 
						||
%End
 | 
						||
 | 
						||
 | 
						||
    void setRenderer( QgsFeatureRenderer *r /Transfer/ );
 | 
						||
%Docstring
 | 
						||
Sets renderer which will be invoked to represent this layer.
 | 
						||
Ownership is transferred.
 | 
						||
%End
 | 
						||
 | 
						||
    QgsWkbTypes::GeometryType geometryType() const;
 | 
						||
%Docstring
 | 
						||
Returns point, line or polygon
 | 
						||
%End
 | 
						||
 | 
						||
    virtual QgsWkbTypes::Type wkbType() const ${SIP_FINAL};
 | 
						||
 | 
						||
%Docstring
 | 
						||
Returns the WKBType or WKBUnknown in case of error
 | 
						||
%End
 | 
						||
 | 
						||
    virtual QgsCoordinateReferenceSystem sourceCrs() const ${SIP_FINAL};
 | 
						||
 | 
						||
    virtual QString sourceName() const ${SIP_FINAL};
 | 
						||
 | 
						||
 | 
						||
    virtual bool readXml( const QDomNode &layer_node, QgsReadWriteContext &context ) ${SIP_FINAL};
 | 
						||
 | 
						||
%Docstring
 | 
						||
Reads vector layer specific state from project file Dom node.
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Called by :py:func:`QgsMapLayer.readXml()`
 | 
						||
%End
 | 
						||
 | 
						||
    virtual bool writeXml( QDomNode &layer_node, QDomDocument &doc, const QgsReadWriteContext &context ) const ${SIP_FINAL};
 | 
						||
 | 
						||
%Docstring
 | 
						||
Writes vector layer specific state to project file Dom node.
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Called by :py:func:`QgsMapLayer.writeXml()`
 | 
						||
%End
 | 
						||
 | 
						||
    virtual QString encodedSource( const QString &source, const QgsReadWriteContext &context ) const ${SIP_FINAL};
 | 
						||
 | 
						||
    virtual QString decodedSource( const QString &source, const QString &provider, const QgsReadWriteContext &context ) const ${SIP_FINAL};
 | 
						||
 | 
						||
 | 
						||
    virtual void resolveReferences( QgsProject *project ) ${SIP_FINAL};
 | 
						||
 | 
						||
%Docstring
 | 
						||
Resolves references to other layers (kept as layer IDs after reading XML) into layer objects.
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    virtual void saveStyleToDatabase( const QString &name, const QString &description,
 | 
						||
                                      bool useAsDefault, const QString &uiFileContent,
 | 
						||
                                      QString &msgError /Out/ );
 | 
						||
%Docstring
 | 
						||
Saves named and sld style of the layer to the style table in the db.
 | 
						||
 | 
						||
:param name:
 | 
						||
:param description:
 | 
						||
:param useAsDefault:
 | 
						||
:param uiFileContent:
 | 
						||
%End
 | 
						||
 | 
						||
    virtual int listStylesInDatabase( QStringList &ids /Out/, QStringList &names /Out/,
 | 
						||
                                      QStringList &descriptions /Out/, QString &msgError /Out/ );
 | 
						||
%Docstring
 | 
						||
Lists all the style in db split into related to the layer and not related to
 | 
						||
 | 
						||
:param ids: the list in which will be stored the style db ids
 | 
						||
:param names: the list in which will be stored the style names
 | 
						||
:param msgError:
 | 
						||
 | 
						||
:return: - the number of styles related to current layer (-1 on not implemented)
 | 
						||
         - descriptions: the list in which will be stored the style descriptions
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Since QGIS 3.2 Styles related to the layer are ordered with the default style first then by update time for Postgres, MySQL and Spatialite.
 | 
						||
%End
 | 
						||
 | 
						||
    virtual QString getStyleFromDatabase( const QString &styleId, QString &msgError /Out/ );
 | 
						||
%Docstring
 | 
						||
Returns the named style corresponding to style id provided
 | 
						||
%End
 | 
						||
 | 
						||
    virtual bool deleteStyleFromDatabase( const QString &styleId, QString &msgError /Out/ );
 | 
						||
%Docstring
 | 
						||
Deletes a style from the database
 | 
						||
 | 
						||
:param styleId: the provider's layer_styles table id of the style to delete
 | 
						||
 | 
						||
:return: - ``True`` in case of success
 | 
						||
         - msgError: reference to string that will be updated with any error messages
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    virtual QString loadNamedStyle( const QString &theURI, bool &resultFlag /Out/, bool loadFromLocalDb,
 | 
						||
                                    QgsMapLayer::StyleCategories categories = QgsMapLayer::AllStyleCategories );
 | 
						||
%Docstring
 | 
						||
Loads a named style from file/local db/datasource db
 | 
						||
 | 
						||
:param theURI: the URI of the style or the URI of the layer
 | 
						||
:param resultFlag: will be set to ``True`` if a named style is correctly loaded
 | 
						||
:param loadFromLocalDb: if ``True`` forces to load from local db instead of datasource one
 | 
						||
:param categories: the style categories to be loaded.
 | 
						||
%End
 | 
						||
 | 
						||
     virtual QString loadNamedStyle( const QString &theURI, bool &resultFlag /Out/,
 | 
						||
                            QgsMapLayer::StyleCategories categories = QgsMapLayer::AllStyleCategories ) ${SIP_FINAL};
 | 
						||
%Docstring
 | 
						||
Calls loadNamedStyle( theURI, resultFlag, ``False`` );
 | 
						||
Retained for backward compatibility
 | 
						||
%End
 | 
						||
 | 
						||
    bool loadAuxiliaryLayer( const QgsAuxiliaryStorage &storage, const QString &key = QString() );
 | 
						||
%Docstring
 | 
						||
Loads the auxiliary layer for this vector layer. If there's no
 | 
						||
corresponding table in the database, then nothing happens and ``False`` is
 | 
						||
returned. The key is optional because if this layer has been read from
 | 
						||
a XML document, then the key read in this document is used by default.
 | 
						||
 | 
						||
:param storage: The auxiliary storage where to look for the table
 | 
						||
:param key: The key to use for joining.
 | 
						||
 | 
						||
:return: ``True`` if the auxiliary layer is well loaded, ``False`` otherwise
 | 
						||
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    void setAuxiliaryLayer( QgsAuxiliaryLayer *layer /Transfer/ = 0 );
 | 
						||
%Docstring
 | 
						||
Sets the current auxiliary layer. The auxiliary layer is automatically
 | 
						||
put in editable mode and fields are updated. Moreover, a join is created
 | 
						||
between the current layer and the auxiliary layer. Ownership is
 | 
						||
transferred.
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    QgsAuxiliaryLayer *auxiliaryLayer();
 | 
						||
%Docstring
 | 
						||
Returns the current auxiliary layer.
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
 | 
						||
     virtual bool readSymbology( const QDomNode &layerNode, QString &errorMessage,
 | 
						||
                        QgsReadWriteContext &context, QgsMapLayer::StyleCategories categories = QgsMapLayer::AllStyleCategories ) ${SIP_FINAL};
 | 
						||
%Docstring
 | 
						||
Reads the symbology for the current layer from the Dom node supplied.
 | 
						||
 | 
						||
:param layerNode: node that will contain the symbology definition for this layer.
 | 
						||
:param errorMessage: reference to string that will be updated with any error messages
 | 
						||
:param context: reading context (used for transform from relative to absolute paths)
 | 
						||
:param categories: the style categories to be read
 | 
						||
 | 
						||
:return: ``True`` in case of success.
 | 
						||
%End
 | 
						||
 | 
						||
     virtual bool readStyle( const QDomNode &node, QString &errorMessage,
 | 
						||
                    QgsReadWriteContext &context, QgsMapLayer::StyleCategories categories = QgsMapLayer::AllStyleCategories ) ${SIP_FINAL};
 | 
						||
%Docstring
 | 
						||
Reads the style for the current layer from the Dom node supplied.
 | 
						||
 | 
						||
:param node: node that will contain the style definition for this layer.
 | 
						||
:param errorMessage: reference to string that will be updated with any error messages
 | 
						||
:param context: reading context (used for transform from relative to absolute paths)
 | 
						||
:param categories: the style categories to be read
 | 
						||
 | 
						||
:return: ``True`` in case of success.
 | 
						||
%End
 | 
						||
 | 
						||
     virtual bool writeSymbology( QDomNode &node, QDomDocument &doc, QString &errorMessage,
 | 
						||
                         const QgsReadWriteContext &context, QgsMapLayer::StyleCategories categories = QgsMapLayer::AllStyleCategories ) const ${SIP_FINAL};
 | 
						||
%Docstring
 | 
						||
Writes the symbology for the layer into the document provided.
 | 
						||
 | 
						||
:param node: the node that will have the style element added to it.
 | 
						||
:param doc: the document that will have the QDomNode added.
 | 
						||
:param errorMessage: reference to string that will be updated with any error messages
 | 
						||
:param context: writing context (used for transform from absolute to relative paths)
 | 
						||
:param categories: the style categories to be written
 | 
						||
 | 
						||
:return: ``True`` in case of success.
 | 
						||
%End
 | 
						||
 | 
						||
     virtual bool writeStyle( QDomNode &node, QDomDocument &doc, QString &errorMessage,
 | 
						||
                     const QgsReadWriteContext &context, QgsMapLayer::StyleCategories categories = QgsMapLayer::AllStyleCategories ) const ${SIP_FINAL};
 | 
						||
%Docstring
 | 
						||
Writes just the style information for the layer into the document
 | 
						||
 | 
						||
:param node: the node that will have the style element added to it.
 | 
						||
:param doc: the document that will have the QDomNode added.
 | 
						||
:param errorMessage: reference to string that will be updated with any error messages
 | 
						||
:param context: writing context (used for transform from absolute to relative paths)
 | 
						||
:param categories: the style categories to be written
 | 
						||
 | 
						||
:return: ``True`` in case of success.
 | 
						||
%End
 | 
						||
 | 
						||
    bool writeSld( QDomNode &node, QDomDocument &doc, QString &errorMessage, const QgsStringMap &props = QgsStringMap() ) const;
 | 
						||
%Docstring
 | 
						||
Writes the symbology of the layer into the document provided in SLD 1.1 format
 | 
						||
 | 
						||
:param node: the node that will have the style element added to it.
 | 
						||
:param doc: the document that will have the QDomNode added.
 | 
						||
:param errorMessage: reference to string that will be updated with any error messages
 | 
						||
:param props: a open ended set of properties that can drive/inform the SLD encoding
 | 
						||
 | 
						||
:return: ``True`` in case of success
 | 
						||
%End
 | 
						||
 | 
						||
    virtual bool readSld( const QDomNode &node, QString &errorMessage ) ${SIP_FINAL};
 | 
						||
 | 
						||
 | 
						||
    long featureCount( const QString &legendKey ) const;
 | 
						||
%Docstring
 | 
						||
Number of features rendered with specified legend key. Features must be first
 | 
						||
calculated by countSymbolFeatures()
 | 
						||
 | 
						||
:return: number of features rendered by symbol or -1 if failed or counts are not available
 | 
						||
%End
 | 
						||
 | 
						||
    QgsFeatureIds symbolFeatureIds( const QString &legendKey ) const;
 | 
						||
%Docstring
 | 
						||
Ids of features rendered with specified legend key. Features must be first
 | 
						||
calculated by countSymbolFeatures()
 | 
						||
 | 
						||
:return: Ids of features rendered by symbol or -1 if failed or Ids are not available
 | 
						||
 | 
						||
.. versionadded:: 3.10
 | 
						||
%End
 | 
						||
 | 
						||
    virtual FeatureAvailability hasFeatures() const ${SIP_FINAL};
 | 
						||
 | 
						||
%Docstring
 | 
						||
Determines if this vector layer has features.
 | 
						||
 | 
						||
.. warning::
 | 
						||
 | 
						||
   when a layer is editable and some features
 | 
						||
   have been deleted, this will return
 | 
						||
   QgsFeatureSource.FeatureAvailability.FeaturesMayBeAvailable
 | 
						||
   to avoid a potentially expensive call to the dataprovider.
 | 
						||
 | 
						||
.. versionadded:: 3.4
 | 
						||
%End
 | 
						||
 | 
						||
 void setDataSource( const QString &dataSource, const QString &baseName, const QString &provider, bool loadDefaultStyleFlag = false ) /Deprecated/;
 | 
						||
%Docstring
 | 
						||
Update the data source of the layer. The layer's renderer and legend will be preserved only
 | 
						||
if the geometry type of the new data source matches the current geometry type of the layer.
 | 
						||
 | 
						||
:param dataSource: new layer data source
 | 
						||
:param baseName: base name of the layer
 | 
						||
:param provider: provider string
 | 
						||
:param loadDefaultStyleFlag: set to ``True`` to reset the layer's style to the default for the
 | 
						||
                             data source
 | 
						||
 | 
						||
.. versionadded:: 2.10
 | 
						||
 | 
						||
.. deprecated::
 | 
						||
   Use version with ProviderOptions argument instead
 | 
						||
%End
 | 
						||
 | 
						||
    virtual void setDataSource( const QString &dataSource, const QString &baseName, const QString &provider, const QgsDataProvider::ProviderOptions &options, bool loadDefaultStyleFlag = false );
 | 
						||
 | 
						||
%Docstring
 | 
						||
Updates the data source of the layer. The layer's renderer and legend will be preserved only
 | 
						||
if the geometry type of the new data source matches the current geometry type of the layer.
 | 
						||
 | 
						||
:param dataSource: new layer data source
 | 
						||
:param baseName: base name of the layer
 | 
						||
:param provider: provider string
 | 
						||
:param options: provider options
 | 
						||
:param loadDefaultStyleFlag: set to ``True`` to reset the layer's style to the default for the
 | 
						||
                             data source
 | 
						||
 | 
						||
.. seealso:: :py:func:`dataSourceChanged`
 | 
						||
 | 
						||
.. versionadded:: 3.2
 | 
						||
%End
 | 
						||
 | 
						||
    virtual QString loadDefaultStyle( bool &resultFlag /Out/ ) ${SIP_FINAL};
 | 
						||
 | 
						||
 | 
						||
    QgsVectorLayerFeatureCounter *countSymbolFeatures( bool storeSymbolFids = false );
 | 
						||
%Docstring
 | 
						||
Count features for symbols.
 | 
						||
The method will return the feature counter task. You will need to
 | 
						||
connect to the symbolFeatureCountMapChanged() signal to be
 | 
						||
notified when the freshly updated feature counts are ready.
 | 
						||
 | 
						||
:param storeSymbolFids: If ``True`` will gather the feature ids (fids) per symbol, otherwise only the count. Default ``False``.
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   If the count features for symbols has been already done a
 | 
						||
   ``None`` is returned. If you need to wait for the results,
 | 
						||
   you can call waitForFinished() on the feature counter.
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    virtual bool setSubsetString( const QString &subset );
 | 
						||
%Docstring
 | 
						||
Sets the string (typically sql) used to define a subset of the layer
 | 
						||
 | 
						||
:param subset: The subset string. This may be the where clause of a sql statement
 | 
						||
               or other definition string specific to the underlying dataprovider
 | 
						||
               and data store.
 | 
						||
 | 
						||
:return: ``True``, when setting the subset string was successful, ``False`` otherwise
 | 
						||
%End
 | 
						||
 | 
						||
    virtual QString subsetString() const;
 | 
						||
%Docstring
 | 
						||
Returns the string (typically sql) used to define a subset of the layer.
 | 
						||
 | 
						||
:return: The subset string or null QString if not implemented by the provider
 | 
						||
%End
 | 
						||
 | 
						||
    virtual QgsFeatureIterator getFeatures( const QgsFeatureRequest &request = QgsFeatureRequest() ) const ${SIP_FINAL};
 | 
						||
 | 
						||
%Docstring
 | 
						||
Queries the layer for features specified in request.
 | 
						||
 | 
						||
:param request: feature request describing parameters of features to return
 | 
						||
 | 
						||
:return: iterator for matching features from provider
 | 
						||
%End
 | 
						||
 | 
						||
    QgsFeatureIterator getFeatures( const QString &expression );
 | 
						||
%Docstring
 | 
						||
Queries the layer for features matching a given expression.
 | 
						||
%End
 | 
						||
 | 
						||
    QgsFeature getFeature( QgsFeatureId fid ) const;
 | 
						||
%Docstring
 | 
						||
Queries the layer for the feature with the given id.
 | 
						||
If there is no such feature, the returned feature will be invalid.
 | 
						||
%End
 | 
						||
 | 
						||
    QgsGeometry getGeometry( QgsFeatureId fid ) const;
 | 
						||
%Docstring
 | 
						||
Queries the layer for the geometry at the given id.
 | 
						||
If there is no such feature, the returned geometry will be invalid.
 | 
						||
%End
 | 
						||
 | 
						||
    QgsFeatureIterator getFeatures( const QgsFeatureIds &fids );
 | 
						||
%Docstring
 | 
						||
Queries the layer for the features with the given ids.
 | 
						||
%End
 | 
						||
 | 
						||
    QgsFeatureIterator getFeatures( const QgsRectangle &rectangle );
 | 
						||
%Docstring
 | 
						||
Queries the layer for the features which intersect the specified rectangle.
 | 
						||
%End
 | 
						||
 | 
						||
    virtual bool addFeature( QgsFeature &feature, QgsFeatureSink::Flags flags = 0 ) ${SIP_FINAL};
 | 
						||
 | 
						||
 | 
						||
    bool updateFeature( QgsFeature &feature, bool skipDefaultValues = false );
 | 
						||
%Docstring
 | 
						||
Updates an existing ``feature`` in the layer, replacing the attributes and geometry for the feature
 | 
						||
with matching QgsFeature.id() with the attributes and geometry from ``feature``.
 | 
						||
Changes are not immediately committed to the layer.
 | 
						||
 | 
						||
If ``skipDefaultValue`` is set to ``True``, default field values will not
 | 
						||
be updated. This can be used to override default field value expressions.
 | 
						||
 | 
						||
Returns ``True`` if the feature's attribute was successfully changed.
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to updateFeature() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
 | 
						||
.. warning::
 | 
						||
 | 
						||
   This method needs to query the underlying data provider to fetch the feature
 | 
						||
   with matching QgsFeature.id() on every call. Depending on the underlying data source this
 | 
						||
   can be slow to execute. Consider using the more efficient changeAttributeValue() or
 | 
						||
   changeGeometry() methods instead.
 | 
						||
 | 
						||
 | 
						||
.. seealso:: :py:func:`startEditing`
 | 
						||
 | 
						||
.. seealso:: :py:func:`commitChanges`
 | 
						||
 | 
						||
.. seealso:: :py:func:`changeGeometry`
 | 
						||
 | 
						||
.. seealso:: :py:func:`changeAttributeValue`
 | 
						||
%End
 | 
						||
 | 
						||
    bool insertVertex( double x, double y, QgsFeatureId atFeatureId, int beforeVertex );
 | 
						||
%Docstring
 | 
						||
Inserts a new vertex before the given vertex number,
 | 
						||
in the given ring, item (first number is index 0), and feature.
 | 
						||
 | 
						||
Not meaningful for Point geometries
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to insertVertex() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
%End
 | 
						||
 | 
						||
    bool insertVertex( const QgsPoint &point, QgsFeatureId atFeatureId, int beforeVertex );
 | 
						||
%Docstring
 | 
						||
Inserts a new vertex before the given vertex number,
 | 
						||
in the given ring, item (first number is index 0), and feature.
 | 
						||
 | 
						||
Not meaningful for Point geometries
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to insertVertex() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
%End
 | 
						||
 | 
						||
    bool moveVertex( double x, double y, QgsFeatureId atFeatureId, int atVertex );
 | 
						||
%Docstring
 | 
						||
Moves the vertex at the given position number,
 | 
						||
ring and item (first number is index 0), and feature
 | 
						||
to the given coordinates.
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to moveVertex() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
%End
 | 
						||
 | 
						||
    bool moveVertex( const QgsPoint &p, QgsFeatureId atFeatureId, int atVertex ) /PyName=moveVertexV2/;
 | 
						||
%Docstring
 | 
						||
Moves the vertex at the given position number,
 | 
						||
ring and item (first number is index 0), and feature
 | 
						||
to the given coordinates.
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   available in Python as moveVertexV2
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to moveVertex() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
%End
 | 
						||
 | 
						||
    EditResult deleteVertex( QgsFeatureId featureId, int vertex );
 | 
						||
%Docstring
 | 
						||
Deletes a vertex from a feature.
 | 
						||
 | 
						||
:param featureId: ID of feature to remove vertex from
 | 
						||
:param vertex: index of vertex to delete
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to deleteVertex() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
 | 
						||
.. versionadded:: 2.14
 | 
						||
%End
 | 
						||
 | 
						||
    bool deleteSelectedFeatures( int *deletedCount = 0 );
 | 
						||
%Docstring
 | 
						||
Deletes the selected features
 | 
						||
 | 
						||
:return: ``True`` in case of success and ``False`` otherwise
 | 
						||
%End
 | 
						||
 | 
						||
 QgsGeometry::OperationResult addRing( const QVector<QgsPointXY> &ring, QgsFeatureId *featureId = 0 ) /Deprecated/;
 | 
						||
%Docstring
 | 
						||
Adds a ring to polygon/multipolygon features
 | 
						||
 | 
						||
:param ring: ring to add
 | 
						||
:param featureId: if specified, feature ID for feature ring was added to will be stored in this parameter
 | 
						||
 | 
						||
:return: QgsGeometry.OperationResult
 | 
						||
         - Success
 | 
						||
         - LayerNotEditable
 | 
						||
         - AddRingNotInExistingFeature
 | 
						||
         - InvalidInputGeometryType
 | 
						||
         - AddRingNotClosed
 | 
						||
         - AddRingNotValid
 | 
						||
         - AddRingCrossesExistingRings
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to addRing() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
 | 
						||
.. deprecated:: QGIS 3.12
 | 
						||
   - will be removed in QGIS 4.0. Use the variant which accepts QgsPoint objects instead of QgsPointXY.
 | 
						||
%End
 | 
						||
 | 
						||
 | 
						||
    QgsGeometry::OperationResult addRing( const QgsPointSequence &ring, QgsFeatureId *featureId = 0 );
 | 
						||
%Docstring
 | 
						||
Adds a ring to polygon/multipolygon features
 | 
						||
 | 
						||
:param ring: ring to add
 | 
						||
:param featureId: if specified, feature ID for feature ring was added to will be stored in this parameter
 | 
						||
 | 
						||
:return: QgsGeometry.OperationResult
 | 
						||
         - Success
 | 
						||
         - LayerNotEditable
 | 
						||
         - AddRingNotInExistingFeature
 | 
						||
         - InvalidInputGeometryType
 | 
						||
         - AddRingNotClosed
 | 
						||
         - AddRingNotValid
 | 
						||
         - AddRingCrossesExistingRings
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to addRing() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
%End
 | 
						||
 | 
						||
    QgsGeometry::OperationResult addRing( QgsCurve *ring /Transfer/, QgsFeatureId *featureId = 0 ) /PyName=addCurvedRing/;
 | 
						||
%Docstring
 | 
						||
Adds a ring to polygon/multipolygon features (takes ownership)
 | 
						||
 | 
						||
:param ring: ring to add
 | 
						||
:param featureId: if specified, feature ID for feature ring was added to will be stored in this parameter
 | 
						||
 | 
						||
:return: QgsGeometry.OperationResult
 | 
						||
         - Success
 | 
						||
         - LayerNotEditable
 | 
						||
         - AddRingNotInExistingFeature
 | 
						||
         - InvalidInputGeometryType
 | 
						||
         - AddRingNotClosed
 | 
						||
         - AddRingNotValid
 | 
						||
         - AddRingCrossesExistingRings
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   available in Python as addCurvedRing
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to addRing() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
%End
 | 
						||
 | 
						||
 QgsGeometry::OperationResult addPart( const QList<QgsPointXY> &ring ) /Deprecated/;
 | 
						||
%Docstring
 | 
						||
Adds a new part polygon to a multipart feature
 | 
						||
 | 
						||
:return: QgsGeometry.OperationResult
 | 
						||
         - Success
 | 
						||
         - LayerNotEditable
 | 
						||
         - SelectionIsEmpty
 | 
						||
         - SelectionIsGreaterThanOne
 | 
						||
         - AddPartSelectedGeometryNotFound
 | 
						||
         - AddPartNotMultiGeometry
 | 
						||
         - InvalidBaseGeometry
 | 
						||
         - InvalidInputGeometryType
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to addPart() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
 | 
						||
.. deprecated:: QGIS 3.12
 | 
						||
   - will be removed in QGIS 4.0. Use the variant which accepts QgsPoint objects instead of QgsPointXY.
 | 
						||
%End
 | 
						||
 | 
						||
 QgsGeometry::OperationResult addPart( const QVector<QgsPointXY> &ring ) /PyName=addPartV2,Deprecated/;
 | 
						||
%Docstring
 | 
						||
Adds a new part polygon to a multipart feature
 | 
						||
 | 
						||
:return: QgsGeometry.OperationResult
 | 
						||
         - Success
 | 
						||
         - LayerNotEditable
 | 
						||
         - SelectionIsEmpty
 | 
						||
         - SelectionIsGreaterThanOne
 | 
						||
         - AddPartSelectedGeometryNotFound
 | 
						||
         - AddPartNotMultiGeometry
 | 
						||
         - InvalidBaseGeometry
 | 
						||
         - InvalidInputGeometryType
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   available in Python bindings as addPartV2
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to addPart() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
 | 
						||
.. deprecated:: QGIS 3.12
 | 
						||
   - will be removed in QGIS 4.0. Use the variant which accepts QgsPoint objects instead of QgsPointXY.
 | 
						||
%End
 | 
						||
 | 
						||
    QgsGeometry::OperationResult addPart( const QgsPointSequence &ring ) /PyName=addPartV2/;
 | 
						||
%Docstring
 | 
						||
Adds a new part polygon to a multipart feature
 | 
						||
 | 
						||
:return: QgsGeometry.OperationResult
 | 
						||
         - Success
 | 
						||
         - LayerNotEditable
 | 
						||
         - SelectionIsEmpty
 | 
						||
         - SelectionIsGreaterThanOne
 | 
						||
         - AddPartSelectedGeometryNotFound
 | 
						||
         - AddPartNotMultiGeometry
 | 
						||
         - InvalidBaseGeometry
 | 
						||
         - InvalidInputGeometryType
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   available in Python bindings as addPartV2
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to addPart() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
%End
 | 
						||
 | 
						||
    QgsGeometry::OperationResult addPart( QgsCurve *ring /Transfer/ ) /PyName=addCurvedPart/;
 | 
						||
%Docstring
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   available in Python as addCurvedPart
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to addPart() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
%End
 | 
						||
 | 
						||
    int translateFeature( QgsFeatureId featureId, double dx, double dy );
 | 
						||
%Docstring
 | 
						||
Translates feature by dx, dy
 | 
						||
 | 
						||
:param featureId: id of the feature to translate
 | 
						||
:param dx: translation of x-coordinate
 | 
						||
:param dy: translation of y-coordinate
 | 
						||
 | 
						||
:return: 0 in case of success
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to translateFeature() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
%End
 | 
						||
 | 
						||
 QgsGeometry::OperationResult splitParts( const QVector<QgsPointXY> &splitLine, bool topologicalEditing = false ) /Deprecated/;
 | 
						||
%Docstring
 | 
						||
Splits parts cut by the given line
 | 
						||
 | 
						||
:param splitLine: line that splits the layer features
 | 
						||
:param topologicalEditing: ``True`` if topological editing is enabled
 | 
						||
 | 
						||
:return: QgsGeometry.OperationResult
 | 
						||
         - Success
 | 
						||
         - NothingHappened
 | 
						||
         - LayerNotEditable
 | 
						||
         - InvalidInputGeometryType
 | 
						||
         - InvalidBaseGeometry
 | 
						||
         - GeometryEngineError
 | 
						||
         - SplitCannotSplitPoint
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to splitParts() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
 | 
						||
.. deprecated:: QGIS 3.12
 | 
						||
   - will be removed in QGIS 4.0. Use the variant which accepts QgsPoint objects instead of QgsPointXY.
 | 
						||
%End
 | 
						||
 | 
						||
    QgsGeometry::OperationResult splitParts( const QgsPointSequence &splitLine, bool topologicalEditing = false );
 | 
						||
%Docstring
 | 
						||
Splits parts cut by the given line
 | 
						||
 | 
						||
:param splitLine: line that splits the layer features
 | 
						||
:param topologicalEditing: ``True`` if topological editing is enabled
 | 
						||
 | 
						||
:return: QgsGeometry.OperationResult
 | 
						||
         - Success
 | 
						||
         - NothingHappened
 | 
						||
         - LayerNotEditable
 | 
						||
         - InvalidInputGeometryType
 | 
						||
         - InvalidBaseGeometry
 | 
						||
         - GeometryEngineError
 | 
						||
         - SplitCannotSplitPoint
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to splitParts() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
%End
 | 
						||
 | 
						||
 QgsGeometry::OperationResult splitFeatures( const QVector<QgsPointXY> &splitLine, bool topologicalEditing = false ) /Deprecated/;
 | 
						||
%Docstring
 | 
						||
Splits features cut by the given line
 | 
						||
 | 
						||
:param splitLine: line that splits the layer features
 | 
						||
:param topologicalEditing: ``True`` if topological editing is enabled
 | 
						||
 | 
						||
:return: QgsGeometry.OperationResult
 | 
						||
         - Success
 | 
						||
         - NothingHappened
 | 
						||
         - LayerNotEditable
 | 
						||
         - InvalidInputGeometryType
 | 
						||
         - InvalidBaseGeometry
 | 
						||
         - GeometryEngineError
 | 
						||
         - SplitCannotSplitPoint
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to splitFeatures() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
 | 
						||
.. deprecated:: QGIS 3.12
 | 
						||
   - will be removed in QGIS 4.0. Use the variant which accepts QgsPoint objects instead of QgsPointXY.
 | 
						||
%End
 | 
						||
 | 
						||
    QgsGeometry::OperationResult splitFeatures( const QgsPointSequence &splitLine, bool topologicalEditing = false );
 | 
						||
%Docstring
 | 
						||
Splits features cut by the given line
 | 
						||
 | 
						||
:param splitLine: line that splits the layer features
 | 
						||
:param topologicalEditing: ``True`` if topological editing is enabled
 | 
						||
 | 
						||
:return: QgsGeometry.OperationResult
 | 
						||
         - Success
 | 
						||
         - NothingHappened
 | 
						||
         - LayerNotEditable
 | 
						||
         - InvalidInputGeometryType
 | 
						||
         - InvalidBaseGeometry
 | 
						||
         - GeometryEngineError
 | 
						||
         - SplitCannotSplitPoint
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to splitFeatures() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
%End
 | 
						||
 | 
						||
    int addTopologicalPoints( const QgsGeometry &geom );
 | 
						||
%Docstring
 | 
						||
Adds topological points for every vertex of the geometry.
 | 
						||
 | 
						||
:param geom: the geometry where each vertex is added to segments of other features
 | 
						||
 | 
						||
:return: 0 in case of success
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   geom is not going to be modified by the function
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to addTopologicalPoints() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
%End
 | 
						||
 | 
						||
 int addTopologicalPoints( const QgsPointXY &p )  /Deprecated/;
 | 
						||
%Docstring
 | 
						||
Adds a vertex to segments which intersect point ``p`` but don't
 | 
						||
already have a vertex there. If a feature already has a vertex at position ``p``,
 | 
						||
no additional vertex is inserted. This method is useful for topological
 | 
						||
editing.
 | 
						||
 | 
						||
:param p: position of the vertex
 | 
						||
 | 
						||
:return: 0 in case of success
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to addTopologicalPoints() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
 | 
						||
.. deprecated:: QGIS 3.12
 | 
						||
   - will be removed in QGIS 4.0. Use the variant which accepts QgsPoint objects instead of QgsPointXY.
 | 
						||
%End
 | 
						||
 | 
						||
    int addTopologicalPoints( const QgsPoint &p );
 | 
						||
%Docstring
 | 
						||
Adds a vertex to segments which intersect point ``p`` but don't
 | 
						||
already have a vertex there. If a feature already has a vertex at position ``p``,
 | 
						||
no additional vertex is inserted. This method is useful for topological
 | 
						||
editing.
 | 
						||
 | 
						||
:param p: position of the vertex
 | 
						||
 | 
						||
:return: 0 in case of success
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to addTopologicalPoints() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
 | 
						||
.. versionadded:: 3.10
 | 
						||
%End
 | 
						||
 | 
						||
 | 
						||
    QgsAbstractVectorLayerLabeling *labeling();
 | 
						||
%Docstring
 | 
						||
Access to labeling configuration. May be ``None`` if labeling is not used.
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Labels will only be rendered if labelsEnabled() returns ``True``.
 | 
						||
 | 
						||
.. seealso:: :py:func:`labelsEnabled`
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    void setLabeling( QgsAbstractVectorLayerLabeling *labeling /Transfer/ );
 | 
						||
%Docstring
 | 
						||
Sets labeling configuration. Takes ownership of the object.
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    virtual bool isEditable() const ${SIP_FINAL};
 | 
						||
 | 
						||
%Docstring
 | 
						||
Returns ``True`` if the provider is in editing mode
 | 
						||
%End
 | 
						||
 | 
						||
    virtual bool isSpatial() const ${SIP_FINAL};
 | 
						||
 | 
						||
%Docstring
 | 
						||
Returns ``True`` if this is a geometry layer and ``False`` in case of NoGeometry (table only) or UnknownGeometry
 | 
						||
%End
 | 
						||
 | 
						||
    virtual bool isModified() const;
 | 
						||
%Docstring
 | 
						||
Returns ``True`` if the provider has been modified since the last commit
 | 
						||
%End
 | 
						||
 | 
						||
    bool isAuxiliaryField( int index, int &srcIndex ) const;
 | 
						||
%Docstring
 | 
						||
Returns ``True`` if the field comes from the auxiliary layer,
 | 
						||
``False`` otherwise.
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    virtual void reload() ${SIP_FINAL};
 | 
						||
 | 
						||
%Docstring
 | 
						||
Synchronises with changes in the datasource
 | 
						||
%End
 | 
						||
 | 
						||
    virtual QgsMapLayerRenderer *createMapRenderer( QgsRenderContext &rendererContext ) ${SIP_FINAL} /Factory/;
 | 
						||
 | 
						||
%Docstring
 | 
						||
Returns new instance of QgsMapLayerRenderer that will be used for rendering of given context
 | 
						||
 | 
						||
.. versionadded:: 2.4
 | 
						||
%End
 | 
						||
 | 
						||
    virtual QgsRectangle extent() const ${SIP_FINAL};
 | 
						||
 | 
						||
    virtual QgsRectangle sourceExtent() const ${SIP_FINAL};
 | 
						||
 | 
						||
 | 
						||
    virtual QgsFields fields() const ${SIP_FINAL};
 | 
						||
 | 
						||
%Docstring
 | 
						||
Returns the list of fields of this layer.
 | 
						||
This also includes fields which have not yet been saved to the provider.
 | 
						||
 | 
						||
:return: A list of fields
 | 
						||
%End
 | 
						||
 | 
						||
    QgsAttributeList attributeList() const;
 | 
						||
%Docstring
 | 
						||
Returns list of attribute indexes. i.e. a list from 0 ... fieldCount()
 | 
						||
%End
 | 
						||
 | 
						||
    QgsAttributeList primaryKeyAttributes() const;
 | 
						||
%Docstring
 | 
						||
Returns the list of attributes which make up the layer's primary keys.
 | 
						||
%End
 | 
						||
 | 
						||
    virtual long featureCount() const ${SIP_FINAL};
 | 
						||
 | 
						||
%Docstring
 | 
						||
Returns feature count including changes which have not yet been committed
 | 
						||
If you need only the count of committed features call this method on this layer's provider.
 | 
						||
 | 
						||
:return: the number of features on this layer or -1 if unknown.
 | 
						||
%End
 | 
						||
 | 
						||
    bool setReadOnly( bool readonly = true );
 | 
						||
%Docstring
 | 
						||
Makes layer read-only (editing disabled) or not
 | 
						||
 | 
						||
:return: ``False`` if the layer is in editing yet
 | 
						||
%End
 | 
						||
 | 
						||
    bool changeGeometry( QgsFeatureId fid, QgsGeometry &geometry, bool skipDefaultValue = false );
 | 
						||
%Docstring
 | 
						||
Changes a feature's ``geometry`` within the layer's edit buffer
 | 
						||
(but does not immediately commit the changes). The ``fid`` argument
 | 
						||
specifies the ID of the feature to be changed.
 | 
						||
 | 
						||
If ``skipDefaultValue`` is set to ``True``, default field values will not
 | 
						||
be updated. This can be used to override default field value expressions.
 | 
						||
 | 
						||
:return: ``True`` if the feature's geometry was successfully changed.
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to changeGeometry() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
 | 
						||
 | 
						||
.. seealso:: :py:func:`startEditing`
 | 
						||
 | 
						||
.. seealso:: :py:func:`commitChanges`
 | 
						||
 | 
						||
.. seealso:: :py:func:`changeAttributeValue`
 | 
						||
 | 
						||
.. seealso:: :py:func:`updateFeature`
 | 
						||
%End
 | 
						||
 | 
						||
    bool changeAttributeValue( QgsFeatureId fid, int field, const QVariant &newValue, const QVariant &oldValue = QVariant(), bool skipDefaultValues = false );
 | 
						||
%Docstring
 | 
						||
Changes an attribute value for a feature (but does not immediately commit the changes).
 | 
						||
The ``fid`` argument specifies the ID of the feature to be changed.
 | 
						||
 | 
						||
The ``field`` argument must specify a valid field index for the layer (where an index of 0
 | 
						||
corresponds to the first field).
 | 
						||
 | 
						||
The new value to be assigned to the field is given by ``newValue``.
 | 
						||
 | 
						||
If a valid QVariant is specified for ``oldValue``, it will be used as the field value in the
 | 
						||
case of an undo operation corresponding to this attribute value change. If an invalid
 | 
						||
QVariant is used (the default behavior), then the feature's current value will be automatically
 | 
						||
retrieved and used. Note that this involves a feature request to the underlying data provider,
 | 
						||
so it is more efficient to explicitly pass an ``oldValue`` if it is already available.
 | 
						||
 | 
						||
If ``skipDefaultValues`` is set to ``True``, default field values will not
 | 
						||
be updated. This can be used to override default field value expressions.
 | 
						||
 | 
						||
:return: ``True`` if the feature's attribute was successfully changed.
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to changeAttributeValue() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
 | 
						||
 | 
						||
.. seealso:: :py:func:`startEditing`
 | 
						||
 | 
						||
.. seealso:: :py:func:`commitChanges`
 | 
						||
 | 
						||
.. seealso:: :py:func:`changeGeometry`
 | 
						||
 | 
						||
.. seealso:: :py:func:`updateFeature`
 | 
						||
%End
 | 
						||
 | 
						||
    bool changeAttributeValues( QgsFeatureId fid, const QgsAttributeMap &newValues, const QgsAttributeMap &oldValues = QgsAttributeMap(), bool skipDefaultValues = false );
 | 
						||
%Docstring
 | 
						||
Changes attributes' values for a feature (but does not immediately
 | 
						||
commit the changes).
 | 
						||
The ``fid`` argument specifies the ID of the feature to be changed.
 | 
						||
 | 
						||
The new values to be assigned to the fields are given by ``newValues``.
 | 
						||
 | 
						||
If a valid QVariant is specified for a field in ``oldValues``, it will be
 | 
						||
used as the field value in the case of an undo operation corresponding
 | 
						||
to this attribute value change. If an invalid QVariant is used (the
 | 
						||
default behavior), then the feature's current value will be
 | 
						||
automatically retrieved and used. Note that this involves a feature
 | 
						||
request to the underlying data provider, so it is more efficient to
 | 
						||
explicitly pass an oldValue if it is already available.
 | 
						||
 | 
						||
If ``skipDefaultValues`` is set to ``True``, default field values will not
 | 
						||
be updated. This can be used to override default field value
 | 
						||
expressions.
 | 
						||
 | 
						||
:return: ``True`` if feature's attributes was successfully changed.
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to changeAttributeValues() are only valid for layers in
 | 
						||
   which edits have been enabled by a call to startEditing(). Changes made
 | 
						||
   to features using this method are not committed to the underlying data
 | 
						||
   provider until a commitChanges() call is made. Any uncommitted changes
 | 
						||
   can be discarded by calling rollBack().
 | 
						||
 | 
						||
 | 
						||
.. seealso:: :py:func:`startEditing`
 | 
						||
 | 
						||
.. seealso:: :py:func:`commitChanges`
 | 
						||
 | 
						||
.. seealso:: :py:func:`changeGeometry`
 | 
						||
 | 
						||
.. seealso:: :py:func:`updateFeature`
 | 
						||
 | 
						||
.. seealso:: :py:func:`changeAttributeValue`
 | 
						||
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    bool addAttribute( const QgsField &field );
 | 
						||
%Docstring
 | 
						||
Add an attribute field (but does not commit it)
 | 
						||
returns ``True`` if the field was added
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to addAttribute() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
%End
 | 
						||
 | 
						||
    void setFieldAlias( int index, const QString &aliasString );
 | 
						||
%Docstring
 | 
						||
Sets an alias (a display name) for attributes to display in dialogs
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    void removeFieldAlias( int index );
 | 
						||
%Docstring
 | 
						||
Removes an alias (a display name) for attributes to display in dialogs
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    bool renameAttribute( int index, const QString &newName );
 | 
						||
%Docstring
 | 
						||
Renames an attribute field  (but does not commit it).
 | 
						||
 | 
						||
:param index: attribute index
 | 
						||
:param newName: new name of field
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to renameAttribute() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
 | 
						||
.. versionadded:: 2.16
 | 
						||
%End
 | 
						||
 | 
						||
    QString attributeAlias( int index ) const;
 | 
						||
%Docstring
 | 
						||
Returns the alias of an attribute name or a null string if there is no alias.
 | 
						||
 | 
						||
\see {attributeDisplayName( int attributeIndex )} which returns the field name
 | 
						||
if no alias is defined.
 | 
						||
%End
 | 
						||
 | 
						||
    QString attributeDisplayName( int index ) const;
 | 
						||
%Docstring
 | 
						||
Convenience function that returns the attribute alias if defined or the field name else
 | 
						||
%End
 | 
						||
 | 
						||
    QgsStringMap attributeAliases() const;
 | 
						||
%Docstring
 | 
						||
Returns a map of field name to attribute alias
 | 
						||
%End
 | 
						||
 | 
						||
    QSet<QString> excludeAttributesWms() const;
 | 
						||
%Docstring
 | 
						||
A set of attributes that are not advertised in WMS requests with QGIS server.
 | 
						||
%End
 | 
						||
 | 
						||
    void setExcludeAttributesWms( const QSet<QString> &att );
 | 
						||
%Docstring
 | 
						||
A set of attributes that are not advertised in WMS requests with QGIS server.
 | 
						||
%End
 | 
						||
 | 
						||
    QSet<QString> excludeAttributesWfs() const;
 | 
						||
%Docstring
 | 
						||
A set of attributes that are not advertised in WFS requests with QGIS server.
 | 
						||
%End
 | 
						||
 | 
						||
    void setExcludeAttributesWfs( const QSet<QString> &att );
 | 
						||
%Docstring
 | 
						||
A set of attributes that are not advertised in WFS requests with QGIS server.
 | 
						||
%End
 | 
						||
 | 
						||
    virtual bool deleteAttribute( int attr );
 | 
						||
%Docstring
 | 
						||
Deletes an attribute field (but does not commit it).
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to deleteAttribute() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
%End
 | 
						||
 | 
						||
    bool deleteAttributes( const QList<int> &attrs );
 | 
						||
%Docstring
 | 
						||
Deletes a list of attribute fields (but does not commit it)
 | 
						||
 | 
						||
:param attrs: the indices of the attributes to delete
 | 
						||
 | 
						||
:return: ``True`` if at least one attribute has been deleted
 | 
						||
%End
 | 
						||
 | 
						||
    virtual bool addFeatures( QgsFeatureList &features, QgsFeatureSink::Flags flags = 0 ) ${SIP_FINAL};
 | 
						||
 | 
						||
 | 
						||
    bool deleteFeature( QgsFeatureId fid );
 | 
						||
%Docstring
 | 
						||
Deletes a feature from the layer (but does not commit it).
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to deleteFeature() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
%End
 | 
						||
 | 
						||
    bool deleteFeatures( const QgsFeatureIds &fids );
 | 
						||
%Docstring
 | 
						||
Deletes a set of features from the layer (but does not commit it)
 | 
						||
 | 
						||
:param fids: The feature ids to delete
 | 
						||
 | 
						||
:return: ``False`` if the layer is not in edit mode or does not support deleting
 | 
						||
         in case of an active transaction depends on the provider implementation
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Calls to deleteFeatures() are only valid for layers in which edits have been enabled
 | 
						||
   by a call to startEditing(). Changes made to features using this method are not committed
 | 
						||
   to the underlying data provider until a commitChanges() call is made. Any uncommitted
 | 
						||
   changes can be discarded by calling rollBack().
 | 
						||
%End
 | 
						||
 | 
						||
    bool commitChanges();
 | 
						||
%Docstring
 | 
						||
Attempts to commit to the underlying data provider any buffered changes made since the
 | 
						||
last to call to startEditing().
 | 
						||
 | 
						||
Returns the result of the attempt. If a commit fails (i.e. ``False`` is returned), the
 | 
						||
in-memory changes are left untouched and are not discarded. This allows editing to
 | 
						||
continue if the commit failed on e.g. a disallowed value in a Postgres
 | 
						||
database - the user can re-edit and try again.
 | 
						||
 | 
						||
The commits occur in distinct stages,
 | 
						||
(add attributes, add features, change attribute values, change
 | 
						||
geometries, delete features, delete attributes)
 | 
						||
so if a stage fails, it can be difficult to roll back cleanly.
 | 
						||
Therefore any error message returned by commitErrors() also includes which stage failed so
 | 
						||
that the user has some chance of repairing the damage cleanly.
 | 
						||
 | 
						||
.. seealso:: :py:func:`startEditing`
 | 
						||
 | 
						||
.. seealso:: :py:func:`commitErrors`
 | 
						||
 | 
						||
.. seealso:: :py:func:`rollBack`
 | 
						||
%End
 | 
						||
 | 
						||
    QStringList commitErrors() const;
 | 
						||
%Docstring
 | 
						||
Returns a list containing any error messages generated when attempting
 | 
						||
to commit changes to the layer.
 | 
						||
 | 
						||
.. seealso:: :py:func:`commitChanges`
 | 
						||
%End
 | 
						||
 | 
						||
    bool rollBack( bool deleteBuffer = true );
 | 
						||
%Docstring
 | 
						||
Stops a current editing operation and discards any uncommitted edits.
 | 
						||
 | 
						||
If ``deleteBuffer`` is ``True`` the editing buffer will be completely deleted (the default
 | 
						||
behavior).
 | 
						||
 | 
						||
.. seealso:: :py:func:`startEditing`
 | 
						||
 | 
						||
.. seealso:: :py:func:`commitChanges`
 | 
						||
%End
 | 
						||
 | 
						||
    QList<QgsRelation> referencingRelations( int idx ) const;
 | 
						||
%Docstring
 | 
						||
Returns the layer's relations, where the foreign key is on this layer.
 | 
						||
 | 
						||
:param idx: Only get relations, where idx forms part of the foreign key
 | 
						||
 | 
						||
:return: A list of relations
 | 
						||
%End
 | 
						||
 | 
						||
 | 
						||
 | 
						||
    QgsVectorLayerEditBuffer *editBuffer();
 | 
						||
%Docstring
 | 
						||
Buffer with uncommitted editing operations. Only valid after editing has been turned on.
 | 
						||
%End
 | 
						||
 | 
						||
 | 
						||
    void beginEditCommand( const QString &text );
 | 
						||
%Docstring
 | 
						||
Create edit command for undo/redo operations
 | 
						||
 | 
						||
:param text: text which is to be displayed in undo window
 | 
						||
%End
 | 
						||
 | 
						||
    void endEditCommand();
 | 
						||
%Docstring
 | 
						||
Finish edit command and add it to undo/redo stack
 | 
						||
%End
 | 
						||
 | 
						||
    void destroyEditCommand();
 | 
						||
%Docstring
 | 
						||
Destroy active command and reverts all changes in it
 | 
						||
%End
 | 
						||
 | 
						||
    enum VertexMarkerType
 | 
						||
    {
 | 
						||
      SemiTransparentCircle,
 | 
						||
      Cross,
 | 
						||
      NoMarker
 | 
						||
    };
 | 
						||
 | 
						||
 static void drawVertexMarker( double x, double y, QPainter &p, QgsVectorLayer::VertexMarkerType type, int vertexSize );
 | 
						||
%Docstring
 | 
						||
Draws a vertex symbol at (screen) coordinates x, y. (Useful to assist vertex editing.)
 | 
						||
 | 
						||
.. deprecated::
 | 
						||
   Use the equivalent QgsSymbolLayerUtils.drawVertexMarker function instead
 | 
						||
%End
 | 
						||
 | 
						||
    void updateFields();
 | 
						||
%Docstring
 | 
						||
Will regenerate the `fields` property of this layer by obtaining all fields
 | 
						||
from the dataProvider, joined fields and virtual fields. It will also
 | 
						||
take any changes made to default values into consideration.
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Unless the fields on the provider have directly been modified, there is
 | 
						||
   no reason to call this method.
 | 
						||
%End
 | 
						||
 | 
						||
    QVariant defaultValue( int index, const QgsFeature &feature = QgsFeature(),
 | 
						||
                           QgsExpressionContext *context = 0 ) const;
 | 
						||
%Docstring
 | 
						||
Returns the calculated default value for the specified field index. The default
 | 
						||
value may be taken from a client side default value expression (see setDefaultValueDefinition())
 | 
						||
or taken from the underlying data provider.
 | 
						||
 | 
						||
:param index: field index
 | 
						||
:param feature: optional feature to use for default value evaluation. If passed,
 | 
						||
                then properties from the feature (such as geometry) can be used when calculating
 | 
						||
                the default value.
 | 
						||
:param context: optional expression context to evaluate expressions again. If not
 | 
						||
                specified, a default context will be created
 | 
						||
 | 
						||
:return: calculated default value
 | 
						||
 | 
						||
.. seealso:: :py:func:`setDefaultValueDefinition`
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    void setDefaultValueDefinition( int index, const QgsDefaultValue &definition );
 | 
						||
%Docstring
 | 
						||
Sets the definition of the expression to use when calculating the default value for a field.
 | 
						||
 | 
						||
:param index: field index
 | 
						||
:param definition: default value definition to use and evaluate
 | 
						||
                   when calculating default values for field. Pass
 | 
						||
                   an empty expression to clear the default.
 | 
						||
 | 
						||
.. seealso:: :py:func:`defaultValue`
 | 
						||
 | 
						||
.. seealso:: :py:func:`defaultValueDefinition`
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    QgsDefaultValue defaultValueDefinition( int index ) const;
 | 
						||
%Docstring
 | 
						||
Returns the definition of the expression used when calculating the default value for a field.
 | 
						||
 | 
						||
:param index: field index
 | 
						||
 | 
						||
:return: definition of the default value with the expression evaluated
 | 
						||
         when calculating default values for field, or definition with an
 | 
						||
         empty string if no default is set
 | 
						||
 | 
						||
.. seealso:: :py:func:`defaultValue`
 | 
						||
 | 
						||
.. seealso:: :py:func:`setDefaultValueDefinition`
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    QgsFieldConstraints::Constraints fieldConstraints( int fieldIndex ) const;
 | 
						||
%Docstring
 | 
						||
Returns any constraints which are present for a specified
 | 
						||
field index. These constraints may be inherited from the layer's data provider
 | 
						||
or may be set manually on the vector layer from within QGIS.
 | 
						||
 | 
						||
.. seealso:: :py:func:`setFieldConstraint`
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    QMap< QgsFieldConstraints::Constraint, QgsFieldConstraints::ConstraintStrength> fieldConstraintsAndStrength( int fieldIndex ) const;
 | 
						||
%Docstring
 | 
						||
Returns a map of constraint with their strength for a specific field of the layer.
 | 
						||
 | 
						||
:param fieldIndex: field index
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    void setFieldConstraint( int index, QgsFieldConstraints::Constraint constraint, QgsFieldConstraints::ConstraintStrength strength = QgsFieldConstraints::ConstraintStrengthHard );
 | 
						||
%Docstring
 | 
						||
Sets a constraint for a specified field index. Any constraints inherited from the layer's
 | 
						||
data provider will be kept intact and cannot be modified. Ie, calling this method only allows for new
 | 
						||
constraints to be added on top of the existing provider constraints.
 | 
						||
 | 
						||
.. seealso:: :py:func:`fieldConstraints`
 | 
						||
 | 
						||
.. seealso:: :py:func:`removeFieldConstraint`
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    void removeFieldConstraint( int index, QgsFieldConstraints::Constraint constraint );
 | 
						||
%Docstring
 | 
						||
Removes a constraint for a specified field index. Any constraints inherited from the layer's
 | 
						||
data provider will be kept intact and cannot be removed.
 | 
						||
 | 
						||
.. seealso:: :py:func:`fieldConstraints`
 | 
						||
 | 
						||
.. seealso:: :py:func:`setFieldConstraint`
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    QString constraintExpression( int index ) const;
 | 
						||
%Docstring
 | 
						||
Returns the constraint expression for for a specified field index, if set.
 | 
						||
 | 
						||
.. seealso:: :py:func:`fieldConstraints`
 | 
						||
 | 
						||
.. seealso:: :py:func:`constraintDescription`
 | 
						||
 | 
						||
.. seealso:: :py:func:`setConstraintExpression`
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    QString constraintDescription( int index ) const;
 | 
						||
%Docstring
 | 
						||
Returns the descriptive name for the constraint expression for a specified field index.
 | 
						||
 | 
						||
.. seealso:: :py:func:`fieldConstraints`
 | 
						||
 | 
						||
.. seealso:: :py:func:`constraintExpression`
 | 
						||
 | 
						||
.. seealso:: :py:func:`setConstraintExpression`
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    void setConstraintExpression( int index, const QString &expression, const QString &description = QString() );
 | 
						||
%Docstring
 | 
						||
Sets the constraint expression for the specified field index. An optional descriptive name for the constraint
 | 
						||
can also be set. Setting an empty expression will clear any existing expression constraint.
 | 
						||
 | 
						||
.. seealso:: :py:func:`constraintExpression`
 | 
						||
 | 
						||
.. seealso:: :py:func:`constraintDescription`
 | 
						||
 | 
						||
.. seealso:: :py:func:`fieldConstraints`
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    void setEditorWidgetSetup( int index, const QgsEditorWidgetSetup &setup );
 | 
						||
%Docstring
 | 
						||
\copydoc editorWidgetSetup
 | 
						||
%End
 | 
						||
 | 
						||
    QgsEditorWidgetSetup editorWidgetSetup( int index ) const;
 | 
						||
%Docstring
 | 
						||
The editor widget setup defines which QgsFieldFormatter and editor widget will be used
 | 
						||
for the field at `index`.
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    virtual QSet<QVariant> uniqueValues( int fieldIndex, int limit = -1 ) const ${SIP_FINAL};
 | 
						||
 | 
						||
%Docstring
 | 
						||
Calculates a list of unique values contained within an attribute in the layer. Note that
 | 
						||
in some circumstances when unsaved changes are present for the layer then the returned list
 | 
						||
may contain outdated values (for instance when the attribute value in a saved feature has
 | 
						||
been changed inside the edit buffer then the previous saved value will be included in the
 | 
						||
returned list).
 | 
						||
 | 
						||
:param fieldIndex: column index for attribute
 | 
						||
:param limit: maximum number of values to return (or -1 if unlimited)
 | 
						||
 | 
						||
.. seealso:: :py:func:`minimumValue`
 | 
						||
 | 
						||
.. seealso:: :py:func:`maximumValue`
 | 
						||
%End
 | 
						||
 | 
						||
    QStringList uniqueStringsMatching( int index, const QString &substring, int limit = -1,
 | 
						||
                                       QgsFeedback *feedback = 0 ) const;
 | 
						||
%Docstring
 | 
						||
Returns unique string values of an attribute which contain a specified subset string. Subset
 | 
						||
matching is done in a case-insensitive manner. Note that
 | 
						||
in some circumstances when unsaved changes are present for the layer then the returned list
 | 
						||
may contain outdated values (for instance when the attribute value in a saved feature has
 | 
						||
been changed inside the edit buffer then the previous saved value will be included in the
 | 
						||
returned list).
 | 
						||
 | 
						||
:param index: column index for attribute
 | 
						||
:param substring: substring to match (case insensitive)
 | 
						||
:param limit: maxmum number of the values to return, or -1 to return all unique values
 | 
						||
:param feedback: optional feedback object for canceling request
 | 
						||
 | 
						||
:return: list of unique strings containing substring
 | 
						||
%End
 | 
						||
 | 
						||
    virtual QVariant minimumValue( int index ) const ${SIP_FINAL};
 | 
						||
 | 
						||
%Docstring
 | 
						||
Returns the minimum value for an attribute column or an invalid variant in case of error.
 | 
						||
Note that in some circumstances when unsaved changes are present for the layer then the
 | 
						||
returned value may be outdated (for instance when the attribute value in a saved feature has
 | 
						||
been changed inside the edit buffer then the previous saved value may be returned as the minimum).
 | 
						||
 | 
						||
.. seealso:: :py:func:`maximumValue`
 | 
						||
 | 
						||
.. seealso:: :py:func:`uniqueValues`
 | 
						||
%End
 | 
						||
 | 
						||
    virtual QVariant maximumValue( int index ) const ${SIP_FINAL};
 | 
						||
 | 
						||
%Docstring
 | 
						||
Returns the maximum value for an attribute column or an invalid variant in case of error.
 | 
						||
Note that in some circumstances when unsaved changes are present for the layer then the
 | 
						||
returned value may be outdated (for instance when the attribute value in a saved feature has
 | 
						||
been changed inside the edit buffer then the previous saved value may be returned as the maximum).
 | 
						||
 | 
						||
.. seealso:: :py:func:`minimumValue`
 | 
						||
 | 
						||
.. seealso:: :py:func:`uniqueValues`
 | 
						||
%End
 | 
						||
 | 
						||
    QVariant aggregate( QgsAggregateCalculator::Aggregate aggregate,
 | 
						||
                        const QString &fieldOrExpression,
 | 
						||
                        const QgsAggregateCalculator::AggregateParameters ¶meters = QgsAggregateCalculator::AggregateParameters(),
 | 
						||
                        QgsExpressionContext *context = 0,
 | 
						||
                        bool *ok = 0,
 | 
						||
                        QgsFeatureIds *fids = 0 ) const;
 | 
						||
%Docstring
 | 
						||
Calculates an aggregated value from the layer's features.
 | 
						||
Currently any filtering expression provided will override filters in the FeatureRequest.
 | 
						||
 | 
						||
:param aggregate: aggregate to calculate
 | 
						||
:param fieldOrExpression: source field or expression to use as basis for aggregated values.
 | 
						||
:param parameters: parameters controlling aggregate calculation
 | 
						||
:param context: expression context for expressions and filters
 | 
						||
:param ok: if specified, will be set to ``True`` if aggregate calculation was successful
 | 
						||
:param fids: list of fids to filter, otherwise will use all fids
 | 
						||
 | 
						||
:return: calculated aggregate value
 | 
						||
 | 
						||
.. versionadded:: 2.16
 | 
						||
%End
 | 
						||
 | 
						||
    void setFeatureBlendMode( QPainter::CompositionMode blendMode );
 | 
						||
%Docstring
 | 
						||
Sets the blending mode used for rendering each feature
 | 
						||
%End
 | 
						||
    QPainter::CompositionMode featureBlendMode() const;
 | 
						||
%Docstring
 | 
						||
Returns the current blending mode for features
 | 
						||
%End
 | 
						||
 | 
						||
    void setOpacity( double opacity );
 | 
						||
%Docstring
 | 
						||
Sets the ``opacity`` for the vector layer, where ``opacity`` is a value between 0 (totally transparent)
 | 
						||
and 1.0 (fully opaque).
 | 
						||
 | 
						||
.. seealso:: :py:func:`opacity`
 | 
						||
 | 
						||
.. seealso:: :py:func:`opacityChanged`
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    double opacity() const;
 | 
						||
%Docstring
 | 
						||
Returns the opacity for the vector layer, where opacity is a value between 0 (totally transparent)
 | 
						||
and 1.0 (fully opaque).
 | 
						||
 | 
						||
.. seealso:: :py:func:`setOpacity`
 | 
						||
 | 
						||
.. seealso:: :py:func:`opacityChanged`
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    virtual QString htmlMetadata() const ${SIP_FINAL};
 | 
						||
 | 
						||
 | 
						||
    void setSimplifyMethod( const QgsVectorSimplifyMethod &simplifyMethod );
 | 
						||
%Docstring
 | 
						||
Sets the simplification settings for fast rendering of features
 | 
						||
 | 
						||
.. versionadded:: 2.2
 | 
						||
%End
 | 
						||
 | 
						||
    const QgsVectorSimplifyMethod &simplifyMethod() const;
 | 
						||
%Docstring
 | 
						||
Returns the simplification settings for fast rendering of features
 | 
						||
 | 
						||
.. versionadded:: 2.2
 | 
						||
%End
 | 
						||
 | 
						||
    bool simplifyDrawingCanbeApplied( const QgsRenderContext &renderContext, QgsVectorSimplifyMethod::SimplifyHint simplifyHint ) const;
 | 
						||
%Docstring
 | 
						||
Returns whether the VectorLayer can apply the specified simplification hint
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   Do not use in 3rd party code - may be removed in future version!
 | 
						||
 | 
						||
.. versionadded:: 2.2
 | 
						||
%End
 | 
						||
 | 
						||
    QgsConditionalLayerStyles *conditionalStyles() const;
 | 
						||
%Docstring
 | 
						||
Returns the conditional styles that are set for this layer. Style information is
 | 
						||
used to render conditional formatting in the attribute table.
 | 
						||
 | 
						||
:return: Return a QgsConditionalLayerStyles object holding the conditional attribute
 | 
						||
         style information. Style information is generic and can be used for anything.
 | 
						||
 | 
						||
.. versionadded:: 2.12
 | 
						||
%End
 | 
						||
 | 
						||
    QgsAttributeTableConfig attributeTableConfig() const;
 | 
						||
%Docstring
 | 
						||
Returns the attribute table configuration object.
 | 
						||
This defines the appearance of the attribute table.
 | 
						||
%End
 | 
						||
 | 
						||
    void setAttributeTableConfig( const QgsAttributeTableConfig &attributeTableConfig );
 | 
						||
%Docstring
 | 
						||
Sets the attribute table configuration object.
 | 
						||
This defines the appearance of the attribute table.
 | 
						||
%End
 | 
						||
 | 
						||
    QString mapTipTemplate() const;
 | 
						||
%Docstring
 | 
						||
The mapTip is a pretty, html representation for feature information.
 | 
						||
 | 
						||
It may also contain embedded expressions.
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    void setMapTipTemplate( const QString &mapTipTemplate );
 | 
						||
%Docstring
 | 
						||
The mapTip is a pretty, html representation for feature information.
 | 
						||
 | 
						||
It may also contain embedded expressions.
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    virtual QgsExpressionContext createExpressionContext() const ${SIP_FINAL};
 | 
						||
 | 
						||
 | 
						||
    virtual QgsExpressionContextScope *createExpressionContextScope() const ${SIP_FINAL} /Factory/;
 | 
						||
 | 
						||
 | 
						||
    QgsEditFormConfig editFormConfig() const;
 | 
						||
%Docstring
 | 
						||
Returns the configuration of the form used to represent this vector layer.
 | 
						||
 | 
						||
:return: The configuration of this layers' form
 | 
						||
 | 
						||
.. versionadded:: 2.14
 | 
						||
%End
 | 
						||
 | 
						||
    void setEditFormConfig( const QgsEditFormConfig &editFormConfig );
 | 
						||
%Docstring
 | 
						||
Sets the ``editFormConfig`` (configuration) of the form used to represent this vector layer.
 | 
						||
 | 
						||
.. seealso:: :py:func:`editFormConfig`
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    void setReadExtentFromXml( bool readExtentFromXml );
 | 
						||
%Docstring
 | 
						||
Flag allowing to indicate if the extent has to be read from the XML
 | 
						||
document when data source has no metadata or if the data provider has
 | 
						||
to determine it.
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    bool readExtentFromXml() const;
 | 
						||
%Docstring
 | 
						||
Returns ``True`` if the extent is read from the XML document when data
 | 
						||
source has no metadata, ``False`` if it's the data provider which determines
 | 
						||
it.
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    bool isEditCommandActive() const;
 | 
						||
%Docstring
 | 
						||
Tests if an edit command is active
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    QgsGeometryOptions *geometryOptions() const;
 | 
						||
%Docstring
 | 
						||
Configuration and logic to apply automatically on any edit happening on this layer.
 | 
						||
 | 
						||
.. versionadded:: 3.4
 | 
						||
%End
 | 
						||
 | 
						||
 | 
						||
 | 
						||
    QgsStoredExpressionManager *storedExpressionManager();
 | 
						||
%Docstring
 | 
						||
Returns the manager of the stored expressions for this layer.
 | 
						||
 | 
						||
.. versionadded:: 3.10
 | 
						||
%End
 | 
						||
 | 
						||
  public slots:
 | 
						||
 | 
						||
    void select( QgsFeatureId featureId );
 | 
						||
%Docstring
 | 
						||
Selects feature by its ID
 | 
						||
 | 
						||
:param featureId: The id of the feature to select
 | 
						||
 | 
						||
.. seealso:: :py:func:`select`
 | 
						||
%End
 | 
						||
 | 
						||
    void select( const QgsFeatureIds &featureIds );
 | 
						||
%Docstring
 | 
						||
Selects features by their ID
 | 
						||
 | 
						||
:param featureIds: The ids of the features to select
 | 
						||
 | 
						||
.. seealso:: :py:func:`select`
 | 
						||
%End
 | 
						||
 | 
						||
    void deselect( QgsFeatureId featureId );
 | 
						||
%Docstring
 | 
						||
Deselects feature by its ID
 | 
						||
 | 
						||
:param featureId: The id of the feature to deselect
 | 
						||
 | 
						||
.. seealso:: :py:func:`deselect`
 | 
						||
%End
 | 
						||
 | 
						||
    void deselect( const QgsFeatureIds &featureIds );
 | 
						||
%Docstring
 | 
						||
Deselects features by their ID
 | 
						||
 | 
						||
:param featureIds: The ids of the features to deselect
 | 
						||
 | 
						||
.. seealso:: :py:func:`deselect`
 | 
						||
%End
 | 
						||
 | 
						||
    void removeSelection();
 | 
						||
%Docstring
 | 
						||
Clear selection
 | 
						||
 | 
						||
.. seealso:: :py:func:`selectByIds`
 | 
						||
 | 
						||
.. seealso:: :py:func:`reselect`
 | 
						||
%End
 | 
						||
 | 
						||
    void reselect();
 | 
						||
%Docstring
 | 
						||
Reselects the previous set of selected features. This is only applicable
 | 
						||
after a prior call to removeSelection().
 | 
						||
 | 
						||
Any other modifications to the selection following a call to removeSelection() clears
 | 
						||
memory of the previous selection and consequently calling reselect() has no impact.
 | 
						||
 | 
						||
.. seealso:: :py:func:`removeSelection`
 | 
						||
 | 
						||
.. versionadded:: 3.10
 | 
						||
%End
 | 
						||
 | 
						||
    virtual void updateExtents( bool force = false );
 | 
						||
%Docstring
 | 
						||
Update the extents for the layer. This is necessary if features are
 | 
						||
added/deleted or the layer has been subsetted.
 | 
						||
 | 
						||
:param force: ``True`` to update layer extent even if it's read from xml by default, ``False`` otherwise
 | 
						||
%End
 | 
						||
 | 
						||
    bool startEditing();
 | 
						||
%Docstring
 | 
						||
Makes the layer editable.
 | 
						||
 | 
						||
This starts an edit session on this layer. Changes made in this edit session will not
 | 
						||
be made persistent until commitChanges() is called, and can be reverted by calling
 | 
						||
rollBack().
 | 
						||
 | 
						||
:return: ``True`` if the layer was successfully made editable, or ``False`` if the operation
 | 
						||
         failed (e.g. due to an underlying read-only data source, or lack of edit support
 | 
						||
         by the backend data provider).
 | 
						||
 | 
						||
.. seealso:: :py:func:`commitChanges`
 | 
						||
 | 
						||
.. seealso:: :py:func:`rollBack`
 | 
						||
%End
 | 
						||
 | 
						||
    virtual void setTransformContext( const QgsCoordinateTransformContext &transformContext );
 | 
						||
%Docstring
 | 
						||
Sets the coordinate transform context to ``transformContext``
 | 
						||
 | 
						||
.. versionadded:: 3.8
 | 
						||
%End
 | 
						||
 | 
						||
    virtual SpatialIndexPresence hasSpatialIndex() const;
 | 
						||
 | 
						||
 | 
						||
    virtual bool accept( QgsStyleEntityVisitorInterface *visitor ) const;
 | 
						||
 | 
						||
 | 
						||
  signals:
 | 
						||
 | 
						||
    void selectionChanged( const QgsFeatureIds &selected, const QgsFeatureIds &deselected, bool clearAndSelect );
 | 
						||
%Docstring
 | 
						||
Emitted when selection was changed
 | 
						||
 | 
						||
:param selected: Newly selected feature ids
 | 
						||
:param deselected: Ids of all features which have previously been selected but are not any more
 | 
						||
:param clearAndSelect: In case this is set to ``True``, the old selection was dismissed and the new selection corresponds to selected
 | 
						||
%End
 | 
						||
 | 
						||
    void layerModified();
 | 
						||
%Docstring
 | 
						||
Emitted when modifications has been done on layer
 | 
						||
%End
 | 
						||
 | 
						||
    void allowCommitChanged();
 | 
						||
%Docstring
 | 
						||
Emitted whenever the allowCommitChanged() property of this layer changes.
 | 
						||
 | 
						||
.. versionadded:: 3.4
 | 
						||
%End
 | 
						||
 | 
						||
    void beforeModifiedCheck() const;
 | 
						||
%Docstring
 | 
						||
Emitted when the layer is checked for modifications. Use for last-minute additions.
 | 
						||
%End
 | 
						||
 | 
						||
    void beforeEditingStarted();
 | 
						||
%Docstring
 | 
						||
Emitted before editing on this layer is started.
 | 
						||
%End
 | 
						||
 | 
						||
    void editingStarted();
 | 
						||
%Docstring
 | 
						||
Emitted when editing on this layer has started.
 | 
						||
%End
 | 
						||
 | 
						||
    void editingStopped();
 | 
						||
%Docstring
 | 
						||
Emitted when edited changes have been successfully written to the data provider.
 | 
						||
%End
 | 
						||
 | 
						||
    void beforeCommitChanges();
 | 
						||
%Docstring
 | 
						||
Emitted before changes are committed to the data provider.
 | 
						||
%End
 | 
						||
 | 
						||
    void beforeRollBack();
 | 
						||
%Docstring
 | 
						||
Emitted before changes are rolled back.
 | 
						||
%End
 | 
						||
 | 
						||
    void afterRollBack();
 | 
						||
%Docstring
 | 
						||
Emitted after changes are rolled back.
 | 
						||
 | 
						||
.. versionadded:: 3.4
 | 
						||
%End
 | 
						||
 | 
						||
    void attributeAdded( int idx );
 | 
						||
%Docstring
 | 
						||
Will be emitted, when a new attribute has been added to this vector layer.
 | 
						||
Applies only to types QgsFields.OriginEdit, QgsFields.OriginProvider and QgsFields.OriginExpression
 | 
						||
 | 
						||
:param idx: The index of the new attribute
 | 
						||
 | 
						||
.. seealso:: :py:func:`updatedFields`
 | 
						||
%End
 | 
						||
 | 
						||
    void beforeAddingExpressionField( const QString &fieldName );
 | 
						||
%Docstring
 | 
						||
Will be emitted, when an expression field is going to be added to this vector layer.
 | 
						||
Applies only to types QgsFields.OriginExpression
 | 
						||
 | 
						||
:param fieldName: The name of the attribute to be added
 | 
						||
%End
 | 
						||
 | 
						||
    void attributeDeleted( int idx );
 | 
						||
%Docstring
 | 
						||
Will be emitted, when an attribute has been deleted from this vector layer.
 | 
						||
Applies only to types QgsFields.OriginEdit, QgsFields.OriginProvider and QgsFields.OriginExpression
 | 
						||
 | 
						||
:param idx: The index of the deleted attribute
 | 
						||
 | 
						||
.. seealso:: :py:func:`updatedFields`
 | 
						||
%End
 | 
						||
 | 
						||
    void beforeRemovingExpressionField( int idx );
 | 
						||
%Docstring
 | 
						||
Will be emitted, when an expression field is going to be deleted from this vector layer.
 | 
						||
Applies only to types QgsFields.OriginExpression
 | 
						||
 | 
						||
:param idx: The index of the attribute to be deleted
 | 
						||
%End
 | 
						||
 | 
						||
    void featureAdded( QgsFeatureId fid );
 | 
						||
%Docstring
 | 
						||
Emitted when a new feature has been added to the layer
 | 
						||
 | 
						||
:param fid: The id of the new feature
 | 
						||
%End
 | 
						||
 | 
						||
    void featureDeleted( QgsFeatureId fid );
 | 
						||
%Docstring
 | 
						||
Emitted when a feature has been deleted.
 | 
						||
 | 
						||
If you do expensive operations in a slot connected to this, you should prefer to use
 | 
						||
featuresDeleted( const :py:class:`QgsFeatureIds`& ).
 | 
						||
 | 
						||
:param fid: The id of the feature which has been deleted
 | 
						||
%End
 | 
						||
 | 
						||
    void featuresDeleted( const QgsFeatureIds &fids );
 | 
						||
%Docstring
 | 
						||
Emitted when features have been deleted.
 | 
						||
 | 
						||
If features are deleted within an edit command, this will only be emitted once at the end
 | 
						||
to allow connected slots to minimize the overhead.
 | 
						||
If features are deleted outside of an edit command, this signal will be emitted once per feature.
 | 
						||
 | 
						||
:param fids: The feature ids that have been deleted.
 | 
						||
%End
 | 
						||
 | 
						||
    void updatedFields();
 | 
						||
%Docstring
 | 
						||
Emitted whenever the fields available from this layer have been changed.
 | 
						||
This can be due to manually adding attributes or due to a join.
 | 
						||
%End
 | 
						||
 | 
						||
    void subsetStringChanged();
 | 
						||
%Docstring
 | 
						||
Emitted when the layer's subset string has changed.
 | 
						||
 | 
						||
.. versionadded:: 3.2
 | 
						||
%End
 | 
						||
 | 
						||
    void attributeValueChanged( QgsFeatureId fid, int idx, const QVariant &value );
 | 
						||
%Docstring
 | 
						||
Emitted whenever an attribute value change is done in the edit buffer.
 | 
						||
Note that at this point the attribute change is not yet saved to the provider.
 | 
						||
 | 
						||
:param fid: The id of the changed feature
 | 
						||
:param idx: The attribute index of the changed attribute
 | 
						||
:param value: The new value of the attribute
 | 
						||
%End
 | 
						||
 | 
						||
    void geometryChanged( QgsFeatureId fid, const QgsGeometry &geometry );
 | 
						||
%Docstring
 | 
						||
Emitted whenever a geometry change is done in the edit buffer.
 | 
						||
Note that at this point the geometry change is not yet saved to the provider.
 | 
						||
 | 
						||
:param fid: The id of the changed feature
 | 
						||
:param geometry: The new geometry
 | 
						||
%End
 | 
						||
 | 
						||
    void committedAttributesDeleted( const QString &layerId, const QgsAttributeList &deletedAttributes );
 | 
						||
%Docstring
 | 
						||
Emitted when attributes are deleted from the provider
 | 
						||
%End
 | 
						||
    void committedAttributesAdded( const QString &layerId, const QList<QgsField> &addedAttributes );
 | 
						||
%Docstring
 | 
						||
Emitted when attributes are added to the provider
 | 
						||
%End
 | 
						||
    void committedFeaturesAdded( const QString &layerId, const QgsFeatureList &addedFeatures );
 | 
						||
%Docstring
 | 
						||
Emitted when features are added to the provider
 | 
						||
%End
 | 
						||
    void committedFeaturesRemoved( const QString &layerId, const QgsFeatureIds &deletedFeatureIds );
 | 
						||
%Docstring
 | 
						||
Emitted when features are deleted from the provider
 | 
						||
%End
 | 
						||
    void committedAttributeValuesChanges( const QString &layerId, const QgsChangedAttributesMap &changedAttributesValues );
 | 
						||
%Docstring
 | 
						||
Emitted when attribute value changes are saved to the provider
 | 
						||
%End
 | 
						||
    void committedGeometriesChanges( const QString &layerId, const QgsGeometryMap &changedGeometries );
 | 
						||
%Docstring
 | 
						||
Emitted when geometry changes are saved to the provider
 | 
						||
%End
 | 
						||
 | 
						||
    void labelingFontNotFound( QgsVectorLayer *layer, const QString &fontfamily );
 | 
						||
%Docstring
 | 
						||
Emitted when the font family defined for labeling layer is not found on system
 | 
						||
%End
 | 
						||
 | 
						||
    void featureBlendModeChanged( QPainter::CompositionMode blendMode );
 | 
						||
%Docstring
 | 
						||
Signal emitted when setFeatureBlendMode() is called
 | 
						||
%End
 | 
						||
 | 
						||
    void opacityChanged( double opacity );
 | 
						||
%Docstring
 | 
						||
Emitted when the layer's opacity is changed, where ``opacity`` is a value between 0 (transparent)
 | 
						||
and 1 (opaque).
 | 
						||
 | 
						||
.. seealso:: :py:func:`setOpacity`
 | 
						||
 | 
						||
.. seealso:: :py:func:`opacity`
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    void editCommandStarted( const QString &text );
 | 
						||
%Docstring
 | 
						||
Signal emitted when a new edit command has been started
 | 
						||
 | 
						||
:param text: Description for this edit command
 | 
						||
%End
 | 
						||
 | 
						||
    void editCommandEnded();
 | 
						||
%Docstring
 | 
						||
Signal emitted, when an edit command successfully ended
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   This does not mean it is also committed, only that it is written
 | 
						||
   to the edit buffer. See beforeCommitChanges()
 | 
						||
%End
 | 
						||
 | 
						||
    void editCommandDestroyed();
 | 
						||
%Docstring
 | 
						||
Signal emitted, when an edit command is destroyed
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
   This is not a rollback, it is only related to the current edit command.
 | 
						||
   See beforeRollBack()
 | 
						||
%End
 | 
						||
 | 
						||
    void readCustomSymbology( const QDomElement &element, QString &errorMessage );
 | 
						||
%Docstring
 | 
						||
Signal emitted whenever the symbology (QML-file) for this layer is being read.
 | 
						||
If there is custom style information saved in the file, you can connect to this signal
 | 
						||
and update the layer style accordingly.
 | 
						||
 | 
						||
:param element: The XML layer style element.
 | 
						||
 | 
						||
:param errorMessage: Write error messages into this string.
 | 
						||
%End
 | 
						||
 | 
						||
    void writeCustomSymbology( QDomElement &element, QDomDocument &doc, QString &errorMessage ) const;
 | 
						||
%Docstring
 | 
						||
Signal emitted whenever the symbology (QML-file) for this layer is being written.
 | 
						||
If there is custom style information you want to save to the file, you can connect
 | 
						||
to this signal and update the element accordingly.
 | 
						||
 | 
						||
:param element: The XML element where you can add additional style information to.
 | 
						||
:param doc: The XML document that you can use to create new XML nodes.
 | 
						||
:param errorMessage: Write error messages into this string.
 | 
						||
%End
 | 
						||
 | 
						||
    void mapTipTemplateChanged();
 | 
						||
%Docstring
 | 
						||
Emitted when the map tip changes
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    void displayExpressionChanged();
 | 
						||
%Docstring
 | 
						||
Emitted when the display expression changes
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    void raiseError( const QString &msg );
 | 
						||
%Docstring
 | 
						||
Signals an error related to this vector layer.
 | 
						||
%End
 | 
						||
 | 
						||
    void editFormConfigChanged();
 | 
						||
%Docstring
 | 
						||
Will be emitted whenever the edit form configuration of this layer changes.
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    void readOnlyChanged();
 | 
						||
%Docstring
 | 
						||
Emitted when the read only state of this layer is changed.
 | 
						||
Only applies to manually set readonly state, not to the edit mode.
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
    void symbolFeatureCountMapChanged();
 | 
						||
%Docstring
 | 
						||
Emitted when the feature count for symbols on this layer has been recalculated.
 | 
						||
 | 
						||
.. versionadded:: 3.0
 | 
						||
%End
 | 
						||
 | 
						||
  protected:
 | 
						||
    virtual void setExtent( const QgsRectangle &rect ) ${SIP_FINAL};
 | 
						||
 | 
						||
%Docstring
 | 
						||
Sets the extent
 | 
						||
%End
 | 
						||
 | 
						||
  private:
 | 
						||
    QgsVectorLayer( const QgsVectorLayer &rhs );
 | 
						||
};
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
/************************************************************************
 | 
						||
 * This file has been generated automatically from                      *
 | 
						||
 *                                                                      *
 | 
						||
 * src/core/qgsvectorlayer.h                                            *
 | 
						||
 *                                                                      *
 | 
						||
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | 
						||
 ************************************************************************/
 |