586 Commits

Author SHA1 Message Date
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
Nyall Dawson
63d648738d [processing][needs-docs] By default, hide algorithms with known issues from toolbox
And add a Processing setting to allow these to be shown. When shown, they
are highlighted in red with a tooltip explaining that the algorithm
has known issues
2019-03-06 06:33:06 +10:00
Nyall Dawson
c1cc2b53d9 Fix qt warning on opening modeler dialog 2019-03-05 14:44:02 +10:00
Nyall Dawson
723051b291 [processing] Fix initial zoom of models on hidpi displays
Fixes #16456
2019-03-05 14:44:02 +10:00
Nyall Dawson
8154008daf [processing] Fix items are not correctly placed in model designer
when view is not set to top-left of model scene
2019-03-05 14:44:02 +10:00
Nyall Dawson
30f786c129 [processing] Fix crashes and random behavior after dropping algorithms
to model designer

Also fixes drag and drop within the algorithm parameter dialog and
the qt warnings thrown during these operations
2019-03-05 14:44:02 +10:00
Nyall Dawson
dab4a04309 [processing] Draw arrows connected to selected/hovered components
slightly darker

Makes it easier to track connections in a complex model
2019-03-01 15:39:49 +10:00
Nyall Dawson
2178e1a71a [processing] Pre-highlight model components on hover 2019-03-01 15:39:49 +10:00
Nyall Dawson
93de4d15a6 [processing] Show tooltips in modeler when hovering over model component 2019-03-01 15:39:49 +10:00