Since the majority of users of this class will be exporting
an existing map layer to a data provider, the QgsVectorLayerImport
name is misleading and suggests that this class is designed
just to bring layers "into" QGIS.
Explicitly naming the class "Exporter" should help API users
discover this class.
Also cleanup API and improve docs
Make maps invalidate cache whenever layer order changes. Cache mode
is now identical to Render mode, so all mode switching has been
removed from composer maps. This should greatly simplify the learning
curve and usability of composer maps.
No longer required - the Cache mode is now performant enough
that we don't have to rely on the old rectangle preview
when desiring responsive composers
This implements an improved version of vector.createVectorWriter
in QgsProcessingUtils. The improved version relies on the
core class QgsVectorLayerImport to create empty layers,
which:
- reduces duplicate code and reuses the mature QgsVectorLayerImport
routines
- avoids manual conversion of field types to destination provider
field types
- potentially allows any writable provider to be used as a feature
sink for algorithms (e.g. output direct to MSSQL/Oracle/db2). This
should work now - it just needs exposing via UI.
- provider() was renamed to createProvider()
- selectWidget() was renamed to createSelectionWidget()
- providerLibrary() was renamed to createProviderLibrary()
of new memory layers from QgsFields/QgsCoordinateReferenceSystem/etc
Since memory provider cannot use QgsVectorLayerImport we need
another centeralized function for creating new memory layers
without the need to manually create the uri string.
Adds a new abstract base class QgsMetadataValidator for validating
metadata against standard schemas.
Initially only QgsNativeMetadataValidator for validating against
the native QGIS metadata schema is implemented.
In future this could be extended with Dublin Core, ISO 19115
validators, etc...
QgsLayerMetadata handles storage and management of the metadata
for a QgsMapLayer. This class is an internal QGIS format with a common
metadata structure, which allows for code to access the metadata properties for
layers in a uniform way.
The metadata store is designed to be compatible with the Dublin Core metadata
specifications, and will be expanded to allow compatibility with ISO specifications
in future releases. However, the QGIS internal schema does not represent a superset
of all existing metadata schemas and accordingly conversion from specific
metadata formats to QgsLayerMetadata may result in a loss of information.
This class is designed to follow the specifications detailed in
the schema definition available at resources/qgis-resource-metadata.xsd
within the QGIS source code.
This removes the handleRequest method that returns the
headers and body as byte array.
This superceeded by the implementation that takes a
request and response instances.
This part adds the headers as an optional argument
to the request and start using the handleRequest(request, response)
call in the python tests.
Some additional tests are also added.
A simple feature sink which proxies feature addition on to another feature sink.
This class is designed to allow factory methods which always return new QgsFeatureSink
objects. Since it is not always possible to create an entirely new QgsFeatureSink
(e.g. if the feature sink is a layer or a layer's data provider), a new
QgsProxyFeatureSink can instead be returned which forwards features on to
the destination sink. The proxy sink can be safely deleted without affecting
the destination sink.