123456789101112131415161718192021222324252627 |
- from UM.Scene.SceneNodeDecorator import SceneNodeDecorator
- from cura.Scene.CuraSceneNode import CuraSceneNode
- class BuildPlateDecorator(SceneNodeDecorator):
- """Make a SceneNode build plate aware CuraSceneNode objects all have this decorator."""
- def __init__(self, build_plate_number: int = -1) -> None:
- super().__init__()
- self._build_plate_number = build_plate_number
- self.setBuildPlateNumber(build_plate_number)
- def setBuildPlateNumber(self, nr: int) -> None:
- # Make sure that groups are set correctly
- # setBuildPlateForSelection in CuraActions makes sure that no single childs are set.
- self._build_plate_number = nr
- if isinstance(self._node, CuraSceneNode):
- self._node.transformChanged() # trigger refresh node without introducing a new signal
- if self._node:
- for child in self._node.getChildren():
- child.callDecoration("setBuildPlateNumber", nr)
- def getBuildPlateNumber(self) -> int:
- return self._build_plate_number
- def __deepcopy__(self, memo):
- return BuildPlateDecorator()
|