54 Commits

Author SHA1 Message Date
Nyall Dawson
5d703a4afc Add raw QgsProviderMetadata/QgsProviderRegistry API to save
QGIS layer metadata to a URI for the provider
2021-05-03 06:33:39 +10:00
NEDJIMAbelgacem
f9b71846c9 address reviews 2021-04-08 14:26:31 -07:00
NEDJIMAbelgacem
ede1c6394e UI initial implementation for remote ept files 2021-04-08 14:26:31 -07:00
Denis Rouzaud
ba8a445850 run sipify 2021-03-22 21:13:52 +01:00
Nyall Dawson
fd1c9f3ad1 Since 2021-03-10 13:00:20 +10:00
Nyall Dawson
def799810d Spelling, sip 2021-03-10 11:11:46 +10:00
Alessandro Pasotti
0908a0990e Add missing sip factory 2021-03-05 04:28:12 +10:00
Nyall Dawson
50b9beaad6 [sipify] Catch more class references and insert :py:class: annotations 2021-01-31 05:41:22 +10:00
Nyall Dawson
51762dd0ef Add API to QgsProviderMetadata to determine valid layer types
which the provider can use to open a specified URI
2020-11-07 03:22:22 +10:00
Nyall Dawson
8254b7dd1f Add capabilities flags for QgsProviderMetadata
So that callers can determine which functionality in the metadata
is implemented for a particular object
2020-11-07 03:22:22 +10:00
Nyall Dawson
787230e460 Spelling 2020-11-05 20:16:48 +10:00
Nyall Dawson
04dc5f5e56 Add API for providers to test whether a particular URI should be
blocklisted and hidden from the QGIS interface, e.g. it is an internal
detail only (or sidecar file) and shouldn't be shown in things like the
browser panel

And adds blocklists for .aux.xml, .shp.xml and .tif.xml files for
the ogr/gdal providers
2020-11-05 20:16:48 +10:00
Nyall Dawson
7717a20af7 Mark some QgsProviderMetadata methods as const 2020-11-05 20:16:48 +10:00
Nyall Dawson
0ebe788877 Add API for providers to indicate their priority in opening a specified
URI

And add new method to QgsProviderRegistry to select the preferred
provider for opening a URI based on this
2020-11-04 18:49:11 +10:00
Nyall Dawson
4aa1c2f299 Add python repr for QgsProviderMetadata 2020-11-04 18:49:11 +10:00
Nyall Dawson
4e1df35d0f Forward declare 2020-11-04 18:49:11 +10:00
Nyall Dawson
f7b0a2d090 Add Point Clouds to QgsProviderMetadata::FilterType 2020-11-04 18:49:11 +10:00
Matthias Kuhn
6ec342b4c0 Fix dox 2020-10-22 21:09:49 +02:00
Nyall Dawson
746ee315bd Fix boolean literal presentation in dox/PyQGIS docs 2020-10-16 16:03:26 +10:00
Martin Dobias
7cbf80ff5c
Merge pull request #38309 from vcloarec/TINMeshCreaton
TIN Mesh creation
2020-09-11 13:41:19 +02:00
vcloarec
abd5fad9dd add more feedback cancellation and fix doc 2020-09-10 14:03:11 -04:00
vcloarec
d2f4c40f8a TIN Mesh creation 2020-09-10 14:03:11 -04:00
rldhont
45e9ecb1c2 Trust layer metadata propagation
The trust flag at the projetc level is only used to read vector layer extent from xml, not from provider.

This flag was not available at the vector layer and data provider level.

