249 Commits

Author SHA1 Message Date
Denis Rouzaud
0f032e5f2d run pre-commit on all files 2024-11-29 15:38:02 +01:00
Nyall Dawson
133bad76ee Move some model designer code to c++ 2024-04-21 06:46:35 +10:00
Nyall Dawson
763278f8ef Don't use removed QDesktopWidget 2024-02-13 08:13:43 +10:00
Nyall Dawson
e42abf7dc5 Update python files 2024-01-22 05:46:15 +10:00
Nyall Dawson
c16a1e2b3d Update enums 2024-01-19 19:44:48 +10:00
Julien Cabieces
9d12ae8e6d [PyQt6] Add scope for enums and get rid of PyQt5.XXX import
this has been done automatically with the following comand line

./scripts/3to4/3to4.py --only-qgis3-compatible-changes ./python/plugins/
./scripts/3to4/3to4.py --only-qgis3-compatible-changes ./tests/src/python/
2024-01-10 21:15:27 +10:00
Nyall Dawson
8df81beff0 Add a new processing log level for debugging models
At model debug log level we'll show all the generic
logs for step preparation, inputs and outputs for every
child algorithm, including those which we normally skip
(eg raise warnings/outputs, string concatenation, etc).
This gives model designers more useful information to
debug their models.

Use this new log level when running models through the
model designer window.
2023-08-25 15:02:52 +10:00
Etienne Trimaille
3cab3c43a2
Python - Run pyupgrade on the processing plugin 2023-04-24 10:03:57 +02:00
Nyall Dawson
f3132a8e10 [processing] Fix python script editor windows can get garbage collected
Fixes #52304
2023-03-20 16:06:24 +10:00
Nyall Dawson
dd89f3779a [processing] Always use the same method to launder names
Ultimately avoids forced removal of _ characters in model
parameter names
2022-03-30 15:41:23 +10:00
Nyall Dawson
d62d0b82e3 Port model help editor dialog to c++ 2022-02-28 17:33:49 +10:00
Nyall Dawson
fffc3a768b Don't show 'model was correctly saved' notification when saving models
We don't do this elsewhere (e.g. saving QGIS projects), and it makes
it sound like it's suprising that the save worked correctly..!
2022-02-28 17:33:36 +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
91ca892c34 Fix translation string 2022-02-05 11:05:51 +10:00
Nyall Dawson
7b9b486096 [processing] When "saving as" a model, if the model name originally
was a complete match for the old file name, then update the model
name for the saved as model to also match the NEW file name

E.g.

Scenario 1
- user has a model stored as "Save features.model3", named "Save
  features"
- user 'saves as' this model as "Delete features.model3"
- the model name is automatically updated to match the new file
name, i.e. "Delete features"

Scenario 2
- user has a model stored as "Save features.model3", named "Process
incoming features from API"
- user 'saves as' this model as "Save features v2.model3"
- the model name is NOT changed, and is left at the original
"Process incoming features from API" name
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
e748877a59 [processing] Fix initial directory shown in model open file dialogs
should be the users home file, or the last used model directory
2022-02-04 16:34:53 +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
Antoine
030bfd96b5 change the var with another 2021-09-27 16:13:20 +10: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
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
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
roya0045
5920ded609 invert logic 2021-01-05 18:24:06 +10:00
roya0045
d45b6144e4 add skip kwarg 2021-01-05 18:24:06 +10:00
Juergen E. Fischer
067e9254e7 translation string fixes 2020-04-24 16:30:45 +02:00
Nyall Dawson
acc68447c3 Validate models before running from designer, showing a summary of issues 2020-04-14 20:27:21 +10:00
Nyall Dawson
2dc07ee8f7 [processing] Show warnings in model designer message bar if algorithm
definition is incomplete/invalid after editing a child algorithm
2020-04-14 20:27:21 +10:00
Nyall Dawson
a80bdc47e5 [processing] Add API and interfaces so that widget wrappers can retrieve the
current set of parameters for other parameters when required
2020-04-04 17:58:55 +10:00
Nyall Dawson
3976e14ae8 Refine arrow API to allow control over whether arrows join to incoming or outgoing sides 2020-04-02 02:29:54 +10:00
Nyall Dawson
90a0a2d6a6 Fix exception when hiding comments 2020-04-01 18:20:09 +10:00
Nyall Dawson
f268b09d1b Also show child input values 2020-03-31 19:35:51 +10:00
Nyall Dawson
cb990c69c2 Setup framework for receiving model child results after running through model designer 2020-03-31 19:35:51 +10:00
Nyall Dawson
ef4344b674 Default to current layer when appropriate 2020-03-29 05:56:23 +10:00
Nyall Dawson
5149f0b6c7 Rebase fixes 2020-03-12 13:14:33 +10:00
Nyall Dawson
e3f1c576a9 Snapping api work 2020-03-12 13:14:33 +10:00
Nyall Dawson
4dd598fbb5 Also warn for unsaved changes when opening a model through the model designer 2020-03-11 08:39:54 +10:00
Nyall Dawson
e9c594d388 Make Model Designer window title follow app conventions
Show unsaved changes via * prefix, show model name in title

Also less Python, more c++
2020-03-11 08:39:54 +10:00
Nyall Dawson
e7b5c26696 [FEATURE][processing] Add undo/redo support to model designer
Makes QGIS more forgiving for users!

Sponsored by NRCan
2020-03-11 08:39:54 +10:00
Nyall Dawson
56610002e3 Identation 2020-03-06 18:22:49 +10:00
Nyall Dawson
0b3f7a58c1 Hookup toggle to hide comments from model designer 2020-03-06 18:22:49 +10:00
Nyall Dawson
08b47a496b Fix missing icon, less Python 2020-03-06 18:22:49 +10:00
Nyall Dawson
b84bf68dab Bit less Python 2020-03-06 18:22:49 +10:00
Nyall Dawson
8845b535c5 More c++ ports 2020-03-06 18:22:49 +10:00
Nyall Dawson
df7dd5ba90 More model dialog Python -> c++ ports 2020-03-06 18:22:49 +10:00
Nyall Dawson
a0e6a374eb Port some more model designer Python code to c++ 2020-03-06 18:22:49 +10:00
Nyall Dawson
eefd04cbc1 Start creation of a c++ base class for modeler dialog 2020-03-06 18:22:49 +10:00
Nyall Dawson
93355082a2 Add a menu bar to model designer 2020-03-06 18:22:49 +10:00
Nyall Dawson
2a1bf56493 [FEATURE][processing] Remember parameter values between model designer runs
When designing a model, users typically will need to run the model
many times as they tweak its structure.

This change causes the parameters used when running the model from
the designer to be remembered and saved into the model, so that
each time you run the model from the designer you don't have to
re-set all the input parameter values to the desired test ones.

Makes iterative model design SO much easier!

Sponsored by Alta Ehf
2020-03-06 18:22:49 +10:00
Nyall Dawson
961557dacd UX improvements for comment editing 2020-03-06 03:49:16 +10:00
Nyall Dawson
70731d82d5 Port most of the remaining ModelerScene code to c++
ModelerScene is now a shell class, implementing the bare minimum
required for older Python API compatibility
2020-03-05 18:55:20 +10:00