1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- from typing import Dict, Optional, List, Set
- from PyQt5.QtCore import QObject, pyqtSlot
- from UM.Util import parseBool
- from cura.Machines.ContainerNode import ContainerNode
- class QualityGroup(QObject):
- def __init__(self, name: str, quality_type: str, parent = None) -> None:
- super().__init__(parent)
- self.name = name
- self.node_for_global = None
- self.nodes_for_extruders = {}
- self.quality_type = quality_type
- self.is_available = False
- self.is_experimental = False
- @pyqtSlot(result = str)
- def getName(self) -> str:
- return self.name
- def getAllKeys(self) -> Set[str]:
- result = set()
- for node in [self.node_for_global] + list(self.nodes_for_extruders.values()):
- if node is None:
- continue
- container = node.getContainer()
- if container:
- result.update(container.getAllKeys())
- return result
- def getAllNodes(self) -> List[ContainerNode]:
- result = []
- if self.node_for_global is not None:
- result.append(self.node_for_global)
- for extruder_node in self.nodes_for_extruders.values():
- result.append(extruder_node)
- return result
- def setGlobalNode(self, node: "ContainerNode") -> None:
- self.node_for_global = node
-
- is_experimental = parseBool(node.getMetaDataEntry("is_experimental", False))
- self.is_experimental |= is_experimental
- def setExtruderNode(self, position: int, node: "ContainerNode") -> None:
- self.nodes_for_extruders[position] = node
-
- is_experimental = parseBool(node.getMetaDataEntry("is_experimental", False))
- self.is_experimental |= is_experimental
|