1211 Commits

Author SHA1 Message Date
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
0ea283190b Better (finer) proxy task progress reporting for batch execution 2018-09-07 12:19:48 +10:00
Nyall Dawson
45bc2a0798 [processing] Use multi-step feedback for batch execution
Gives better indication of total progress vs showing just
current algorithm progress
2018-09-07 12:19:48 +10:00
Nyall Dawson
db1600871a [processing] Use a proxy task for batch processing execution 2018-09-07 12:19:48 +10:00
Nyall Dawson
3c2499ba95 Add some notes on deprecated class handling 2018-09-04 19:06:07 +10:00
Nyall Dawson
e76b761dd0 Correctly associate layer with dynamic properties 2018-09-04 19:06:07 +10:00
Nyall Dawson
8082497724 Fix evaluation of Python wrapper values 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
Juergen E. Fischer
1cc1f16501 Fix translation string
(caused "tx ERROR: Error received from server: Qt Linguist variants are
not yet supported." on vanish)
2018-08-22 10:40:23 +02:00
Nyall Dawson
5241ff3c22 [processing] Fix creation of new layers doesn't default output folder
Fixes #19637
2018-08-21 15:09:37 +10:00
Nyall Dawson
4930061b21 [processing] Fix incorrect OGR warnings when loading raster layer results
Fixes #19597
2018-08-16 06:37:18 +10:00
nirvn
94300eab7c Add proxy progress task for non-background algorithms 2018-08-16 06:22:16 +10:00
Nyall Dawson
2692de6ed0 [FEATURE][processing] Choice of units for non degree/unknown distances
When an algorithm has a distance parameter in meters/feet/etc (i.e.
non-geographic distances), show a combo box allowing choice of
unit type.

(We don't (and should never) expose this for distances in degrees --
it's up to users in this situation to choose a suitable local
projection and reproject their data to match. Refs: a recent
talk by @volaya)
2018-07-27 13:24:03 +10: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
nirvn
fdaff06abf [processing] only set number min value as default if parameter is not optional 2018-07-16 11:53:02 +07:00
Nyall Dawson
318098805e [processing][saga] Stop showing 'available providers' tip for SAGA, when it's not available anyway 2018-07-16 11:38:13 +10:00
Nyall Dawson
1134386825 Fix crash on exit 2018-07-16 11:38:13 +10:00
Nyall Dawson
101c98fd17 Move toolbox tree view to c++ class 2018-07-16 11:38:13 +10:00
Nyall Dawson
810cb9c0f7 Start replacing python model 2018-07-16 11:38:13 +10:00
Salvatore Larosa
f993ec05be Fixes #19417 - AttributeError: 'BatchInputSelectionPanel' object has no attribute 'getText' 2018-07-16 09:00:10 +10:00
Luigi Pirelli
1875b025da
Merge pull request #7362 from rudivs/update_maplayerwidgetwrapper
Add 'not selected' option for optional layer parameters in processing models
2018-07-11 15:25:12 +02:00
Nyall Dawson
6c014b46ba [processing] Use c++ recent algorithm log, remove python log
Indirectly fixes #19218
2018-07-05 02:37:03 +10:00
Rudi von Staden
57fb4ef27c Add 'not selected' option for optional layer parameters in processing model view
Fixes #19329 (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
f43adf7a8b Fix test 2018-07-03 09:43:40 +10:00
Nyall Dawson
2cc9bc8f73 [processing] Fix unexpected newlines showing in python command in history dialog 2018-07-03 09:43:40 +10:00
Nyall Dawson
1621402652 [processing] Fix exception when clicking alg with distance param in history dialog 2018-07-03 09:43:40 +10:00
Martin Dobias
80b0c72c50 Fix a Python error in Processing GUI
It turns out that an empty QComboBox evaluates to False:

>>> t=QLineEdit()
>>> bool(t)
True
>>> c=QComboBox()
>>> bool(c)
False

Due to that, the 'TABLE' parameter was missing if its (editable) combo box was empty.

Original error - while updating an algorithm's parameters (gdal:importvectorintopostgisdatabaseavailableconnections)

Traceback (most recent call last):
  File "/home/martin/qgis/git-master/build-debug/output/python/plugins/processing/algs/gdal/GdalAlgorithmDialog.py", line 121, in parametersHaveChanged
    or (not p.checkValueIsAcceptable(parameters[p.name()])):
KeyError: 'TABLE'
2018-06-22 13:30:26 +02:00
Alexander Bruy
dcff720bb0 also use 1-dimensional table in modeler dialog (follow up 4b354984e8) 2018-06-14 09:35:11 +10:00
Nyall Dawson
6b24d8c6d7 [processing] Restore window geometry for fixed table editor dialog 2018-06-13 14:54:40 +10:00
Nyall Dawson
4e084b63c4 [processing] Fix exception when browsing for folder in processing
options for multiple folder settings
2018-06-11 15:16:11 +10:00
Luigi Pirelli
fa7879ade1 [processing] Correct management of optional rasters in batch mode. Fixes #19115 2018-06-05 11:53:52 +02:00
Nyall Dawson
e91aed6617 [processing] Force model outputs to respect constraints set by
their underlying algorithm's provider

E.g. for model outputs generated by a saga algorithm, only
sdat and shp files are valid outputs. So only give users choices
of these instead of all formats.

Also fixes temporary file names generated as part of model
execution may use formats which are not compatible with the
algorithm's provider.

Fixes #18908
2018-06-05 10:05:32 +10:00
Nyall Dawson
4b354984e8 [processing] Matrix parameter values are always 1-dimensional
Fix gui wrapper returns 2-dimensional parameters, which don't
match with the expectations of QgsProcessingParameterMatrix
2018-06-04 12:58:12 +10:00
Nyall Dawson
bd65fc607b [processing][gdal] Don't double quote output paths
Breaks for some drivers, e.g. KML

Fixes #18264
2018-06-01 18:21:41 +10:00
Nyall Dawson
60a87e9497 [processing] Fix error when creating tests and raster output
no longer exists

Fixes #16123
2018-06-01 16:20:12 +10:00
Nyall Dawson
950d042e72 [processing] Fix errors when filling parameters in batch panel
Fixes #18408
2018-06-01 15:55:11 +10:00
Matthias Kuhn
8cf7447a2c
Merge pull request #7124 from nyalldawson/fix_16428
[processing] Hopefully fix bad layout for docks in modeler
2018-05-31 09:49:07 +02:00
Nyall Dawson
1d62d106fb [processing] Don't hold on to algorithm instances for menu items
Instead, only store references to the algorithm id string, and
use this to retrieve algorithms when the actions are triggered.

This avoids errors caused by the algorithm instances being
removed, e.g. due to plugin removal or reload of providers
(e.g. by opening options dialog).

Fixes #19070
2018-05-31 15:28:12 +10:00
Nyall Dawson
59d425c5b0 [processing] Fix some incorrect formatting of algorithm titles 2018-05-31 15:27:51 +10:00
Nyall Dawson
db2c3d4986 [processing] Show search icon in search boxes 2018-05-31 12:51:53 +10:00
Nyall Dawson
aabbb307fa [processing] Fix clearing destination doesn't actually reset to temporary output
Even though the UI makes it look like it did
2018-05-30 07:45:34 +10:00
Nyall Dawson
ce2f7739e7 [processing] Correct text for temporary folder output 2018-05-30 07:45:34 +10:00
Nyall Dawson
d157b6e661 [processing] Fix destination folder param is not updated after
picking from the file dialog alone
2018-05-30 06:12:09 +10:00
Nyall Dawson
ff7c70fc87 [processing][gdal] Fix gdal command does not automatically update
when destination value is changed
2018-05-29 22:21:31 +10:00
Nyall Dawson
870d20740c [processing] Tweaks and checks for checkParameterValues 2018-05-28 16:02:38 +10:00