544 Commits

Author SHA1 Message Date
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
Nyall Dawson
10d6a8a122 [processing][API] Add API to QgsProcessingGuiRegistry and QgsProcessingParameterWidgetFactoryInterface
to handle creation of parameter definition widgets

Previously, these configuration widgets were all hardcoded into the Python modeler
dialog. This prevented 3rd party, plugin provided, parameters from ever being full
first class citizens in QGIS, as there was no way to allow their use as inputs to
user created models to be customised.

Now, the registry is responsible for creating the configuration widget, allowing
for 3rd party parameter types to provide their own customised configuration
widgets.

Refs #26493
2019-07-01 17:01:34 +10:00
Alexander Bruy
ff24ab53ef outputs can not be advanced 2019-06-24 20:09:57 +10:00
Alexander Bruy
625cc01fc3 [processing][feature][needs-docs] allow to define model parameters as
advanced
2019-06-24 20:09:57 +10:00
Bas Couwenberg
2628c480c5 Don't include revision in sources.
Prevent changes to files that weren't changed between releases.
This eases review of the changes between releases significantly.
2019-05-17 16:47:47 +02:00
Nyall Dawson
32fbf0a92b [processing][FEATURE] New parameter type for map scales
This adds a new parameter type specifically for map scales,
QgsProcessingParameterScale. The values are evaluated using
self.parameterAsDouble, which returns the map scale
denominator (matching the standard in other parts of the
QGIS API).

Scale parameters are displayed to users using the standard
QgsScaleWidget, which includes the combo box of predefined
scales and a shortcut button to match the current map scale.
2019-03-13 16:52:29 +10:00
Nyall Dawson
021d1ef237 [FEATURE][processing] New parameter types for layouts and layout items
Allows processing algorithms which operate on a specific layout
and layout item selection
2019-03-12 08:16:52 +10:00
Nyall Dawson
5ec43cfdc1 [processing] Add project to QgsProcessingParameterWidgetContext 2019-03-12 08:16:52 +10:00
Nyall Dawson
82b186f00f [processing] Allow data type for numeric inputs to be specified 2019-03-11 08:05:07 +10:00
Nyall Dawson
9f6ddaf5c5 Fix qt warning on modeler algorithm edit 2019-03-11 08:05:07 +10:00
Nyall Dawson
cf43446885 [processing] Show parameter type in input definition dialog title 2019-03-11 08:05:07 +10:00