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

187 Commits

Author SHA1 Message Date
Víctor Olaya
6eaa511eed [processing] show warning when file-based layer could not be loaded and dependent params updated
For algorithms with multiple parameters depending on a vector layer parameter, the code that loads the layer in the background is called repeatedly, impacting performance. A small layer cache is implemented with these changes, so the dialog only tries to load the layer once.
2019-01-29 11:12:23 +11:00
Nyall Dawson
db3b9aeb6b Revert "[processing] hide 'select file' button for vector layers when there are dependent params"
This reverts commit f2044528951bbb09a70b9c696d79d8cd5b756214.

It's a contentious fix, which needs discussion
2019-01-23 17:30:47 +10:00
volaya
f204452895 [processing] hide 'select file' button for vector layers when there are dependent params
fixes 
2019-01-23 08:02:18 +01:00
Alexander Bruy
37f14f8b3f add value changed signal for extent parameter widget wrapper 2018-12-30 06:44:09 +02:00
Peter Petrik
9ce7e54fb1
allow selection of file paths for mesh layers [processings] ()
allow selection of file paths for mesh layers
2018-12-20 15:04:02 +01:00
Peter Petrik
e71660215c [processing] add QgsProcessingParameterMeshLayer parameter 2018-12-17 11:50:53 +01:00
Nyall Dawson
9c1653f00a [processing] Fix exception on launching refactor fields
(The logic with parameter widget_wrapper metadata is very gross -
but there's nothing we can do about it till 4.0!)

Fixes 
2018-12-05 04:47:55 +10:00
Nyall Dawson
59d2c5301f [processing] Fix exception when parameter metadata is set to extend inbuilt wrapper type 2018-11-30 05:02:59 +10:00
olivierdalang
953ea96bfb fixes 2018-09-15 14:56:45 +10:00
Nyall Dawson
6935027ead [processing] Fix API break in widget wrapper
Fixes 
2018-09-13 05:40:39 +10:00
Nyall Dawson
ac3b37ffe0 [processing] Fix wrapper value retrieval for some ported wrappers
Fixes 
2018-09-11 10:26:36 +10:00
Nyall Dawson
1c5250b147 [processing] Fix some exceptions in batch dialog after refactoring
Fixes , 
2018-09-08 17:51:42 +10:00
Luigi Pirelli
bc8a4605d4 Fix Range wrapper to allow Range parameters to be added in modeler. Not yet fully integrated as input paramter 2018-09-08 07:41:11 +10:00
Nyall Dawson
e76b761dd0 Correctly associate layer with dynamic properties 2018-09-04 19:06:07 +10:00
Nyall Dawson
70c1680754 Automatically handle adding data defined button for dynamic properties
Also exposes this capability to modeler - so that model algorithms
can use data defined parameters within their child algorithms.

TODO:
- tests
- setting the associated vector layer
2018-09-04 19:06:07 +10:00
Nyall Dawson
a717b85e2e [FEATURE][processing] New modeler parameter widget
A new widget which handles parameter values for child algorithms
within a model. Instead of the previous approach of requiring
individual widget wrappers to handle creation of a suitable
model widget, we do all this automatically for them.

This widget uses a stacked widget with a toolbutton to select
the parameter's source, instead of the previous combo box approach
(which didn't scale well for large models). I.e. users select
first whether the value is taken from a static value, a
model input, or an output from a different child algorithm. The
widget then changes appearance and behavior based on this
choice.

Additionally, a new option is present for all parameters
of using a "precalculated expression". This expression is
evaluated once before the child algorithm is executed
and used during the execution of that algorithm.
2018-09-04 19:06:07 +10:00
Nyall Dawson
644ef6a752 [processing] Initial work on porting base GUI classes to c++
- Add abstract base class for Processing widget wrappers to c++
- Add wrapper factory interface to c++
- Make QgsProcessingGuiRegistry also register widget wrapper
factories, and be responsible for creation of new c++
processing widget wrapper instances
- Start on private c++ implementation of boolean widget wrapper,
including unit tests
2018-09-04 19:06:07 +10:00
nirvn
97adef21bd [processing] multiple band selection wrapper should return list of ints 2018-09-04 10:07:07 +07:00
nirvn
13ecaa4190 [needs-docs][processing] Add a multiple selection mode to the band parameter 2018-09-04 10:07:07 +07:00
Nyall Dawson
6a4d9c9bd4 [processing] Ensure feature source wrapper always returns direct
layer id/source whenever 'use selected features' is unchecked,
instead of always returning a QgsProcessingFeatureSourceDefinition
2018-07-25 08:20:07 +10:00
Nyall Dawson
c65afbdd97 [processing] Correctly handle layer type parameter values when
creating an algorithm dialog using processing.execAlgorithmDialog()
2018-07-19 07:22:06 +10:00
Salvatore Larosa
f993ec05be Fixes - AttributeError: 'BatchInputSelectionPanel' object has no attribute 'getText' 2018-07-16 09:00:10 +10:00
Rudi von Staden
57fb4ef27c Add 'not selected' option for optional layer parameters in processing model view
Fixes  (https://issues.qgis.org/issues/19329)

Optional layer parameters in processing algorithms used in the graphical modeler
add an empty string as the default parameter value, which can raise an exception
during algorithm execution. This update replaces the default empty string with a
default 'Not selected' option.
2018-07-04 13:45:46 +02:00
Nyall Dawson
950d042e72 [processing] Fix errors when filling parameters in batch panel
Fixes 
2018-06-01 15:55:11 +10:00
Nyall Dawson
c5ff6b9c99 [processing] Ensure parameters linked to layer parameters
(e.g. field choices) are correctly updated when a layer
is selected which doesn't belong to the project
2018-05-22 06:03:18 +10:00
Blottiere Paul
42199d1ad0 [processing] Declare NOT_SELECTED 2018-05-21 19:06:27 +10:00
Blottiere Paul
dcc79fcfbf [processing] Fix invalid attribute's name 2018-05-21 19:06:27 +10:00
Nyall Dawson
6b5e5b6ed5 [processing] Fix models cannot correctly set enum parameters
to a static choice
2018-05-21 16:07:14 +10:00
Alexander Bruy
c985092a6d fix typo 2018-05-14 18:47:14 +03:00
Alexander Bruy
1ba34dcbea [processing] add matrix and enum parameters to wrappers and handle them
in the modeler dialogs
2018-05-11 15:49:06 +10:00
Nyall Dawson
c68262da7f [processing] Correctly set default value for matrix parameters
Fixes 
2018-05-02 04:55:41 +10:00
Nyall Dawson
0dfb3c2d8c [processing] Use distance parameter for more algorithms 2018-04-20 18:27:00 +10:00
Nyall Dawson
6a2625664e [processing] Add dedicated "distance" parameter
This is a subclass of QgsProcessingParameterNumber, but specifically
for numeric parameters which represent distances. It is linked
to a parent parameter, from which the distance unit will
be determined, and is shown using a dedicated distance widget
within the processing parameters panel. This widget shows
the distance unit.

This avoids the confusion when running algorithms which
use distances where the unit depends on a layer or CRS parameter -
e.g. the distance parameter in the buffer algorithm gives
the distance in layer units... so now we can show those units
directly within the dialog. Hopefully this leads to less
user confusion and accidental "1000 degree buffers"!

Additionally - if the unit is in degrees, a small warning
icon is shown next to the parameter. The tooltip for this
icon advises users to reproject data into a suitable
projected local coordinate system.

Initially implemented for the native buffer and single
sided buffer algorithm only - but more will be added.

Fixes 
2018-04-20 18:27:00 +10:00
Rashad Kanavath
3408e02c46 [processing] create and manage label in WidgetWrapper
ModelerParametersDialog and ParametersPanel have to keep list of
wrappers only. widget and label( if needed) are created through
WidgetWrapper.createLabel()
2018-04-03 06:09:44 +10:00
Nyall Dawson
f06b3691c5 More spelling fixes 2018-03-12 14:32:17 +11:00
Nyall Dawson
4e182be4ec [processing] Fix 'selected features' checkbox is incorrectly disabled
Fixes 
2018-03-01 15:29:06 +10:00
Nyall Dawson
835cca7cae [processing] More string HIG fixes 2018-02-22 06:44:17 +11:00
nirvn
6573eb30e7 [processing] small fix in the MultipleLayerWidgetWrapper wrapper 2018-02-21 12:00:32 +07:00
Nyall Dawson
fdebddd13a [processing] Fix raster layers shown as inputs for certain vector algs
Fixes , 
2018-02-20 10:03:27 +11:00
nirvn
4aef3b719f [processing] fix python error with OSM vector layers 2018-02-15 15:56:53 +07:00
Nyall Dawson
46dc2f6e5b [processing] Avoid losing static, user-entered parameter values
in model child algorithms

Prior to this change if you edited an algorithm in a model and
tried to enter a preset string for certain parameter types, this
string would get silently discarded on closing the dialog. E.g.
with a dissolve algorithm it was not possible to have a fixed
field name within the model to dissolve by.

This was caused by WidgetWrapper.comboValue  returning the customData
for these manually entered values in the parameters combo box,
yet manually entered values never have custom data.

To work around this we only return the custom data if its
set for the selected item - otherwise we return the text unchanged.
In order to handle the "[not set]" options, a new static custom
data value of WidgetWrapper.NOT_SET_OPTION is added to that
comboValue can detect this and return the appropriate None value.
2018-02-15 17:45:19 +11:00
Nyall Dawson
414c3a4bfe Fix unavailable layer inputs for multi-layer inputs set to any map layer type 2018-02-11 11:00:49 +10:00
Nyall Dawson
4bcc9df5b4 [processing] Add explicit output type for multiple layers
This was a missing capability in the processing API - while algorithms
could declare multiple layer input parameters, there was no corresponding
multi-layer output. This meant that algorithms (such as Package Layers,
Vector Split) which create a set of layers which cannot be determined
in advance had no way to pass these generated layers on for further model
processing steps.

It's also useful for algorithms which operate on a specified folder,
processing all layers found there, and allowing these generated
outputs to be utilised in other model steps (e.g. packaging
all of them, merging them, etc)
2018-02-11 10:57:44 +10:00
Alexander Bruy
23a5dd3197 [processing] fix file permissions 2018-02-06 19:25:48 +02:00
Salvatore Larosa
ebb725ec04 [processing] create widget correctly from wrapper when in batch mode 2018-01-28 22:11:51 +01:00
Salvatore Larosa
550c74e106 [processing] fix wrong getter 2018-01-28 21:31:18 +01:00
Salvatore Larosa
f4f89bbcbe [processing] resurrects matrix parameter 2018-01-25 21:54:22 +01:00
Nyall Dawson
2013725793 Fix gui handling of NULL/None default values in processing script algorithms 2018-01-24 17:54:47 +11:00
Nyall Dawson
e7e37efed7
Merge pull request from nyalldawson/proc_dialog
[processing] Add api to show algorithm dialog, use dialog for history
2017-12-27 22:34:13 +11:00
Mathieu Pellerin
3b8905209e
[processing] harmonize and improve UI spacing 2017-12-27 10:50:52 +07:00