18896 Commits

Author SHA1 Message Date
Mathieu Pellerin
14136a15cb
[ui] Insure color/value changes in the colormap tree are reflected in the color ramp button of the color ramp shader widget (#40671) 2020-12-28 20:01:48 +07:00
Nyall Dawson
d2fb33e0b7 Add API to allow extra feature renderers to be created for a vector
layer, so that these renderers are always drawn either above or
below the normal layer renderer

This allows programatic creation of extra styling for a vector layer,
e.g. to overlay custom markers or outlines on features (such as
highlighting "good" or "bad" features), without messing with
any user-created symbology for the layer.
2020-12-28 04:21:04 +10:00
Nyall Dawson
39560eaab2 Add interface class for objects which can generate a feature renderer for vector layers 2020-12-28 04:21:04 +10:00
Matthias Kuhn
171911a669
Merge pull request #40755 from m-kuhn/non_virtual_qgsproperty
QgsProperty is not virtual
2020-12-27 08:39:56 +01:00
Nyall Dawson
16f9083562 Spelling 2020-12-26 09:51:34 +10:00
Nyall Dawson
e32c5cdd1a Add source widget for XYZ layers, allowing users to change properties
like the min/max zoom levels and authentication settings for any
XYZ layer in a project on a layer-by-layer basis
2020-12-26 09:51:34 +10:00
Nyall Dawson
d5c3b4b8a5 Add API to allow creation of widgets for customising a layer's source
This adds api in the provider gui to allow a provider to create a custom
widget which exposes options to customise and change the layer's source.

E.g. a file based layer provider could expose a widget for selecting
a new file path, and an online one could expose widgets for changing
the host, authentication, etc.
2020-12-26 09:51:34 +10:00
Matthias Kuhn
d33cb6dc4f QgsProperty is not virtual 2020-12-25 08:41:33 +01:00
Matthias Kuhn
af709503d5 Cache svg paths
Rebuilding them for each access from the settings is costly
2020-12-24 10:13:12 +07:00
Matthias Kuhn
73e385fd31 Improve docstring 2020-12-23 18:10:00 +01:00
Alessandro Pasotti
e520af3c01
Merge pull request #40726 from elpaso/connections-api-results-iterator
Connections API: execSql iterator
2020-12-23 13:18:44 +01:00
Nyall Dawson
890491976c Replace ArcGIS REST data source manager list with a view based on the browser model
This has MANY benefits:
- Shows the merged feature service/map service view we use in browser
- Avoids the HUGE main thread ui hang when connecting to servers with
many layers (could be 20 mins+ for some services)
- Avoids bombing out and showing incomplete lists when a server reports
an error when connecting to any of the services it advertises (happens
often)
2020-12-23 16:10:05 +10:00
Loïc Bartoletti
817744928c
Fix circle by three tangents parrallel when two are parallels (#40702)
* add new method to solve QgsCircle::from3tangents where 2 tangents are parallels
2020-12-23 09:00:15 +10:00
Matthias Kuhn
b4f14d5df5 Fix docstring 2020-12-23 05:40:35 +10:00
Alessandro Pasotti
d5b65902c5 hasNextRow 2020-12-22 19:32:33 +01:00
Matthias Kuhn
6ddb13ac35 Get access to project from map layer 2020-12-22 17:00:26 +01:00
Alessandro Pasotti
0978ff22f9 Connections API: execSql iterator 2020-12-22 16:53:42 +01:00
Alex
b686336513
[bugfix] PTP check for output folder. (#40488)
Fixes #40486
2020-12-22 13:47:03 +10:00
Juergen E. Fischer
b28d820b0c fix typos 2020-12-22 00:03:34 +01:00
Nyall Dawson
da59316fb5 Use /TransferBack/ instead of /Factory/ in layout registry factory methods
For same reason as we do in Processing registry:

(from the comments included in this commit)
"
While it seems like /Factory/ would be the correct annotations here, that's not
the case.
As per Phil Thomson's advice on https://www.riverbankcomputing.com/pipermail/pyqt/2017-July/039450.html:

"
/Factory/ is used when the instance returned is guaranteed to be new to Python.
In this case it isn't because it has already been seen when being returned by QgsProcessingAlgorithm::createInstance()
(However for a different sub-class implemented in C++ then it would be the first time it was seen
by Python so the /Factory/ on create() would be correct.)

You might try using /TransferBack/ on create() instead - that might be the best compromise.
"
2020-12-22 06:27:17 +10:00
Ivan Ivanov
a05971d5d3 Added bool supportsEditing property to QgsVectorLayer 2020-12-22 06:26:43 +10:00
Nyall Dawson
7380f8d841 Spelling 2020-12-22 04:01:32 +10:00
Nyall Dawson
d8784602f5 Add method to retrieve filtered group content 2020-12-22 04:01:32 +10:00
Nyall Dawson
8b313f8443 Method to retrieve all group content 2020-12-22 04:01:32 +10:00
Nyall Dawson
23b1533d58 Add api to retrieve user groups 2020-12-22 04:01:32 +10:00
Nyall Dawson
d6fa53310b Start on QgsArcGisPortalUtils 2020-12-22 04:01:32 +10:00
Alessandro Pasotti
5a2cfe563c
Merge pull request #40663 from elpaso/connections-api-executeSql-with-column-names
Connections API: execSql, return rows and column names
2020-12-21 13:39:45 +01:00
Alessandro Pasotti
3a2b8f889a Optimize column information 2020-12-21 11:36:47 +01:00
Alessandro Pasotti
a277cc6332 QgsAbstractDatabaseProviderConnection::QueryResult proper encapsulation
and rename to execSql
2020-12-21 10:43:51 +01:00
Juergen E. Fischer
7719668453 fix build (take II; followup 1c9d89a7c3d) 2020-12-19 22:57:54 +01:00
Matthias Kuhn
677ccf5aba
Merge pull request #40567 from maximlt/patch-2
Adapt import hook to allow importing py
2020-12-19 07:44:16 +01:00
Nyall Dawson
2ec448053f Add option to render color ramp legend items as horizontal bars 2020-12-19 05:28:20 +10:00
Nyall Dawson
eaea2aaf10 Allow users to set text format for ramp legend labels 2020-12-19 05:28:20 +10:00
Alessandro Pasotti
84131e0cfc Connections API: executeSqlWithNames, return column names
This is mainly useful for Python, this way we can probably
avoid calling fields() and all related cost when all we need
is colum names for display.

I'm not very happy with the method name and I would probably just
drop the old signature for executeSql and replace it with the new
one, unfortunately is public API.

But if everybody is happy we could consider an API break.
2020-12-18 18:15:27 +01:00
Nyall Dawson
13e4969817 Try to fix doc test 2020-12-18 18:14:49 +10:00
Nyall Dawson
99208ab45b Split query related functions out into a separate file 2020-12-18 18:14:49 +10:00
Nyall Dawson
8d45910535 Move QgsArcGisRestUtils to core, cleanup API, add docs and selectively
expose to Python
2020-12-18 18:14:49 +10:00
Nyall Dawson
2f2e410d0d Minor doc correction, tweak equality operator to consider original units 2020-12-18 18:14:29 +10:00
Samweli
6ae1bf22c6 Add API to set/retrieve original units in QgsInterval 2020-12-18 18:14:29 +10:00
Nyall Dawson
24549f05fd Allow customisation of color ramp legend items in a print layout legend 2020-12-18 12:03:26 +10:00
Nyall Dawson
8eb9448746 Prefix/suffix support, ensure correct size determination of legend text 2020-12-18 12:03:26 +10:00
Nyall Dawson
787f62fee2 Add a widget for customizing color ramp legend settings 2020-12-18 12:03:26 +10:00
Nyall Dawson
a0accab0c2 Add QgsColorRampLegendNodeSettings to QgsSingleBandGrayRenderer 2020-12-18 12:03:26 +10:00
Nyall Dawson
f96ba98bb8 Use QgsColorRampLegendNodeSettings to control settings for QgsColorRampLegendNode items 2020-12-18 12:03:26 +10:00
Nyall Dawson
45d2edda16 QgsColorRampShader can have color ramp legend node settings 2020-12-18 12:03:26 +10:00
Nyall Dawson
e48286c0d4 Pass QgsReadWriteContext onto QgsColorRampShader read/writeXml methods 2020-12-18 12:03:26 +10:00
Nyall Dawson
3fec67ac2c Add QgsColorRampLegendNodeSettings class 2020-12-18 12:03:26 +10:00
Nyall Dawson
60aea700d1 Forward declare more classes 2020-12-18 12:03:26 +10:00
Nyall Dawson
1be1229663 Forward declare 2020-12-18 12:03:26 +10:00
Matthias Kuhn
c56d2d8d88
Merge pull request #40628 from m-kuhn/timeout_disable
Allow disabling QgsNetworkAccessManager timeout functionality
2020-12-17 08:58:04 +01:00