Skip to content

Commit b01d3b0

Browse files
committedSep 29, 2016
[processing] better update of expression widget when layer is changed in fields calculator
1 parent 5191d0c commit b01d3b0

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed
 

‎python/plugins/processing/algs/qgis/ui/FieldsCalculatorDialog.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -89,22 +89,21 @@ def manageGui(self):
8989

9090
self.builder.loadRecent('fieldcalc')
9191

92-
self.updateLayer()
92+
self.initContext()
9393

94-
def updateLayer(self):
95-
self.layer = dataobjects.getObject(self.cmbInputLayer.currentText())
96-
97-
self.builder.setLayer(self.layer)
98-
self.builder.loadFieldNames()
99-
100-
exp_context = QgsExpressionContext()
94+
def initContext(self):
95+
exp_context = self.builder.expressionContext()
10196
exp_context.appendScope(QgsExpressionContextUtils.globalScope())
10297
exp_context.appendScope(QgsExpressionContextUtils.projectScope())
10398
exp_context.appendScope(QgsExpressionContextUtils.layerScope(self.layer))
10499
exp_context.lastScope().setVariable("row_number", 1)
105100
exp_context.setHighlightedVariables(["row_number"])
106101
self.builder.setExpressionContext(exp_context)
107-
102+
103+
def updateLayer(self):
104+
self.layer = dataobjects.getObject(self.cmbInputLayer.currentText())
105+
self.builder.setLayer(self.layer)
106+
self.builder.loadFieldNames()
108107
self.populateFields()
109108

110109
def setupSpinboxes(self, index):

0 commit comments

Comments
 (0)
Please sign in to comment.