Class: QgsProcessingToolboxModelNode

Abstract base class for nodes contained within a QgsProcessingToolboxModel.

Warning

Not part of stable API and may change in future QGIS releases.

Added in version 3.4.

Note

This is an abstract class, with methods which must be implemented by a subclass.

The following methods must be implemented: nodeType()

Class Hierarchy

Inheritance diagram of qgis.gui.QgsProcessingToolboxModelNode

Base classes

QObject

Subclasses

QgsProcessingToolboxModelAlgorithmNode

Processing toolbox model node corresponding to an algorithm.

QgsProcessingToolboxModelFavoriteNode

Processing toolbox model node corresponding to the favorite algorithms group.

QgsProcessingToolboxModelGroupNode

Processing toolbox model node corresponding to a group of algorithms.

QgsProcessingToolboxModelParameterGroupNode

Processing toolbox model node corresponding to the parameter group.

QgsProcessingToolboxModelParameterNode

Processing toolbox model node corresponding to a parameter.

QgsProcessingToolboxModelProviderNode

Processing toolbox model node corresponding to a Processing provider.

QgsProcessingToolboxModelRecentNode

Processing toolbox model node corresponding to the recent algorithms group.

Enums

NodeType

Enumeration of possible model node types

Abstract Methods

nodeType

Returns the node's type.

Methods

addChildNode

Adds a child node to this node, transferring ownership of the node to this node.

children

Returns a list of children belonging to the node.

deleteChildren

Deletes all child nodes from this node.

getChildGroupNode

Tries to find a child node belonging to this node, which corresponds to a group node with the given group id.

parent

Returns the node's parent.

takeChild

Removes the specified node from this node's children, and gives ownership back to the caller.

class qgis.gui.QgsProcessingToolboxModelNode[source]

Bases: QObject

class NodeType(*values)

Bases: IntEnum

Enumeration of possible model node types

  • Provider: Provider node

    Available as QgsProcessingToolboxModelNode.NodeProvider in older QGIS releases.

  • Group: Group node

    Available as QgsProcessingToolboxModelNode.NodeGroup in older QGIS releases.

  • Algorithm: Algorithm node

    Available as QgsProcessingToolboxModelNode.NodeAlgorithm in older QGIS releases.

  • Recent: Recent algorithms node

    Available as QgsProcessingToolboxModelNode.NodeRecent in older QGIS releases.

  • Parameter: Parameter node,

    Added in version 3.44.

  • ParameterGroup: Parameter group node

    Added in version 3.44.

  • Favorite: Favorites algorithms node,

    Added in version 3.40.

addChildNode(self, node: QgsProcessingToolboxModelNode | None)[source]

Adds a child node to this node, transferring ownership of the node to this node.

Parameters:

node (Optional[QgsProcessingToolboxModelNode])

children(self) List[QgsProcessingToolboxModelNode]

Returns a list of children belonging to the node.

Return type:

List[QgsProcessingToolboxModelNode]

deleteChildren(self)[source]

Deletes all child nodes from this node.

getChildGroupNode(self, id: str | None) QgsProcessingToolboxModelGroupNode | None[source]

Tries to find a child node belonging to this node, which corresponds to a group node with the given group id. Returns None if no matching child group node was found.

Parameters:

id (Optional[str])

Return type:

Optional[QgsProcessingToolboxModelGroupNode]

abstract nodeType(self) QgsProcessingToolboxModelNode.NodeType[source]

Returns the node’s type.

Return type:

QgsProcessingToolboxModelNode.NodeType

parent(self) QgsProcessingToolboxModelNode | None[source]

Returns the node’s parent. If the node’s parent is None, then the node is a root node.

Return type:

Optional[QgsProcessingToolboxModelNode]

takeChild(self, node: QgsProcessingToolboxModelNode | None) QgsProcessingToolboxModelNode | None[source]

Removes the specified node from this node’s children, and gives ownership back to the caller.

Parameters:

node (Optional[QgsProcessingToolboxModelNode])

Return type:

Optional[QgsProcessingToolboxModelNode]