We propose a new QgsMapLayer reading flag to propagate the trust layer metadata prohect's read flag an d a new provider options to trust datasource config.
Trusting the datasource config means that the provider can use estimated metadata, the primary key is unique and the detectable geometry type and srid are the same as the requested.
2020-09-09 09:35:32 +02:00
Vincent Cloarec
6be16a5bfe
Memory dataset group and possibility to persist it (#37389)
[FEATURE] Introduces memory dataset groups for mesh layer. These dataset groups are temporary and are not kept when the project is closed.

Memory dataset groups can be created from the mesh calculator with a new option.

Allows the possibility to remove or save these memory dataset groups to a file with specified driver.
2020-07-01 10:18:27 +02:00
Nyall Dawson
81a9db9f57 [sipify] Fix creation of cross references 2020-06-15 13:43:58 +10:00
Nyall Dawson
ae42850d08 Sipify 2020-06-11 13:29:59 +10:00
Nyall Dawson
c795ddb1e9 Updates 2020-06-11 13:29:59 +10:00
Samweli
0cbb4dbb5b add setting of bool params in provider metadata 2020-04-29 14:05:08 +02:00
Nyall Dawson
2217378733 Add signals to QgsProviderMetadata for connection created, changed and deleted 2020-03-09 21:04:51 +10:00
Peter Petrik
0675c0b697
[FEATURE] Mesh 1D Renderer (#34848)
* MDAL 0.5.90 : support for custom Logger and 1D meshes
* [FEATURE] [MESH] Support rendering of 1D meshes, see https://github.com/qgis/QGIS-Enhancement-Proposals/issues/164

1D mesh consist of edges (edge is straight line segment with 2 vertices) and the data that is defined on either
vertices or edges. Such data can be loaded by MDAL and rendered as mesh layer in QGIS.
2020-03-09 05:59:51 +01:00
Nyall Dawson
99991c3029 Handle more uri components in encode/decodeUri for AFS provider 2020-02-22 06:47:45 +10:00
Sandro Mani
20ea2ae4ae Add QgsProviderMetadata::encodeUri 2020-01-22 13:16:20 +01:00
Peter Petrik
b93dfdd0b3
[feature] Support datasets with data defined on faces in mesh calculator (#33248)
* [feature] support datasets with data defined on faces in mesh calculator, fix #30219, fix #30170

added "driver" and "group name" to the calculator interface.
MDAL now supports 3 drivers for storing results, so user must be able to choose appropriate driver and dataset group name (some drivers store multiple groups to 1 file)
2019-12-06 18:27:28 +01:00
Denis Rouzaud
758d7cff4a run sipify to update deprecation annotations 2019-10-15 13:17:38 +02:00
Alessandro Pasotti
a092a82b52 New ctors for connections interface
Tries to make it clearer what are the use cases for the two
constructors (name and uri).
2019-08-21 15:45:21 +02:00
Alessandro Pasotti
a3c4eb9947
Providers connections interface API
This is the implementation of the new DB connections API (grant proposal 2019).
Summary

The new API makes it available to QGIS core a new interface for provider connections and will allow to:

    replace the provider specific QgsSettings management in QGIS4 (save/load connections from the settings) NOT IN SCOPE FOR NOW.
    provide a unified API for common operations on DB connections:
        executeSql and get the results
        list tables names and properties and schemas
        create a new vector table (no rasters for now)
        create/rename/drop schemas and tables
        vacuum
       ....
2019-08-16 20:44:05 +02:00
Martin Dobias
d155b1c877 Further updates from review 2019-06-25 15:38:07 +02:00
Martin Dobias
aead182b21 Change FilterType to enum class + rename values to FilterXXX 2019-06-25 14:53:56 +02:00
Martin Dobias
5f0558915f Pass uri in createProvider() as a reference, not a pointer 2019-06-23 20:36:01 +02:00
Martin Dobias
ab261b675e Doxy fix + remove extra QgsProviderMetadata constructor 2019-06-20 14:50:30 +02:00
Martin Dobias
7659dd8b8b Misc fixes for provider registry/metadata deprecated functions 2019-06-20 12:32:44 +02:00
Martin Dobias
a6b837b745 code layout fixes 2019-06-20 00:09:20 +02:00
Martin Dobias
f6049e01d0 Misc fixes to get the branch compiling & running with Python
- grass data item provider fixes
- removed QgsProviderMetadata constructor (with std::function / PyObject) due to sip errors (api break)
- reverted DataCapability move to Qgis - back to QgsDataProvider (avoiding api breaks)
- WidgetMode enum documentation
- sipify monkey patching fix
- renamed WidgetMode's "None" to "Normal" value - in python None has special meaning (api break)
2019-06-19 23:02:11 +02:00
Peter Petrik
62d615c2cd [QEP 149] Introduce static data providers [API BREAK]
- adds QgsProviderGuiRegistry and QgsProviderGuiMetadata
- adds QgsProjectStorageGuiRegistry
- requires providerMetadataFactory for dynamic data providers
- requires providerMetadataGuiFactory for dynamic data providers (GUI only)
- removes QgsProviderRegistry::WidgetMode
2019-06-18 15:15:36 +02:00
Alessandro Pasotti
a8ce494529 NULL -> nullptr in sip code 2018-06-04 18:20:48 +02:00
Alessandro Pasotti
6ece1aa543 registerProvider now returns a bool 2018-06-04 14:26:22 +02:00
Alessandro Pasotti
0430a8d59c Better comment to explain why the ref needs to be incremented 2018-06-04 11:51:11 +02:00
Alessandro Pasotti
3aa630ca25 Added QgsDataProvider::ProviderOptions to the bindings 2018-06-01 14:18:44 +02:00
Alessandro Pasotti
2f41d32e98 Added test to cmake 2018-06-01 10:55:17 +02:00
Alessandro Pasotti
6f3be9fa3d SIP updates 2018-06-01 10:55:17 +02:00