15446 Commits

Author SHA1 Message Date
Nyall Dawson
dd9dfb0d08 Show authority:code identifiers on transform selection dialog
Many scopes/remark cross reference these, so by showing them in the
table of available operations we give users more clues how to pick
the correct one.
2019-07-08 12:42:02 +10:00
Nyall Dawson
ac0326a351 [API] Add useful PyQGIS additions to QgsSymbol
Adds:
- __len__ : returns number of symbol layers in symbol
- [ ] getter: returns a specific symbol layer, also allows negative indices to retrieve from end of symbol
- del [ ]: removes a specific symbol layer, also allows negative indices
- raise IndexError when an invalid symbol layer is requested
- allow iteration over symbol layers using
  for layer in symbol:
     print(layer.color())
2019-07-08 08:41:59 +10:00
Nyall Dawson
f3dcd8211e Dox, comments 2019-07-06 12:36:54 +10:00
Nyall Dawson
87f10e140e Fix generation of enum class Pydocs 2019-07-06 12:36:54 +10:00
Nyall Dawson
4f5f6b5607 Add a generic method for adding style entities to a QgsStyle 2019-07-06 12:36:54 +10:00
Nyall Dawson
590d1aae9d [FEATURE][API] Visitor API for style entities
Adds a new visitor pattern API for creation of visitors which visit
all the style entities (symbols, color ramps, text formats, and
label styles) associated with different objects. Can be used on a
renderer, map layer, or project wide level.

