24 Commits

Author SHA1 Message Date
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
7659dd8b8b Misc fixes for provider registry/metadata deprecated functions 2019-06-20 12:32:44 +02:00
Martin Dobias
6918bac9df Revert API break and move WidgetMode back to QgsProviderRegistry 2019-06-20 10:49:36 +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
Nyall Dawson
107b48a430 Add NULLPTR macro for use in doxygen comments
For the c++ api dox this expands to "\c nullptr" (the
\c directive indicates a code literal value), and for sipify/Python
it expands to ``None`` (`` is sphinx annotation for literal values)

Makes for nicer dox for both c++ and Python!
2019-02-27 09:41:11 +10:00
Nyall Dawson
a7ca08784c Nullptr consistency in dox 2019-02-27 09:41:11 +10:00
Nyall Dawson
b6d66becab Sipify 2019-02-27 09:41:11 +10:00
Peter Petrik
e4d490531c add support for browser dialog for mesh layer extensions too 2018-12-17 12:01:17 +01:00
Peter Petrik
64b81bd976 use file filters from MDAL 2018-12-17 12:01:17 +01:00
Nyall Dawson
4b32e7cc78 [afs] Implemented decodeUri for AFS provider
Allows retrieval of the web URL for an AFS layer
2018-11-07 15:30:17 +10:00
nirvn
f4a0e743fa Implement a QgsProviderRegistry decodeUri function + test 2018-08-16 16:46:01 +07:00
Alessandro Pasotti
6ece1aa543 registerProvider now returns a bool 2018-06-04 14:26:22 +02:00
Alessandro Pasotti
3aa630ca25 Added QgsDataProvider::ProviderOptions to the bindings 2018-06-01 14:18:44 +02:00
Alessandro Pasotti
6f3be9fa3d SIP updates 2018-06-01 10:55:17 +02:00
Alessandro Pasotti
9d66eb8db4 API to register new vector data providers 2018-06-01 10:53:46 +02:00
Nyall Dawson
9f650fead9 Fix incorrect param docstring when doxygen \param has extra
trailing spaces or uses tabs
2018-05-27 18:54:09 +10:00
Nyall Dawson
4b1b752633 Fix bad regex 2018-05-27 18:54:09 +10:00
Nyall Dawson
c864d22d1f Add "get ..." to doxygen compliance blacklist
Should be "gets ..." for consistent tense, or better yet
"returns ..." for consistency.
2018-05-27 14:05:06 +10:00
Nyall Dawson
1c615c15cc More documentation compliance
Use Qt style "returns .." tense instead of "return ..", and lock
this in with a documentation compliance unit test
2018-05-25 15:09:00 +10:00
Nyall Dawson
b813a6715e Fix API breaks 2018-05-25 11:40:57 +10:00
Nyall Dawson
44630b47ed Add QgsDataProvider::ProviderOptions struct to constructors
for data providers

Allows a way to pass generic settings to providers, e.g.
passing a datum transform context for use in provider's
constructors.
2018-05-25 11:40:57 +10:00
Denis Rouzaud
7df2593caf move auto generated sip file in dedicated folder 2018-05-14 10:23:37 -04:00