1
0
mirror of https://github.com/qgis/QGIS.git synced 2025-03-28 00:04:04 -04:00

5275 Commits

Author SHA1 Message Date
Nyall Dawson
f5a6aef55f Raise IndexError in PyQGIS when calling geometryN on a collection
with an invalid geometry index

And add len operator to QgsGeometryCollection
2018-11-20 05:05:37 +11:00
Blottiere Paul
50e2b76ae7
Merge pull request from lbartoletti/bugfix_18902
Fixes  Snapping and tracing inconsistent behaviour
2018-11-19 04:49:03 +00:00
lbartoletti
c292e69e49
Merge branch 'master' into extendMapTool 2018-11-15 11:37:26 +01:00
lbartoletti
574a57f2e4 Merge branch 'extendMapTool' of github.com:lbartoletti/QGIS into extendMapTool 2018-11-13 13:39:56 +01:00
Peter Petrik
0e413c04bc sipify 2018-11-13 10:48:02 +01:00
Peter Petrik
7564276994 QPrinter is unavailable on some platforms 2018-11-13 10:48:02 +01:00
Peter Petrik
1559013270 support platforms that does not have QProcess support (iOS) 2018-11-13 10:48:02 +01:00
lbartoletti
a8f865917e Nyall's review 2018-11-13 09:03:26 +01:00
lbartoletti
abcf2aa4cf init trim/extend feature 2018-11-13 09:03:26 +01:00
Denis Rouzaud
30cf2d37bc
Merge pull request from 3nids/locator_core
Move parts of QgsLocatorFilter to core
2018-11-09 12:18:27 +00:00
Denis Rouzaud
f4f5d1ef5b missing destructor 2018-11-09 10:01:38 +00:00
Denis Rouzaud
31cd1644c3 also move triggering of results to core 2018-11-09 10:01:29 +00:00
Nyall Dawson
ba17b130f8 Move forceRHR to QgsGeometry, avoid duplicate code 2018-11-09 19:06:48 +10:00
Nyall Dawson
30214538c2 [FEATURE] Add option to simple line and marker line to only
render exterior ring or interior rings

This option is shown whenever a simple line symbol or
marker line symbol is used as part of a fill symbol for
rendering polygons.

The default behavior is to render both interior and exterior
rings, but this new setting allows users to set the symbol
layer to render only for the exterior ring OR only
for interior rings.

This allows for symbolisation which wasn't directly possible
before, such as a marker line with markers for interior
rings angled toward the interior of the polygon.

Sponsored by the German QGIS User Group

Fixes 
2018-11-09 19:06:48 +10:00
Nyall Dawson
a947bb3b9b Dox++ 2018-11-09 19:06:48 +10:00
Nyall Dawson
73d0ced5df [FEATURE] Add option to force right-hand-rule during polygon symbol rendering
This new option, available under the "Advanced" button for fill symbols,
allows forcing rendered polygons to follow the standard "right hand
rule" for ring orientation (where exterior ring is clockwise, and
interior rings are all counter-clockwise).

The orientation fix is applied while rendering only, and the original
feature geometry is unchanged.

This allows for creation of fill symbols with consistent appearance,
regardless of the dataset being rendered and the ring orientation
of individual features.

