diff --git a/cura/Settings/ExtruderStack.py b/cura/Settings/ExtruderStack.py index edcce90693..3241268781 100644 --- a/cura/Settings/ExtruderStack.py +++ b/cura/Settings/ExtruderStack.py @@ -1,6 +1,8 @@ # Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. +from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot + from UM.MimeTypeDatabase import MimeType, MimeTypeDatabase from UM.Settings.ContainerStack import ContainerStack from UM.Settings.ContainerRegistry import ContainerRegistry @@ -9,6 +11,30 @@ class ExtruderStack(ContainerStack): 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] + extruder_stack_mime = MimeType( name = "application/x-cura-extruderstack", comment = "Cura Extruder Stack", @@ -17,3 +43,12 @@ 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 +