E.g. on a project wide level, allows collection of ALL the style
symbols/color ramps/text settings inside a project, including those
in layouts or annotations!
2019-07-06 12:36:54 +10:00
Alessandro Pasotti
3a05312121
Merge pull request #30548 from elpaso/bugfix-gh30387-gpkg-project-relative-paths
Fix relative storage for GPKG projects
2019-07-05 14:21:12 +02:00
Alessandro Pasotti
75defad55c Remove warning 2019-07-05 13:33:27 +02:00
Nyall Dawson
7f491513e7 Further improvements to transform selection dialog
- Show area of use information, which gives users much more context
and clues for selecting the right transform from the list
- Fix missing scope and remarks for single operations
2019-07-05 05:53:13 +10:00
Alessandro Pasotti
b92012ccae Fix relative storage for GPKG projects
Fixes #30387
2019-07-04 11:23:56 +02:00
Alexander Bruy
d3091e7d64 [processing][needs-docs] allow to set tiles background (fix #30490) 2019-07-03 12:15:47 +03:00
Nyall Dawson
39724c2a48 When building on proj >= 6.2, show the full scope and remarks
for coordinate operations

Gives much more useful information to users to allow them to make
informed choices about suitable operations
2019-07-03 05:11:31 +10:00
Nyall Dawson
13fe327eb9 Fix cloning a vector layer loses all features if the layer is a memory layer 2019-07-02 10:10:11 +10:00
Nyall Dawson
164f6aec6b Spelling 2019-07-01 17:01:34 +10:00
Nyall Dawson
074c584c54 Don't allow name-less parameters 2019-07-01 17:01:34 +10:00
Nyall Dawson
b8e53dc012 Add missing visual links between layout and layout item parameters in models 2019-07-01 17:01:34 +10:00
Nyall Dawson
a9788339ea Port an item type which has a parent parameter choice (layout items) for reference 2019-07-01 17:01:34 +10:00
Nyall Dawson
d83997c490 Port string parameter to new config widget 2019-07-01 17:01:34 +10:00
Nyall Dawson
477d3b1f1a Port boolean widget config dialog to new API 2019-07-01 17:01:34 +10:00
Nyall Dawson
10d6a8a122 [processing][API] Add API to QgsProcessingGuiRegistry and QgsProcessingParameterWidgetFactoryInterface
to handle creation of parameter definition widgets

Previously, these configuration widgets were all hardcoded into the Python modeler
dialog. This prevented 3rd party, plugin provided, parameters from ever being full
first class citizens in QGIS, as there was no way to allow their use as inputs to
user created models to be customised.

Now, the registry is responsible for creating the configuration widget, allowing
for 3rd party parameter types to provide their own customised configuration
widgets.

Refs #26493
2019-07-01 17:01:34 +10:00
Nyall Dawson
b0d7c2927e Expose contentAsString to QgsNetworkContentFetcherTask 2019-07-01 15:38:45 +10:00
Nyall Dawson
bb9fb49887 Add auth support to QgsNetworkContextFetcher 2019-07-01 15:38:45 +10:00
Harrissou Sant-anna
62e8a9b726 Add a bunch of automatic geometry restoration
and remove some dedicated methods
2019-07-01 08:51:51 +10:00
Nyall Dawson
d96c7386b1 Allow creation of color parameters with no opacity control 2019-07-01 06:32:21 +10:00
Nyall Dawson
38bb5fb260 [FEATURE][processing] New parameter type for colors
Allows for algorithms which require a color value as an input
2019-07-01 06:32:21 +10:00
Panos Mavrogiorgos
d8b0cdacb7 Make setting "Grass7AlgorithProvider.activateSetting" optional.
This change makes it easier to subclass `Grass7AlgorithProvider` which
allows e.g. to expose GRASS Addons as QGIS plugins.

Disclaimer: `Grass7AlgorithProvider` is a private API and it may change
            without warning. 3rd parties that rely on this should expect
            that their code will break in future releases.
            For more info please check the comments at #30252

Nevertheless, it currently is possible to subclass with something like this:

    class CustomGrassBasedProvider(Grass7AlgorithmProvider):
        # Set descriptionFolder to our own description directory
        descriptionFolder = os.path.join(os.path.dirname(__file__), 'description')

        # 3rd party plugins don't need an activation/deactivation setting
        activateSetting = None

        # define the rest of the methods that are needed (e.g. name(), id() etc)
        # ...

Fixes #30241
Continues #9202
2019-06-29 09:51:13 +10:00
Panos Mavrogiorgos
03f1ae9576 Stop hardcoding activation setting name in Grass7AlgorithmProvider 2019-06-29 09:51:13 +10:00
Blottiere Paul
ee6642477e
Merge pull request #30071 from lbartoletti/wms_tile_buffer
[server]New parameter for WMS service: tile_buffer
2019-06-28 16:22:05 +02:00
Nyall Dawson
99d6524407 Dox++ 2019-06-28 09:45:48 +10:00
Nyall Dawson
03af890132 Address review comments 2019-06-28 09:45:48 +10:00
Nyall Dawson
27f9bf66d6 Spelling 2019-06-28 09:45:48 +10:00
Nyall Dawson
6aeedfe20b [FEATURE][layouts] Expose choice of arrangement of legends (i.e.
symbols to the left OR symbols to the right of legend text), and
alignment for group/subgroup/item text

Allows creation of right-to-left locale friendly legends. Additionally,
we default to this right-to-left style alignment when creating new
legends under a RTL based locale.
2019-06-28 09:45:48 +10:00
Nyall Dawson
640283f700 Add new reusable combo box widget for alignment choices
QgsAlignmentComboBox presents users with a (filterable) selection
of horizontal alignment choices, e.g. left/right/center
2019-06-28 09:45:48 +10:00
Nyall Dawson
da79b6f0e6 [FEATURE][labels] New text "background" setting for marker symbol backgrounds
Allows for rendering a marker symbol in the background of labels
(complementing the existing shapes/SVG choices). This allows use
of QGIS marker symbology as a background symbol behind labels (e.g.
for highway shield labels)
2019-06-28 08:28:55 +10:00
Nyall Dawson
ef97fefbaa [layouts] Add API to set expression variables at a multiframe level 2019-06-28 07:12:40 +10:00
Juergen E. Fischer
6bdb259627 translation string fix 2019-06-27 13:58:46 +02:00
Alexander Bruy
509ab2985c
Merge pull request #30443 from alexbruy/batch-fix
use correct method name in the batch input selector for vector layers (fix #30410)
2019-06-27 14:52:11 +03:00
Martin Dobias
0a7386e6da [TilesXYZ] Add metatile size parameter
Larger values may speed up the rendering and provide better labelling (fewer gaps without labels)
at the expense of using more memory.

Ported from XYZ Tiles plugin - originally contributed by @nurenda
2019-06-27 13:37:50 +02:00
Martin Dobias
0e782645e2 Revert the leftovers that were added in QgsDataItemProvider cpp/h 2019-06-27 12:55:07 +02:00
Martin Dobias
78a638f769 Use lambdas to pass data items as captured variables 2019-06-27 12:55:07 +02:00
Martin Dobias
f4b1b83af2 [wms] Move GUI parts of data items to QgsDataItemGuiProvider subclasses 2019-06-27 12:55:07 +02:00
Alexander Bruy
49d0e996a7 use correct method name in the batch input selector for vector layers (fix #30410) 2019-06-27 12:38:30 +03:00
Alessandro Pasotti
7761f5f0fe
Merge pull request #30391 from troopa81/executesql_raise_unknown_geom
Raise an exception when geometry field autodetection has failed
2019-06-27 09:22:36 +02:00
Larry Shaffer
f4348259c9
[needs-docs] Merge pull request #30227 from boundlessgeo/master_legend-horiz-scroll 2019-06-26 11:42:53 -06:00
Alexander Bruy
c224a01faf
Merge pull request #30377 from alexbruy/gdal-extra
[processing] allow passing additional command line parameters to GDAL algorithms
2019-06-26 19:50:43 +03:00
Fran Raga
aac040534f issue #30406 2019-06-26 08:59:53 +02:00
Matthias Kuhn
1cee45c8de
Merge pull request #30360 from m-kuhn/fix_use_before_assign
[dbmanager] Fix use before assign
2019-06-26 08:30:53 +02:00
Martin Dobias
cf2d87837b
Merge pull request #30234 from PeterPetrik/providers
[QEP 149] Introduce static data providers
2019-06-26 08:18:21 +02:00
nirvn
0e4f0c8555 [symbology] Fix broken centroid fill's force point inside polygon 2019-06-26 12:05:07 +07:00
Martin Dobias
8e56f51c23 Merge remote-tracking branch 'origin/master' into providers 2019-06-25 22:11:51 +02:00