Refs 
2018-11-09 19:06:48 +10:00
Nyall Dawson
27e1ef5c1c Add method to QgsCurvePolygon to force RHR, ensuring standard ring orientation 2018-11-09 19:06:48 +10:00
Nyall Dawson
c22364d45e Add method to determine orientation of closed curves 2018-11-09 19:06:48 +10: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
Denis Rouzaud
107e646219 rename QgsLocatorWidgetCore to QgsLocatorModelBridge 2018-11-06 13:59:37 -04:00
Denis Rouzaud
f652e8dcba save current extent and CRS in locator core
remove remaining bits of interface
2018-11-06 13:37:39 -04:00
Denis Rouzaud
6a9d7a69d8 implement roleNames for QgsLocatorModel 2018-11-06 10:09:20 -04:00
Denis Rouzaud
20d8db9e28 Revert "create a core interface for QgsMapCanvas"
This reverts commit 79c5b35a3925336e01e9ac1a6a75fd32eb3b8cdd.
2018-11-06 10:09:12 -04:00
Denis Rouzaud
078b445057 move part of the logic of QgsLocatorWidget to core 2018-11-06 10:08:33 -04:00
Denis Rouzaud
79c5b35a39 create a core interface for QgsMapCanvas 2018-11-06 10:06:22 -04:00
Alessandro Pasotti
c8b26771cf
Merge pull request from elpaso/handle-bad-layers2
[needs-docs][feature] Deferred handling of bad layers
2018-11-06 08:43:18 +01:00
Nyall Dawson
19ef2f904b Add missing /Factory/ annotation 2018-11-05 22:02:32 +10:00
Nyall Dawson
82baff87d4 Add a __repr__ method to QgsMimeDataUtils::Uri 2018-11-05 22:02:32 +10:00
Alessandro Pasotti
f02345bd8b Remove unnecessary project from test data 2018-11-05 10:27:02 +01:00
Alessandro Pasotti
eb02004b60 Store original style as QDomDocument instead of an XML string 2018-11-05 10:27:02 +01:00
Alessandro Pasotti
a4182c1e04 Remove unnecessary project from test data 2018-11-05 10:26:39 +01:00
Alessandro Pasotti
7a259c6ea5 Better handling of invalid relations ...
- do not add them to the manager dialog
- do not add relations to not existent layers (but keep relations to invalid layers)
2018-11-05 10:26:39 +01:00
Alessandro Pasotti
bc424d09c1 Store original style as QDomDocument instead of an XML string 2018-11-05 10:26:39 +01:00
Alessandro Pasotti
0cd21c91f1 Keep invalid relations and update them when the data source changes
Added a check for layer.isValid in relation.isValid, keep
relations in the manager even if they are not valid and
connect dataSourceChanged with updateRelationStatus
2018-11-05 10:24:35 +01:00
Alessandro Pasotti
2bd90da9c1 Added a validOnly flag to mapLayers to filter for valid layers only 2018-11-05 10:24:35 +01:00
Alessandro Pasotti
3fe7848c16 Noted in the method documentation that dataProvider() may return null 2018-11-05 10:24:35 +01:00
Alessandro Pasotti
f856b4c8e3 Renamed originalXmlProperties methods and variables 2018-11-05 10:24:35 +01:00
Alessandro Pasotti
326640d881 Implement setDataSource for rasters 2018-11-05 10:24:35 +01:00
Alessandro Pasotti
c32d542be5 Move setDataSource to QgsMapLayer
also setter and getter for providerType
2018-11-05 10:24:35 +01:00
Alessandro Pasotti
497a7da9de Added API methods to retrieve only valid maplayers
... and to count them

Tests updated accordingly, note that from now on
the assumption that a layer store or a layer project
contains only valid layers will not be true anymore.

To be honest it has never been true, because a
layer can become invalid at any time during
its life cycle, so better never assume that a
layer from the store or from the project is vaid.
2018-11-05 10:24:35 +01:00
Alessandro Pasotti
1b041f4f4f Add storeInvalidLayersProperties to store invalid layers
This can be used to restore initial layer status or to
apply styles and other layer properties if the data
source is changed.

The idea is that the user can fix bad layers at any time,
and by setting a new datasource she probably wants
to keep the original layer properties.
2018-11-05 10:24:35 +01:00
Alessandro Pasotti
bc4a1efac4 The store can now add invalid maplayers 2018-11-05 10:24:35 +01:00
Nyall Dawson
7be2925649 Remove QgsGeometry bool operator
This is too dangerous -- it gets silently casted to numeric values
instead of throwing compilation errors
2018-11-05 08:39:10 +10:00
Nyall Dawson
48e7e204c0 Move some browser directory action handling from core/gui to app 2018-11-04 21:07:27 +10:00
Nyall Dawson
6ec7f02e83 Add a QgsDataItemGuiProvider interface and registry for providers
These providers will be used to control how the browser data items
behave within GUI, and to allow separation of GUI related
properties of browser items from the core code.

A new registry QgsDataItemGuiProviderRegistry has been created
(modeled off QgsDataItemProviderRegistry), with an application
wide instance available from QgsGui::instance()->dataItemGuiProviderRegistry()
2018-11-04 21:07:27 +10:00
Nyall Dawson
5c5f2ed7e3 Add method to get QgsLayerItem::LayerType from a map layer 2018-11-01 20:41:08 +10:00
Matthias Kuhn
c55b4eb4c8
Make sip a bit happier 2018-10-31 12:15:43 +01:00
Matthias Kuhn
87c126323c
Regenerate fids for "multipart to singlepart algorithm" 2018-10-31 10:27:56 +01:00
Matthias Kuhn
a4d4c55c82
Parameter name harmonization 2018-10-31 10:27:55 +01:00
Matthias Kuhn
6fe832b984
Add missing param doc 2018-10-31 10:27:55 +01:00