191 Commits

Author SHA1 Message Date
Alexander Bruy
0f2d2bc360 allow changing number of threads through the algorithm settings panel 2023-04-25 05:41:04 +10:00
Nyall Dawson
cce5cc28f0 Spelling 2023-04-24 13:09:46 +10:00
Nyall Dawson
45d891870a Port history dialog to c++ 2023-04-24 13:09:46 +10:00
Nyall Dawson
4c778193c9 Address review 2023-04-23 18:12:14 +10:00
Nyall Dawson
f794b17fa4 [processing] Port functionality from history dialog to history
provider framework
2023-04-23 18:12:14 +10:00
Nyall Dawson
3c64bcc6a6 Fix false positive cppcheck pureVirtualCall warnings when pure
virtual functions are called as slots
2023-04-17 16:29:44 +10:00
Alex
5a0fba972e
[processing] Multilayer selection drop support
Adds drop support for layers in the multiple layer selection widgets to more efficiently select the desired elements. Especially useful in big project of with duplicated layer names.
2023-03-24 06:47:11 +10:00
Nyall Dawson
7cd6b616b1 Allow processing dialog to override default processing context settings 2023-03-17 05:59:15 +10:00
Julien Cabieces
d5505e329d Add missing Q_OBJECT macros and enable clazy check missing-qobject-macro 2022-07-13 08:24:23 +10:00
Nyall Dawson
092279e90d [feature] Run batch processing steps in tasks
Instead of forcing all steps in the batch processing dialog to execute
in the main thread, we now run each step as a separate task whenever
possible. This keeps the UI nice and responsive, and permits
responsive cancelation and progress reporting.

Individual steps are still run sequentially, not in parallel (yet!)
2022-03-15 11:44:08 +10:00
Nyall Dawson
d62d0b82e3 Port model help editor dialog to c++ 2022-02-28 17:33:49 +10:00
Nyall Dawson
8f34557037 [processing] When closing a model with unsaved changes, if the user
accepts the prompt to save the changes BUT then cancels the file dialog
asking for the destination file name, don't treat this as though the
user has opted to discard the model
2022-02-07 12:01:07 +10:00
Nyall Dawson
b5d2ebd696 Fix build 2022-02-05 11:05:51 +10:00
Nyall Dawson
a169055277 [processing] Improve UX when saving models
- When saving a model to a file, don't require that the model already
has a name entered. Instead, if no model name has been entered then
set the model name automatically to match the selected save filename.
E.g. if the user saves the model as "Process incoming features.model3",
then the model name will be set to "Process incoming features".
- When first saving a model, IF the user HAS already entered a model
name then make the default file name suggested by the dialog match
this model name
2022-02-05 11:05:51 +10:00
Nyall Dawson
91cf8954f4 [processing] Default to "Model Input" sources for map layer parameters
when configuring a new algorithm

While the previous behaviour of defaulting to a static value makes
sense for things like numeric parameters, this is a very rare use
case for map layer parameters. For better new user experience we can
default instead to showing model inputs for these parameter types.
2022-02-04 18:14:22 +10:00
Nyall Dawson
8486afbdd1 [processing] Fix model designer sometimes opens behind other windows 2022-02-04 16:34:53 +10:00
Nyall Dawson
5e5540c890 [processing] Port algorithm log to new history provider API
No user visible changes, but we gain the flexibility for better
history storage, including the ability to store the outputs
calculated by the algorithm execution...!
2021-12-21 15:32:57 +10:00
Nyall Dawson
86e94aed42 [feature] Add action to processing algorithm advanced menu to copy the
current settings as JSON and paste json settings from clipboard

The utility of this is two fold:

1. It provides a way for users to copy the settings defined in the
dialog in a text format, so they can store these easily and then
restore later by pasting the value

