diff --git a/cura/Settings/ExtruderStack.py b/cura/Settings/ExtruderStack.py index 1a437128a9..91b1725c4f 100644 --- a/cura/Settings/ExtruderStack.py +++ b/cura/Settings/ExtruderStack.py @@ -3,39 +3,25 @@ from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot +from UM.Decorators import override from UM.MimeTypeDatabase import MimeType, MimeTypeDatabase -from UM.Settings.ContainerStack import ContainerStack +from UM.Settings.ContainerStack import ContainerStack, InvalidContainerStackError from UM.Settings.ContainerRegistry import ContainerRegistry from UM.Settings.InstanceContainer import InstanceContainer from UM.Settings.DefinitionContainer import DefinitionContainer +from UM.Settings.Interfaces import ContainerInterface -class ExtruderStack(ContainerStack): +from . import Exceptions +from .CuraContainerStack import CuraContainerStack + +class ExtruderStack(CuraContainerStack): def __init__(self, container_id, *args, **kwargs): super().__init__(container_id, *args, **kwargs) - @pyqtProperty(InstanceContainer) - def userChanges(self) -> InstanceContainer: - return self._containers[_ContainerIndexes.UserChanges] - - @pyqtProperty(InstanceContainer) - def qualityChanges(self) -> InstanceContainer: - return self._containers[_ContainerIndexes.QualityChanges] - - @pyqtProperty(InstanceContainer) - def quality(self) -> InstanceContainer: - return self._containers[_ContainerIndexes.Quality] - - @pyqtProperty(InstanceContainer) - def material(self) -> InstanceContainer: - return self._containers[_ContainerIndexes.Material] - - @pyqtProperty(InstanceContainer) - def variant(self) -> InstanceContainer: - return self._containers[_ContainerIndexes.Variant] - - @pyqtProperty(DefinitionContainer) - def definition(self) -> DefinitionContainer: - return self._containers[_ContainerIndexes.Definition] + @override(ContainerStack) + def setNextStack(self, stack): + super().setNextStack(stack) + stack.addExtruder(self) extruder_stack_mime = MimeType( name = "application/x-cura-extruderstack", @@ -45,12 +31,3 @@ extruder_stack_mime = MimeType( MimeTypeDatabase.addMimeType(extruder_stack_mime) ContainerRegistry.addContainerTypeByName(ExtruderStack, "extruder_stack", extruder_stack_mime.name) - -class _ContainerIndexes: - UserChanges = 0 - QualityChanges = 1 - Quality = 2 - Material = 3 - Variant = 4 - Definition = 5 -