Skip to content

Commit 7f3640d

Browse files
committed
[processing] Fix evaluation of linked parameters in batch mode
e.g. missing fields after selecting a layer parameter
1 parent 2341fa8 commit 7f3640d

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

python/plugins/processing/gui/BatchPanel.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,15 @@
3636
QgsApplication,
3737
QgsSettings,
3838
QgsProcessingParameterDefinition)
39-
from qgis.gui import QgsProcessingParameterWidgetContext
39+
from qgis.gui import (QgsProcessingParameterWidgetContext,
40+
QgsProcessingContextGenerator)
4041
from qgis.utils import iface
4142

4243
from processing.gui.wrappers import WidgetWrapperFactory, WidgetWrapper
4344
from processing.gui.BatchOutputSelectionPanel import BatchOutputSelectionPanel
4445

4546
from processing.tools import dataobjects
47+
from processing.tools.dataobjects import createContext
4648

4749
pluginPath = os.path.split(os.path.dirname(__file__))[0]
4850

@@ -87,6 +89,19 @@ def __init__(self, parent, alg):
8789
self.tblParameters.horizontalHeader().setDefaultSectionSize(250)
8890
self.tblParameters.horizontalHeader().setMinimumSectionSize(150)
8991

92+
self.processing_context = createContext()
93+
94+
class ContextGenerator(QgsProcessingContextGenerator):
95+
96+
def __init__(self, context):
97+
super().__init__()
98+
self.processing_context = context
99+
100+
def processingContext(self):
101+
return self.processing_context
102+
103+
self.context_generator = ContextGenerator(self.processing_context)
104+
90105
self.initWidgets()
91106

92107
def layerRegistryChanged(self):
@@ -260,6 +275,7 @@ def setCellWrapper(self, row, column, wrapper, context):
260275
widget_context.setMapCanvas(iface.mapCanvas())
261276
wrapper.setWidgetContext(widget_context)
262277
widget = wrapper.createWrappedWidget(context)
278+
wrapper.registerProcessingContextGenerator(self.context_generator)
263279
else:
264280
widget = wrapper.widget
265281

0 commit comments

Comments
 (0)