6464from processing .gui .wrappers import InvalidParameterValue
6565from processing .gui .MultipleInputPanel import MultipleInputPanel
6666from processing .tools .dataobjects import createContext
67+ from processing .gui .wrappers import WidgetWrapper
6768
6869
6970class ModelerParametersDialog (QDialog ):
@@ -78,6 +79,8 @@ def __init__(self, alg, model, algName=None, configuration=None):
7879 self .configuration = configuration
7980 self .context = createContext ()
8081
82+ self .widget_labels = {}
83+
8184 self .setupUi ()
8285 self .params = None
8386 settings = QgsSettings ()
@@ -159,6 +162,7 @@ def setupUi(self):
159162 tooltip = param .description ()
160163 widget .setToolTip (tooltip )
161164 label = wrapper .label
165+ self .widget_labels [param .name ()] = label
162166
163167 if param .flags () & QgsProcessingParameterDefinition .FlagAdvanced :
164168 label .setVisible (self .showAdvanced )
@@ -231,8 +235,13 @@ def showAdvancedParametersClicked(self):
231235 self .advancedButton .setText (self .tr ('Show advanced parameters' ))
232236 for param in self ._alg .parameterDefinitions ():
233237 if param .flags () & QgsProcessingParameterDefinition .FlagAdvanced :
234- self .wrappers [param .name ()].widget .setVisible (self .showAdvanced )
235- self .wrappers [param .name ()].label .setVisible (self .showAdvanced )
238+ wrapper = self .wrappers [param .name ()]
239+ if issubclass (wrapper .__class__ , QgsProcessingModelerParameterWidget ):
240+ wrapper .setVisible (self .showAdvanced )
241+ else :
242+ wrapper .widget .setVisible (self .showAdvanced )
243+
244+ self .widget_labels [param .name ()].setVisible (self .showAdvanced )
236245
237246 def getAvailableValuesOfType (self , paramType , outTypes = [], dataTypes = []):
238247 # upgrade paramType to list
0 commit comments