2. It provides an easy way for users to copy the settings into
the json format consumed by qgis_process (following
https://github.com/qgis/QGIS/pull/46497), so that it is easy
for users to see the expected format even for complex parameters
(like tin interpolation parameters)
2021-12-17 08:29:31 +10:00
Nyall Dawson
132294b3c9 Spelling 2021-12-16 11:15:34 +10:00
Nyall Dawson
eea2ba3d93 QgsProcessingAlgorithmDialogBase subclasses should also implement
the QgsProcessingContextGenerator interface
2021-12-16 11:15:34 +10:00
Nyall Dawson
03d0c573c4 Add mode enum for processing algorithm dialogs so that code can
determine if the single execution or batch execution dialog is shown
2021-12-16 11:15:34 +10:00
Nyall Dawson
86794dabdc Fix interface for QgsProcessingParametersGenerator was modified for
the python subclasses only and no longer correctly overrides the
base class method
2021-12-16 11:15:34 +10:00
Nyall Dawson
dcf0cfe5a3 Fix API issues causing malformed python stub files
Fixes #46240
2021-11-29 11:54:06 +10:00
Juergen E. Fischer
c6008b7ee1 fix MSVC build: reverts fee62e4, dff05dd and e3a77b9484c effectivly
reverting 3fb0f66 (followup #45348)

Using --no-public-is-protected (default on Windows) also works on Linux
and fixes #45331 too
2021-10-21 23:03:48 +02:00
nirvn
ef84e48a09 Run sipify_all.sh 2021-10-12 16:34:05 +10:00
Denis Rouzaud
a6645d9cba fix test + rebase 2021-10-12 16:34:05 +10:00
Denis Rouzaud
ec16736306 run sipify 2021-10-12 16:34:05 +10:00
nirvn
7a0fb2acdd [ui] Fix unmet expectation: when navigating the processing toolbox panel via keyboard, hitting return/enter should launch focused algorithm 2021-10-10 23:36:37 -07:00
Nyall Dawson
02266ef8e6 Rename Qgis::MessageLevel::None to NoLevel. None is a reserved
keyword in Python, so this value was previously inaccessible to PyQGIS
scripts

Also change all references to Qgis::MessageLevel values to their
fully qualified names, to ease a future transition to an enum
class (when sip bugs are fixed)

Fixes #42996
2021-05-30 10:36:01 +10:00
Nyall Dawson
eaf70803b0
Cleanup auto generated sip files and remove orphaned files (#43240) 2021-05-17 08:09:27 +02:00
Nyall Dawson
615b63e76d [processing] When configurating a field calculator algorithm in a model,
ensure that the correct expression context is set for the widget

Otherwise we don't see any of the available variables ready for
use in the calculation.

We need to do this manually after creating the widget, because the
context generator isn't set till after the widget is created, and
this particular widget configuration doesn't fetch the expression
context on demand.
2021-04-02 06:30:27 +10:00
Denis Rouzaud
ba8a445850 run sipify 2021-03-22 21:13:52 +01:00
Nyall Dawson
c8d61499ff [processing] Instead of a hidden parameter for verbose model logging,
add an explicit log level getter/setter to QgsProcessingContext which
algorithms can use to determine an appropriate level of feedback
to push to users.

Initially the verbose log only triggers the full verbose output
of model executions (which is also used when running models through
the model designer), but the intention is that more algorithms
will fine tune their output based on the logging level.

qgis_process also gains a new --verbose switch to enable verbose
log output.
2021-02-20 05:04:00 +10:00
Alessandro Pasotti
7b2fc4c1f8 More doxy nonsense, pt 2 2021-02-19 08:15:29 +10:00
Luigi Pirelli
2f7d6defee Added sanity check of links between graphicitems showing error in dialog. Fixes #40724 #39260 2021-02-11 11:47:28 +10:00
Nyall Dawson
50b9beaad6 [sipify] Catch more class references and insert :py:class: annotations 2021-01-31 05:41:22 +10:00
Nyall Dawson
814b65ba1c Cleaner approach -- create expression contexts in modeler parameter
definition dialogs using expression context and processing context
generators
2021-01-14 16:15:06 +10:00
nirvn
04b9c6ab00 [processing] Add a warning-level information message feedback 2020-12-07 14:15:35 +07:00
Nyall Dawson
cc0cfbe02b [processing] Also fix expression preview results in Aggregate algorithm 2020-07-24 10:26:17 +10:00
Nyall Dawson
1219f55378 [processing] Fix and improve how in place algorithm parameter widget
handles the input layer by creating a new QgsProcessingHiddenWidgetWrapper
wrapper subclass

Fixes #37424
2020-07-10 04:44:30 +10:00
Denis Rouzaud
044a05d828 run sipify 2020-06-19 08:47:23 +10:00
Nyall Dawson
81a9db9f57 [sipify] Fix creation of cross references 2020-06-15 13:43:58 +10:00
Nyall Dawson
d5a340f886 [processing] Port aggregates widget wrapper to c++
And add a TON of tests

Fixes #36843
2020-06-03 15:17:56 +10:00
Nyall Dawson
f0bb647c61 [processing] Add a stable way to get processing widgets to stretch vertically 2020-06-02 08:43:54 +10:00
Nyall Dawson
251dec51e8 [processing] Correctly close algorithm dialog when escape key pressed
Fixes #36777
2020-05-29 18:31:01 +10:00
gacarrillor
8a7feeddbb [processing] Destroy widgets from an algorithm dialog as soon as it is rejected 2020-05-18 09:28:55 +10:00
Martin Dobias
49f832a24d Added widget wrapper, added two separate algorithms (xyz + mbtiles) 2020-05-08 12:55:08 +02:00
olivierdalang
915b67ddb2
[processing modeler] Show arrowheads for parent/child relations 2020-04-17 08:49:46 +10:00
Nyall Dawson
05bc716827 Move model child algorithm dependencies selection widget to c++, make inline panel 2020-04-16 16:02:53 +10:00
Nyall Dawson
0558d64198 Add mechanism to show warning messages in modeler designer 2020-04-14 20:27:21 +10:00