604 Commits

Author SHA1 Message Date
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
23aa83c23e Add unit tests, minor fixes 2020-03-06 03:49:16 +10:00
Nyall Dawson
64868ce8f2 Bit more Python to c++ porting 2020-03-06 03:49:16 +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
03fc03355d Don't lose properties of existing outputs when editing algorithm 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
d79fed41ce Indentation 2020-03-05 18:55:20 +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
ef8f26e3a7 Much simpler code for determining linked parameters in modeler 2020-03-05 18:55:20 +10:00
Nyall Dawson
0fff9338bb Remove exception which is never raised 2020-03-05 18:55:20 +10:00
Nyall Dawson
d8eb0efc06 Add missing changed signal emissions 2020-03-05 18:55:20 +10:00
Nyall Dawson
5c44441cd3 Move some modeler scene code to c++, avoid hard link between scene
and dialog
2020-03-05 18:55:20 +10:00
Nyall Dawson
7d0b476fa7 Move almost all the remaining Python code for model graphic items to c++
Only minimal shells of objects are left in Python now, the bare minimum
required because they call objects which depend on Python compatibility
for deprecated API calls...
2020-03-04 07:19:00 +10:00
Nyall Dawson
d80bdd3371 Move last part of ModelerGraphicItem to c++, generalize handling of
folding buttons
2020-03-04 07:19:00 +10:00
Nyall Dawson
b9edcbd162 Move responsibility for painting model components to c++ 2020-03-04 07:19:00 +10:00
Nyall Dawson
d34c01350f Port model arrow item to c++ 2020-03-03 16:08:23 +10:00
Nyall Dawson
b624d3d5d6 Move logic for calculation of linkage points for model items to C++ 2020-03-03 16:08:23 +10:00
Nyall Dawson
a38f0cbbd4 Move another method to c++ 2020-03-02 18:53:31 +10:00
Nyall Dawson
1bf51a4fbb Move item state handling to c++ 2020-03-02 18:53:31 +10:00
Nyall Dawson
2f8dbacc87 Move more functionality to c++ base class 2020-03-02 18:53:31 +10:00
Nyall Dawson
0dbb082dfd Move designer edit buttons to c++ 2020-03-02 18:53:31 +10:00
Nyall Dawson
8f6a6111d2 Use actual component sizes when drawing model instead of hardcoded values
(still not user-setable!)
2020-03-02 18:53:31 +10:00
Nyall Dawson
6c98448a7f Use signals to avoid storing arrows in graphic item 2020-03-02 18:53:31 +10:00
Nyall Dawson
0df4e35a02 Use subclasses instead of instance checking for component type
specific logic
2020-03-02 18:53:31 +10:00
Nyall Dawson
fe4352c236 Use signals to avoid hard dependancy between component graphic items and scene 2020-03-02 18:53:31 +10:00
Nyall Dawson
1d25155d15 Rework hiding of model controls to use a flag on the scene 2020-03-02 18:53:31 +10:00
Nyall Dawson
b567ddeccd Move model storage for graphic items to c++ base class 2020-03-02 18:53:31 +10:00
Nyall Dawson
167a8d3846 Less Python, more c++ 2020-03-02 18:53:31 +10:00
Nyall Dawson
72d7305456 Start using c++ base clases in model designer 2020-03-02 18:53:31 +10:00
Nyall Dawson
16841efa7e Start moving base classes to c++ 2020-03-02 18:53:31 +10:00
Nyall Dawson
cd6d51181b [processing] Port some model designer graphic item internals to c++
for stability and re-usability from c++ code
2020-03-01 19:12:25 +10:00
Nyall Dawson
58cabe6bfc Revert "Use a font size in points, not pixels, for hi-dpi compatibility"
This reverts commit ac412e38adb6abc9d113657f8466b3a833a6e546.
2020-03-01 19:12:25 +10:00
Nyall Dawson
ac412e38ad Use a font size in points, not pixels, for hi-dpi compatibility 2020-02-29 07:52:08 +10:00
Nyall Dawson
1924d82517 Don't use constants for model graphic item sizes
Allows flexibility for items to have different sizes (not currently user-settable!)
2020-02-29 07:52:08 +10:00
Nyall Dawson
435599a42b [processing] Avoid redefining model element size multiple times, don't
hardcode font name (instead use correct theme font)
2020-02-29 07:52:08 +10:00
Nyall Dawson
0391e17551 [processing] Fix cannot edit/delete/export project based models
Fixes #34627
2020-02-25 18:15:18 +10:00
Radoslaw Guzinski
550c8bf341 [Processing] Fix isEnabled check for modeler context menu actions
This aligns the check with Processing scripts context menu actions and allows subclasses of QgsProcessingModelAlgorithm to register their own actions.
2020-02-13 08:39:44 +10:00
Nyall Dawson
5ae9807303 [processing] Fix modeler draws lines to wrong output when connecting
the green output boxes back to their linked algorithms
2020-02-01 05:59:22 +10:00
Nyall Dawson
d1d7dfe497 [processing] When listing available layer sources for an input in the
model designer, prefer to show the user's defined name for that output
instead of the generic one

Makes it easier to associate inputs with the correct outputs when
creating models
2020-01-31 07:33:44 +10:00
Nyall Dawson
b8b668888c Allow algorithms to link to multiple depandant parameters in modeler scene 2019-12-21 05:07:39 +10:00
Andrea Giudiceandrea
7903889f54 Modeler: Set default action to Export as Script Algorithm
otherwise the button tooltip is not shown
2019-09-30 09:48:30 +10:00
Nyall Dawson
e05572a11d Port file parameter definition widget to new APi 2019-07-08 15:07:42 +10:00
Nyall Dawson
b8e53dc012 Add missing visual links between layout and layout item parameters in models 2019-07-01 17:01:34 +10:00
Nyall Dawson
a9788339ea Port an item type which has a parent parameter choice (layout items) for reference 2019-07-01 17:01:34 +10:00
Nyall Dawson
d83997c490 Port string parameter to new config widget 2019-07-01 17:01:34 +10:00
Nyall Dawson
477d3b1f1a Port boolean widget config dialog to new API 2019-07-01 17:01:34 +10:00