Class: QgsProcessingParameterWidgetFactoryInterface

class qgis.gui.QgsProcessingParameterWidgetFactoryInterface

Bases: sip.wrapper

An interface for Processing widget wrapper factories.

Widget wrapper factories allow creation of QgsAbstractProcessingParameterWidgetWrapper objects. They are centrally managed by QgsProcessingGuiRegistry. Usually, individual factories are not directly utilized, rather the QgsGui.processingGuiRegistry()->:py:func:~QgsAbstractProcessingParameterWidgetWrapper.createParameterWidgetWrapper method is used to create widget wrappers.

New in version 3.4:

Methods

compatibleDataTypes

Returns a list of compatible Processing data types for inputs for this widget for the specified parameter.

compatibleOutputTypes

Returns a list of compatible Processing output types for inputs for this parameter.

compatibleParameterTypes

Returns a list of compatible Processing parameter types for inputs for this parameter.

createModelerWidgetWrapper

Creates a new modeler parameter widget for the given parameter.

createParameterDefinitionWidget

Creates a new parameter definition widget allowing for configuration of an instance of the parameter type handled by this factory.

createWidgetWrapper

Creates a new widget wrapper for the specified parameter definition.

modelerExpressionFormatString

Returns the expected expression format string for expression results for the parameter within model child algorithms.

parameterType

Returns the type string for the parameter type the factory is associated with.

compatibleDataTypes(self, parameter: QgsProcessingParameterDefinition) List[int]

Returns a list of compatible Processing data types for inputs for this widget for the specified parameter.

In order to determine the available sources for the parameter in a model the types returned by this method are checked. The returned list corresponds to the various available values from QgsProcessing.SourceType.

Subclasses should return a list of all QgsProcessing.SourceType values which can be used as values for the parameter.

Parameters

parameter (QgsProcessingParameterDefinition) –

Return type

List[int]

compatibleOutputTypes(self) List[str]

Returns a list of compatible Processing output types for inputs for this parameter.

In order to determine the available sources for the parameter in a model the types returned by this method are checked. The returned list corresponds to the various available values for QgsProcessingOutputDefinition.type().

Subclasses should return a list of all QgsProcessingOutputDefinition.type() values which can be used as values for the parameter.

Return type

List[str]

compatibleParameterTypes(self) List[str]

Returns a list of compatible Processing parameter types for inputs for this parameter.

In order to determine the available sources for the parameter in a model the types returned by this method are checked. The returned list corresponds to the various available values for QgsProcessingParameterDefinition.type().

Subclasses should return a list of all QgsProcessingParameterDefinition.type() values which can be used as input values for the parameter.

Return type

List[str]

createModelerWidgetWrapper(self, model: QgsProcessingModelAlgorithm, childId: str, parameter: QgsProcessingParameterDefinition, context: QgsProcessingContext) QgsProcessingModelerParameterWidget

Creates a new modeler parameter widget for the given parameter. This widget allows configuration of the parameter’s value when used inside a Processing model.

The ID of the child algorithm within the model must be specified via the childId argument. This value corresponds to the QgsProcessingModelChildAlgorithm.childId() string, which uniquely identifies which child algorithm the parameter is associated with inside the given model.

A Processing context must also be specified, which allows the widget to resolve parameter values which are context dependent. The context must last for the lifetime of the widget.

Parameters
Return type

QgsProcessingModelerParameterWidget

createParameterDefinitionWidget(self, context: QgsProcessingContext, widgetContext: QgsProcessingParameterWidgetContext, definition: QgsProcessingParameterDefinition = None, algorithm: QgsProcessingAlgorithm = None) QgsProcessingAbstractParameterDefinitionWidget

Creates a new parameter definition widget allowing for configuration of an instance of the parameter type handled by this factory.

The context argument must specify a Processing context, which will be used by the widget to evaluate existing definition properties such as default values. Similarly, the widgetContext argument specifies the wider GUI context in which the widget will be used.

The optional definition argument may specify a parameter definition which should be reflected in the initial state of the returned widget. Subclasses must ensure that they correctly handle both the case when a initial definition is passed, or when definition is None (in which case sensible defaults should be shown in the returned widget).

Additionally, the optional algorithm parameter may be used to specify the algorithm or model associated with the parameter.

If a factory subclass returns None for this method (i.e. as the base class implementation does), it indicates that the parameter type cannot be configured via GUI. In this case the parameter type will not be configurable when users add it as an input to their graphical models.

New in version 3.10.

Parameters
Return type

QgsProcessingAbstractParameterDefinitionWidget

createWidgetWrapper(self, parameter: QgsProcessingParameterDefinition, type: QgsProcessingGui.WidgetType) QgsAbstractProcessingParameterWidgetWrapper

Creates a new widget wrapper for the specified parameter definition.

The type argument indicates the dialog type to create a wrapper for.

Parameters
Return type

QgsAbstractProcessingParameterWidgetWrapper

modelerExpressionFormatString(self) str

Returns the expected expression format string for expression results for the parameter within model child algorithms.

This is shown in modeler widget wrappers when using the “pre-calculated” expression mode, and should give helpful text to users to indicate the expected results from the expression.

This is purely a text format and no expression validation is made against it.

Return type

str

parameterType(self) str

Returns the type string for the parameter type the factory is associated with.

Return type

str