9990 Commits

Author SHA1 Message Date
Nyall Dawson
faa4a09ed0 Merge pull request #4877 from nyalldawson/layout_next
Layouts, chapter II
2017-07-24 08:42:51 +10:00
Nyall Dawson
99bf32bafb Fix crash in displacement/distance renderers
Individual symbol instances were being rendered multiple times
concurrently
2017-07-23 17:21:52 +10:00
Juergen E. Fischer
90fa6c2e91 sub layer dialog: sort by layer id and feature count numerically (fixes #16917) 2017-07-22 13:41:20 +02:00
Giovanni Manghi
dfc9285121 master: fix SAGA LTR mosaiking tool 2017-07-21 14:42:14 +01:00
Nyall Dawson
38c8268400 Allow setting width/height spin boxes to link to QgsRatioLockButton
When set, these spin boxes will automatically be updated when their
accompanying spin box changes value so that the ratio is maintained.
2017-07-21 14:20:45 +10:00
Nyall Dawson
eb5ac44b27 Update test 2017-07-21 11:28:43 +10:00
Giovanni Manghi
5e03f579d1 mater: fix SAGA LTR Catchement Area tools 2017-07-20 12:15:09 +01:00
Nyall Dawson
96cf6612d3 Port geometry by expression to new API 2017-07-20 15:28:50 +10:00
Nyall Dawson
c0669d4fd2 Port extend lines to new API 2017-07-20 15:28:50 +10:00
Nyall Dawson
1cac3bb635 Port single sided buffer to new API 2017-07-20 15:28:50 +10:00
Nyall Dawson
4a935c1090 Resurrect Translate algorithm 2017-07-20 15:28:50 +10:00
Nyall Dawson
d4af76150f Flip some more algorithms to feature based algorithms 2017-07-20 15:28:50 +10:00
Sandro Santilli
9efd666e48 Test that PostGIS query can be passed as both unicode and string literal
See https://issues.qgis.org/issues/16833
2017-07-19 19:05:39 +02:00
Sandro Santilli
2a572be73e Add test for #16833
Tested to pass with Python 2.7.13
2017-07-19 16:48:36 +02:00
Mathieu Pellerin
0665072d94 [FEATURE] Locked aspect ratio state for Save as image/PDF" (#4880)
Sponsored by Andreas Neumann.
2017-07-19 15:04:52 +07:00
rldhont
08c06def1b Merge pull request #4846 from rldhont/server-wms-configparser-getfeatureinfo
[Server] WMS GetFeatureInfo refactoring
2017-07-19 10:00:01 +02:00
Juergen E. Fischer
4f9a9e0360 s/( )/()/; s/== /== /; s/!= /!= /; 2017-07-19 09:19:37 +02:00
Nyall Dawson
857f8437d1 Merge pull request #4873 from nyalldawson/processing_feature_alg
Add QgsProcessingFeatureBasedAlgorithm subclass
2017-07-19 05:31:30 +10:00
Nyall Dawson
11cfc78a24 Skip invalid returned features 2017-07-18 22:13:50 +10:00
Alessandro Pasotti
0b263f9ac6 Merge pull request #4737 from boundlessgeo/browser-sync
[bugfix] Sync the browser connections when changed from the select dialogs
2017-07-18 13:27:32 +02:00
Mathieu Pellerin
6acd326a8f [FEATURE] Draw extent onto canvas in save as image/PDF dialog (#4878) 2017-07-18 18:13:52 +07:00
Alessandro Pasotti
bd925cd648 Rebase and partially revert 9bae83275368
All signals are now in the base class, even if only
a subset of available providers actually emits them.

This way we can handle all source select dialogs
the same way, regardless if they are vector, DB
or raster (or others).
2017-07-18 12:15:57 +02:00
Nyall Dawson
29855b3942 Change signature of processFeature so that features are no longer modified in place 2017-07-18 19:56:42 +10:00
Alessandro Pasotti
e83ef2e8b5 Store canvas into the base class and set extent/crs from the arcgis classes
This modification was necessary because the current implementation
of the source select dialogs within the unified add layer dialog
create the provider dialogs the first time and do not destroy
them, this means that the canvas extent and CRS can change from
a dialog invocation to the next and the extent and CRS need to
be updated at layer creation time.
2017-07-18 11:45:07 +02:00
Alessandro Pasotti
73b66fa1f5 Homogenize signals from different source select dialogs, move to base class 2017-07-18 11:45:07 +02:00
Nyall Dawson
c2cad99d6b Add note about throwing QgsProcessingException to cancel algorithm execution 2017-07-18 19:44:33 +10:00
Alessandro Pasotti
f6c8ef3ad1 Complete documentation for connectionsChanged signals 2017-07-18 11:42:02 +02:00
Alessandro Pasotti
c4e26d72c0 Renamed base class to QgsAbstractDataSourceWidget 2017-07-18 11:42:02 +02:00
Alessandro Pasotti
aba9da5bc4 Refactored all providers to use the new base class
Also use refreshConnections from the data items when
a refresh is required, this function also emits
the signal to update the other GUI elements.
2017-07-18 11:42:02 +02:00
Nyall Dawson
d926789d3b Improve dox 2017-07-18 19:41:33 +10:00
Nyall Dawson
dd0f18355b [FEATURE] Followup addition of set Z/M values algs with Drop Z/M Values algorithm
Allows easy access to drop any z or m values present in a layer (e.g. if
required for compatibility with a database destination, etc)
2017-07-18 19:41:33 +10:00
Nyall Dawson
340cf93f93 [FEATURE] New algorithms to add Z/M values to existing geometries
Allows upgrading geometries to include these dimensions, or
overwriting any existing Z/M values with a new value.

Intended mostly as a test run for QgsProcessingFeatureBasedAlgorithm
2017-07-18 19:41:33 +10:00
Nyall Dawson
b9f225905a Port a single python algorithm to QgsProcessingFeatureBasedAlgorithm 2017-07-18 19:41:33 +10:00
Nyall Dawson
7e3c435dd6 Port some existing algorithms to QgsProcessingFeatureBasedAlgorithm 2017-07-18 19:41:33 +10:00
Nyall Dawson
1a41624370 Add QgsProcessingFeatureBasedAlgorithm subclass
An abstract QgsProcessingAlgorithm base class for processing algorithms
which operate "feature-by-feature".

Feature based algorithms are algorithms which operate on individual
features in isolation. These are algorithms where one feature is
output for each input feature, and the output feature result
for each input feature is not dependent on any other features
present in the source.

For instance, algorithms like "centroids" and "buffers" are feature
based algorithms since the centroid or buffer of a feature is
calculated for each feature in isolation. An algorithm like "dissolve"
is NOT suitable for a feature based algorithm as the dissolved output
depends on multiple input features and these features cannot be
processed in isolation.

Using QgsProcessingFeatureBasedAlgorithm as the base class for feature
based algorithms allows shortcutting much of the common algorithm code
for handling iterating over sources and pushing features to output sinks.
It also allows the algorithm execution to be optimised in future
(for instance allowing automatic multi-thread processing of the
algorithm, or use of the algorithm in "chains", avoiding the need
for temporary outputs in multi-step models).
2017-07-18 19:41:33 +10:00
Alessandro Pasotti
1e6a4ab301 Added since 3.0 to the renamed class 2017-07-18 11:38:53 +02:00
Alessandro Pasotti
7bb797f8a9 Renamed QgsSourceSelectDialog to QgsArcGisServiceSourceSelect 2017-07-18 11:38:53 +02:00
Alessandro Pasotti
bc516cf82a Added since 3.0 2017-07-18 11:38:53 +02:00
Alessandro Pasotti
385bb86854 SIP include 2017-07-18 11:38:53 +02:00
Alessandro Pasotti
593770a579 Added python bindings for the base source select class 2017-07-18 11:38:53 +02:00
Alessandro Pasotti
e57399bae0 [bugfix] Sync the dialogs connections when changed from the browser
For now it's only for WMS but you get the idea.

There is a new abstract base class for the source select
dialogs, that will grow with common behavior for all
the select dialogs.

Signals are forwarded from the (root) data items to the
app and then delivered to the various browser instances
and to the unified layer dialog.

A change in one of the browser items should trigger a
refresh in all the other browsers and dialogs.
2017-07-18 11:38:53 +02:00
Alessandro Pasotti
9ff73c0b77 [bugfix] Sync the bowser connections when changed from the select dialogs
For now, the sync works only in one direction: from the dialogs
to the browser instances
2017-07-18 11:38:53 +02:00
Nyall Dawson
b83415688a Save/restore window geometry for plugin installer repo fetching dialog 2017-07-18 13:49:03 +10:00
Mathieu Pellerin
3037f22482 Non-blocking save as image/PDF dialogs (#4874) 2017-07-18 10:47:06 +07:00
Nyall Dawson
4e0e038aab Dox updates 2017-07-18 13:04:03 +10:00
Nyall Dawson
7f066672b3 Add method to specify item groups for item classes in QgsLayoutItemGuiRegistry
This allows the designer dialog to group the corresponding item
actions together (i.e. grouping all basic shape creation actions
together), but without any hardcoded special handling so that
plugin based items can also be grouped.
2017-07-18 12:42:06 +10:00
Nyall Dawson
de2626d65c Add unit types to new item properties dialog, handle different reference
point settings
2017-07-18 12:42:06 +10:00
Nyall Dawson
19a7863ea4 Add methods to construct layout size/point from QSizeF/QPointF 2017-07-18 12:42:06 +10:00
Nyall Dawson
d14f3b9c13 Add QComboBox subclass widget for selecting layout units 2017-07-18 12:42:06 +10:00
Nyall Dawson
cdec70babe [needs-docs] Add a new item properties dialog
When adding a new item to a layout, if the user just does a single
click of the mouse (vs a click and drag to set the new item
position/size), then a dialog is shown asking to user for
the new item size/position/reference point.

This allows easy creation of items with an exact position/size
and is common behavior in most proper DTP/illustration apps.
2017-07-18 12:42:06 +10:00