mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-15 00:04:00 -04:00
[processing] fixed issue in modeler with hidden params
This commit is contained in:
parent
28659b6164
commit
1e4d6a9a73
@ -176,6 +176,7 @@ class ModelerAlgorithm(GeoAlgorithm):
|
||||
# parsing this
|
||||
pass
|
||||
for param in alg.parameters:
|
||||
if not param.hidden:
|
||||
line = lines.readline().strip('\n').strip('\r')
|
||||
if line == str(None):
|
||||
algParams[param.name] = None
|
||||
@ -186,6 +187,7 @@ class ModelerAlgorithm(GeoAlgorithm):
|
||||
tokens[1])
|
||||
outputPos = {}
|
||||
for out in alg.outputs:
|
||||
if not out.hidden:
|
||||
line = lines.readline().strip('\n').strip('\r')
|
||||
if str(None) != line:
|
||||
if '|' in line:
|
||||
@ -467,12 +469,14 @@ class ModelerAlgorithm(GeoAlgorithm):
|
||||
else:
|
||||
s += str(None) + '\n'
|
||||
for param in alg.parameters:
|
||||
if not param.hidden:
|
||||
value = self.algParameters[i][param.name]
|
||||
if value:
|
||||
s += value.serialize() + '\n'
|
||||
else:
|
||||
s += str(None) + '\n'
|
||||
for out in alg.outputs:
|
||||
if not out.hidden:
|
||||
value = self.algOutputs[i][out.name]
|
||||
s += unicode(value)
|
||||
if value is not None:
|
||||
@ -489,6 +493,7 @@ class ModelerAlgorithm(GeoAlgorithm):
|
||||
|
||||
def prepareAlgorithm(self, alg, iAlg):
|
||||
for param in alg.parameters:
|
||||
if not param.hidden:
|
||||
aap = self.algParameters[iAlg][param.name]
|
||||
if aap is None:
|
||||
if isinstance(param, ParameterExtent):
|
||||
@ -519,6 +524,7 @@ class ModelerAlgorithm(GeoAlgorithm):
|
||||
raise GeoAlgorithmExecutionException('Wrong value: '
|
||||
+ str(value))
|
||||
for out in alg.outputs:
|
||||
if not out.hidden:
|
||||
val = self.algOutputs[iAlg][out.name]
|
||||
if val:
|
||||
name = self.getSafeNameForOutput(iAlg, out)
|
||||
|
@ -29,13 +29,13 @@ import codecs
|
||||
import pickle
|
||||
from PyQt4.QtCore import *
|
||||
from PyQt4.QtGui import *
|
||||
|
||||
from processing.core.ProcessingConfig import ProcessingConfig
|
||||
from processing.core.GeoAlgorithm import GeoAlgorithm
|
||||
from processing.gui.HelpEditionDialog import HelpEditionDialog
|
||||
from processing.gui.ParametersDialog import ParametersDialog
|
||||
from processing.gui.AlgorithmClassification import AlgorithmDecorator
|
||||
from processing.modeler.ModelerParameterDefinitionDialog import \
|
||||
ModelerParameterDefinitionDialog
|
||||
from processing.modeler.ModelerParameterDefinitionDialog import ModelerParameterDefinitionDialog
|
||||
from processing.modeler.ModelerAlgorithm import ModelerAlgorithm
|
||||
from processing.modeler.ModelerParametersDialog import ModelerParametersDialog
|
||||
from processing.modeler.ModelerUtils import ModelerUtils
|
||||
@ -54,7 +54,6 @@ class ModelerDialog(QDialog, Ui_DlgModeler):
|
||||
def __init__(self, alg=None):
|
||||
QDialog.__init__(self)
|
||||
|
||||
self.hasChanged = False
|
||||
self.setupUi(self)
|
||||
|
||||
self.setWindowFlags(Qt.WindowMinimizeButtonHint |
|
||||
@ -162,6 +161,7 @@ class ModelerDialog(QDialog, Ui_DlgModeler):
|
||||
self.textGroup.setText(alg.group)
|
||||
self.textName.setText(alg.name)
|
||||
self.repaintModel()
|
||||
|
||||
else:
|
||||
self.alg = ModelerAlgorithm()
|
||||
|
||||
@ -172,6 +172,8 @@ class ModelerDialog(QDialog, Ui_DlgModeler):
|
||||
# closing this dialog
|
||||
self.update = False
|
||||
|
||||
self.hasChanged = False
|
||||
|
||||
def changeModel(self):
|
||||
self.hasChanged = True
|
||||
|
||||
|
@ -251,6 +251,7 @@ class ModelerGraphicItem(QtGui.QGraphicsItem):
|
||||
i = 1
|
||||
if not self.inputFolded:
|
||||
for param in self.element.parameters:
|
||||
if not param.hidden:
|
||||
text = self.getAdjustedText(param.description)
|
||||
h = -(fm.height() * 1.2) * (i + 1)
|
||||
h = h - ModelerGraphicItem.BOX_HEIGHT / 2.0 + 5
|
||||
@ -265,6 +266,7 @@ class ModelerGraphicItem(QtGui.QGraphicsItem):
|
||||
painter.drawText(pt, 'Out')
|
||||
if not self.outputFolded:
|
||||
for out in self.element.outputs:
|
||||
if not out.hidden:
|
||||
text = self.getAdjustedText(out.description)
|
||||
h = fm.height() * 1.2 * (i + 1)
|
||||
h = h + ModelerGraphicItem.BOX_HEIGHT / 2.0
|
||||
@ -295,7 +297,6 @@ class ModelerGraphicItem(QtGui.QGraphicsItem):
|
||||
|
||||
def getLinkPointForOutput(self, outputIndex):
|
||||
if isinstance(self.element, GeoAlgorithm):
|
||||
numParams = 0
|
||||
outputIndex = (outputIndex if not self.outputFolded else -1)
|
||||
text = self.getAdjustedText(
|
||||
self.element.outputs[outputIndex].description)
|
||||
|
@ -138,15 +138,13 @@ class ModelerScene(QtGui.QGraphicsScene):
|
||||
params = model.algParameters[iAlg]
|
||||
idx = 0
|
||||
for parameter in alg.parameters:
|
||||
if not parameter.hidden:
|
||||
param = params[parameter.name]
|
||||
if param:
|
||||
sourceItems = self.getItemsFromAAP(param,
|
||||
isinstance(
|
||||
alg.getParameterFromName(parameter.name),
|
||||
ParameterMultipleInput))
|
||||
isinstance(alg.getParameterFromName(parameter.name), ParameterMultipleInput))
|
||||
for sourceItem in sourceItems:
|
||||
arrow = ModelerArrowItem(sourceItem[0], sourceItem[1],
|
||||
self.algItems[iAlg], idx)
|
||||
arrow = ModelerArrowItem(sourceItem[0], sourceItem[1], self.algItems[iAlg], idx)
|
||||
self.addItem(arrow)
|
||||
idx += 1
|
||||
for depend in model.dependencies[iAlg]:
|
||||
|
Loading…
x
Reference in New Issue
Block a user