130 Commits

Author SHA1 Message Date
Nyall Dawson
e788be93fa [processing][FEATURE] Add api for setting model component colors, and expose
the option to set manual colors for individual model 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
5963b90f2c [processing][FEATURE] After running a model through the model designer,
show the obtained values for all child algorithm outputs within the designer
canvas

This gives users better tools for debugging models - they can see exactly
what values were output by the child algorithms and flowed into other
parts of their model
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
e386573c0c [FEATURE][processing] Port multi-layer input parameter widget to new API
Allows
- expression based inputs
- rearrangement of inputs for multi-layer parameters in models, to set
specific layer orders
2020-03-31 01:06:48 +10:00
Nyall Dawson
a682405ccb [processing] Partial port of Multi Input parameter widget (standard and batch) 2020-03-31 01:06:48 +10:00
Nyall Dawson
6557865b05 [processing] Multi-selection widget can open inline
Affects enum choices and multi-field selection for now
2020-03-31 01:06:48 +10:00
Nyall Dawson
ef4344b674 Default to current layer when appropriate 2020-03-29 05:56:23 +10:00
Nyall Dawson
d40990e155 [feature][processing] Port Feature Source, Raster, Vector and Mesh Layer parameters to new API 2020-03-29 05:56:23 +10:00
Nyall Dawson
7269d682b3 [FEATURE][processing] Port map layer widget wrapper to new c++ api
This is a test run, after merged I'll port the other similar map layer
parameters (feature source, raster layer, vector layer, etc)
2020-03-28 12:04:43 +10:00
Nyall Dawson
b106e723e2 [processing] Accept drag and dropped paths for output parameter values
from either explorer or browser (if you want to write to an existing
path, it's a great shortcut!)
2020-03-26 11:56:59 +10:00
Nyall Dawson
9d0efd3354 Set widget context for QgsProcessingMapLayerComboBox 2020-03-26 11:55:45 +10:00
Nyall Dawson
9500020b0f Fix exception when opening gdal algorithms 2020-03-25 09:42:17 +10:00
Nyall Dawson
2913bebcff Make parameter panel a stacked panel 2020-03-25 09:42:17 +10:00
Nyall Dawson
3d6e4963f6 [processing] Move base class of ParametersPanel to c++ 2020-03-25 09:42:17 +10:00
Nyall Dawson
7bba9de2b9 Add a 'select all' action to model designer 2020-03-23 19:25:32 +10:00
Nyall Dawson
681d12e549 Tweak snapping logic, and add explicit action to "Snap Selected Components to Grid"
This is useful when a user doesn't want to enable the auto snapping, but wants to line
up stuff nicely by hand
2020-03-23 19:25:32 +10:00
gacarrillor
6fb84776c8 Ensure expected button order in QgsProcessingAlgorithmDialogBase 2020-03-23 11:37:50 +10:00
Matthias Kuhn
01c7cb1814
Merge pull request #34928 from gacarrillor/adjust_run_button_status_in_alg_dialog
[processing][needs-docs] Adjust status of controls executing an algorithm dialog
2020-03-18 14:42:52 +01:00
Nyall Dawson
7614de451e [processing] Constrain model item resizing to prevent items being resized
to a too small size
2020-03-18 15:00:30 +10:00
Nyall Dawson
06e663eccd Pixel perfect model rendering 2020-03-17 19:40:01 +10:00
Nyall Dawson
517aa9667b [processing] Port DestinationSelectionPanel to c++
This is basically a 1:1 port (+some fixes relating to incorrect signal
emissions and many more tests)
2020-03-17 07:24:40 +10:00
Nyall Dawson
fd65c2d05a Fix mouse handles go out of sync after moving items with cursor keys 2020-03-12 13:14:33 +10:00
Nyall Dawson
1e67ee42fa [FEATURE][processing] Add action to model designer to delete all selected components 2020-03-12 13:14:33 +10:00
Nyall Dawson
a82bd1decd Implement an ugly workaround due to QGraphicsScene lack of event
propagation
2020-03-12 13:14:33 +10:00
Nyall Dawson
4169c7bd68 Improved appearance of resized components 2020-03-12 13:14:33 +10:00
Nyall Dawson
3b61938e24 [FEATURE][processing] Allow interactive resizing of model components
Allows for components to be freely resized via the standard mouse controls
2020-03-12 13:14:33 +10:00
Nyall Dawson
d97f02420e Batch multi item move undo commands 2020-03-12 13:14:33 +10:00
Nyall Dawson
9044acd149 Start work on model designer mouse handles 2020-03-12 13:14:33 +10:00
Nyall Dawson
b7b4ef232a Fix multi item moves, avoid unnecessary scene rebuilds 2020-03-12 13:14:33 +10:00
Nyall Dawson
e3f1c576a9 Snapping api work 2020-03-12 13:14:33 +10:00
Nyall Dawson
b22e669bbd Multi item selection work 2020-03-12 13:14:33 +10:00
Nyall Dawson
bb82c12791 [processing] Start re-working model designer to use view tools
Based heavily on the layout designer approach, which is working well..
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
gacarrillor
0153dc805e [processing] Disable runAsBatch/runAsSingle buttons during algorithm execution 2020-03-07 17:16:03 -05:00
gacarrillor
237f1f7e2d [processing][needs-docs] Adjust status of controls in algorithm dialog
+ Run button is not shown anymore in the Log tab, therefore, you can only run algorithms from the Parameters tab.
  + While running an algorithm, the Parameters tab is now blocked.
  + When an algorithm execution finishes (either successfully or not), a new button Change Parameters is shown in the Log tab.
  + The Batch Algorithm Dialog is now consistent with the described behavior (before, it blocked the Parameters panel, but not the tab; and it was the only dialog blocking parameters widgets).

These changes were applied to the Algorithm Dialog and Batch Algorithm Dialog, and work on Edit in place dialogs as well.
2020-03-07 14:23:51 -05: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
0af98f9f5b Nicer comment text appearance 2020-03-06 03:49:16 +10:00
Nyall Dawson
961557dacd UX improvements for comment editing 2020-03-06 03:49:16 +10:00
Nyall Dawson
13fc85d740 [FEATURE][processsing] Add support for comments attached to components
This allows users to create comments attached to model components (inputs,
algorithms or outputs). Comments are shown linked to the associated component,
and can be freely moved around the model.
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
Nyall Dawson
9ba699ee1c Port more of modeler scene to c++ 2020-03-05 18:55:20 +10:00