Matthias Kuhn
efff5f1670
[FEATURE] Add with_variable function
...
This function sets a variable for parts of an expression, therefore
avoiding to repeatedly recalculate complex values.
2017-07-07 12:59:43 +02:00
Matthias Kuhn
9581fe0a10
[FEATURE] Add snapping results to default value calculation
...
... as @snapping_results variable
2017-07-07 12:58:55 +02:00
Matthias Kuhn
632eca6079
Merge pull request #4795 from pblottiere/dynamicform
...
[FEATURE] Dynamic form for joined fields
2017-07-07 08:22:18 +02:00
Nyall Dawson
ac51ae106c
Add unit tests
2017-07-07 11:36:41 +10:00
Nyall Dawson
3ea70696f0
Add descriptions for model algorithm variables
2017-07-07 11:35:31 +10:00
Nyall Dawson
35e16b2f31
Add method for specifying variable description when adding to contexts
...
And use this description in expression builders when it's set.
2017-07-07 11:35:31 +10:00
Nyall Dawson
534844f999
Add function to return variables available for child algorithms during
...
model execution
And use this function to determine in advance dependencies between
child algorithm parameters with expression based values and
which other child algorithms they depend upon.
2017-07-07 11:35:31 +10:00
Nyall Dawson
82ef7d2a89
Create specific expression context scope for child algorithms
...
Contains variables for model parameters, algorithm results for
other child algorithms which are not dependent on the
algorithm.
Allows removal of final pieces of ModelerAlgorithm code
2017-07-07 11:35:31 +10:00
Nyall Dawson
d8086e549d
Use c++ method for available sources
2017-07-07 11:35:31 +10:00
Nyall Dawson
17199c8ffd
Reimplement getAvailableValuesOfType in QgsProcessingModelAlgorithm
2017-07-07 11:35:31 +10:00
Nyall Dawson
3243a1a34c
Allow model child parameters to take values from an expression
...
The expression is evaluated just before the child algorithm is
executed, so can utilise results already calculated by other
children in the model through the use of expression context
functions
2017-07-07 11:34:17 +10:00
Nyall Dawson
52f4c5e975
Merge pull request #4799 from nyalldawson/m2
...
Run processing algorithms using task manager
2017-07-07 11:31:22 +10:00
Nyall Dawson
2c91df4c12
Expand on docs
2017-07-07 10:14:51 +10:00
Nyall Dawson
da02c9a7ba
Fix deadlock when running algs in task manager and python exception occurs
2017-07-07 09:28:20 +10:00
Nyall Dawson
70cc19687d
Add a method to take result layers (and ownership) from processing context
2017-07-07 09:28:20 +10:00
Nyall Dawson
3cbcd75d2f
Add equality operator for QgsProcessingFeatureSourceDefinition
2017-07-07 09:28:19 +10:00
Nyall Dawson
8a84e134cc
Algorithms don't have to be split to prepare/process/postProcess
...
Since it's safe to evaluate parameters in background threads
now, it's usually going to be ok to evaluate everything in
the processAlgorithm step.
This keeps the algorithm code as simple as possible, and will
make porting faster.
Note that the prepare/postProcess virtual methods still exist
and can be used when an algorithm MUST do setup/cleanup work
in the main thread.
2017-07-07 09:28:19 +10:00
Nyall Dawson
e1184cd69a
Make QgsProcessingAlgRunnerTask work correctly
...
It now safely can execute algorithms in background threads
without issues
2017-07-07 09:28:19 +10:00
Nyall Dawson
e5b156b86a
Make processing algorithms safe to run in threads
2017-07-07 09:28:19 +10:00
Nyall Dawson
5350483c90
Add method to take results from another processing context and
...
add to the current context
With appropriate note and tests to ensure that both the current
context and that which the results being taken from share the
same thread affinity
2017-07-07 09:28:19 +10:00
Nyall Dawson
d20c68d3f1
Add method to copy thread safe settings between processing contexts
2017-07-07 09:28:19 +10:00
Nyall Dawson
6c6f646291
Add methods to retrieve current thread affinity and push contexts
...
to another thread
With suitable assert in place to ensure that pushes are only
made when current thread == existing thread affinity
2017-07-07 09:27:35 +10:00
Nyall Dawson
1dce459610
Add method to transfer all layers from one map store to another
...
With a note and assert that both stores must have the same
thread affinity
2017-07-07 09:27:35 +10:00
Nyall Dawson
e0c7daa2d8
Rename QgsProcessingAlgorithm::clone to ::create
...
Since it better describes what the function does. It returns a new
pristine copy of the algorithm, not a clone of its current state
2017-07-07 09:27:35 +10:00
Nyall Dawson
c2621b1275
Split algorithm execution into separate prepare/process/postProcess steps
...
The prepare and postProcess steps are designed to be run in main
thread only, while the process step can safely be run in a background
thread.
2017-07-07 09:26:17 +10:00
Nyall Dawson
0c6b19cd85
Improvements to QgsProcessingAlgRunnerTask
...
- take a clone of algs before running them. This avoids issues
if the algorithm is removed or edited while a background task
is running
- accept an optional existing feedback object
2017-07-07 09:26:17 +10:00
Nyall Dawson
9156933c9e
Add a pure virtual clone method for algorithms
...
This is required for safely executing the algorithm in a background
thread.
2017-07-07 09:26:17 +10:00
Nyall Dawson
fcf336170e
Merge branch 'bugfix_relationquote' of https://github.com/pblottiere/QGIS into pblottiere-bugfix_relationquote
2017-07-07 08:59:19 +10:00
Nyall Dawson
bacad8cea6
[needs-docs] Show recently used fonts in submenu in font button
2017-07-06 19:56:39 +10:00
Nyall Dawson
5ac9745cad
Add methods to convert QFont to/from mime data
2017-07-06 19:56:39 +10:00
Nyall Dawson
0b9fb5d6e1
[needs-docs] New gui widget QgsFontButton
...
A standard widget for configuring text format properties for use
with QgsTextRenderer/QgsTextFormat.
It's modelled heavily off QgsColorButton, and supports lots of nice
things like dragging formats between buttons, copying and pasting
format settings, dropping colors from color buttons, dragging colors
from font buttons to color buttons, directly setting font size
and opacity/color without having to open a dialog.
2017-07-06 19:56:39 +10:00
Nyall Dawson
ddf5acebe7
Merge pull request #4807 from nyalldawson/layout_item_registry
...
Create a layout item registry for item types
2017-07-06 19:12:43 +10:00
Blottiere Paul
15546d84cf
Add a method which builds an expression to test if a field is equal to a value
2017-07-05 18:40:08 +02:00
Denis Rouzaud
5b8e2c2f27
remove QgsVectorLayer::hasGeometryType in favor of QgsMapLayer::isSpatial
2017-07-05 10:18:32 +02:00
Nyall Dawson
6307bc490d
Merge pull request #4808 from nyalldawson/model_out_layer_names
...
Fix incorrect layer names used when loading result layers from models
2017-07-03 17:46:21 +10:00
Nyall Dawson
bdaba00a01
Fix incorrect layer names used when loading result layers from models
2017-07-03 17:08:52 +10:00
Harrissou Sant-anna
59e9f79658
ok is spelled OK
2017-07-03 08:49:50 +02:00
Nyall Dawson
ada01d8671
Fix build warnings
2017-07-03 15:00:00 +10:00
Nyall Dawson
7972092311
Update docs, sip
2017-07-03 14:21:40 +10:00
Nyall Dawson
c228132cbb
Layout designers listen out for new item types in registry and
...
auto create actions for adding new items of the newly registered type
This avoids hard-coding in available item types into layout UI classes,
and allows designers to handle plugin-supplied item types
2017-07-03 13:57:42 +10:00
Nyall Dawson
97e8d9cf9e
Emit signal when new layout item types are added to registry
2017-07-03 13:29:23 +10:00
Nyall Dawson
d23abf955a
Add registration of item types to QgsLayoutItemRegistry
2017-07-03 13:22:15 +10:00
Nyall Dawson
4f21afac0f
Shell layout designer dialog
2017-07-03 12:14:56 +10:00
Nyall Dawson
921939e4ec
Add method to determine whether dependencies exist between model parameters
2017-07-03 10:50:35 +10:00
Nyall Dawson
6483984d0b
Add method to retrieve dependent parameters for a parameter
2017-07-03 10:45:15 +10:00
Blottiere Paul
3e2d9c5445
Add consistency between ptrs and ref
2017-07-02 16:58:54 +02:00
Nyall Dawson
18b2b5240b
Add some base classes for layouts
2017-06-30 17:01:52 +10:00
Nyall Dawson
cd979d8ab0
[layout] Create a page size registry for layout
...
Adds a new QgsPageSize class and QgsPageSizeRegistry registry
(attached to QgsApplication), which stores and manages known
page sizes
2017-06-30 16:23:18 +10:00
Blottiere Paul
c6ffd54170
Joined fields are updated according to the target field name in form
2017-06-30 06:46:22 +01:00
Blottiere Paul
73bb463c05
[needs-doc] New option to update joined fields in form
2017-06-30 06:45:34 +01:00