Fixes#15373 - refine current rule not working when symbol widgets
are not used in the style dock
This fixes a behavioural difference when new panels are opened
in a QgsPanelWidget when in docked/undocked mode. When in
docked mode, the newly opened panel will emit panelAccepted
when it is accepted. But for undocked mode, the parent
panel was emitting the panelAccepted signal and so the
connection to update the renderer was never
triggered. Now both docked/undocked panels will always
emit panelAccepted ONLY from the newly opened panel itself.
This also fixes memory leaks as the clean up code was never
run in undocked mode.
I've updated the docs to clarify this behaviour.
instead of individually setting map canvas, expression context, etc
Will make it more easy in future to add additional parameters
to the widget context
Groups nearby points into a single rendered marker symbol.
QgsPointDisplacementRenderer has been split into a new
pure virtual QgsPointDistanceRenderer base class which handles the
detection of clusters and grouping of points. The new cluster
renderer reuses this base class to avoid code duplication.
Additionally, some improvements have been made to the
displacement renderer, specifically:
- points are now assigned to the group which is "nearest" them,
rather then just assigning them first group within the search
distance. In some cases this was assigning features to a more
distant cluster, resulting in less predictable cluster patterns
- individual points are now correctly shown in their own
selection state
Lots of code cleanup + documentation too.
Sponsored by:
- Andreas Neumann
- Qtibia Engineering (Tudor Barascu)
- Karl-Magnus Jönsson
- Geonesia (Nicolas Ponzo)
- Plus numerous additional anonymous backers whose generous
contributions are also highly valued!
The build RScript is stored in the User folder, so the script is erased at each RAlgorithm execute.
Server side or for debugging this could be a problem.
So processing_script.r will be stored in temp folder.
The existing CSW URL is still supported for backwards compatibility, but `/services/csw/` is the preferred path going forward. They're backed by the same code and results will be identical.
Current url is shown at eg. https://data.linz.govt.nz/layer/767-nz-topo50-maps/webservices/
New versions of GDAL/OGR (since trunk@35289) convert list types (StringList,
IntegerList, Integer64List and RealList) to a JSON string when it stores a
Spatialite table. It sets the column type as JSONSTRINGLIST, JSONINTEGERLIST,
JSONINTEGER64LIST or JSONREALLIST.
fixing this by testing int_com.
```
Traceback (most recent call last):
File "C:/PROGRA~1/QGIS2~1.17/apps/qgis/./python/plugins\processing\core\GeoAlgorithm.py", line 203, in execute
self.processAlgorithm(progress)
File "C:/PROGRA~1/QGIS2~1.17/apps/qgis/./python/plugins\processing\algs\qgis\Intersection.py", line 100, in processAlgorithm
int_geom = QgsGeometry(int_com.difference(int_sym))
```
AttributeError: 'NoneType' object has no attribute 'difference'