Add properties for user changes etc. to ExtruderStack

This commit is contained in:
Arjen Hiemstra 2017-03-23 00:03:58 +01:00
parent ccd22ef36d
commit dd8ea6175c

View file

@ -1,6 +1,8 @@
# Copyright (c) 2017 Ultimaker B.V. # Copyright (c) 2017 Ultimaker B.V.
# Cura is released under the terms of the AGPLv3 or higher. # 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.MimeTypeDatabase import MimeType, MimeTypeDatabase
from UM.Settings.ContainerStack import ContainerStack from UM.Settings.ContainerStack import ContainerStack
from UM.Settings.ContainerRegistry import ContainerRegistry from UM.Settings.ContainerRegistry import ContainerRegistry
@ -9,6 +11,30 @@ class ExtruderStack(ContainerStack):
def __init__(self, container_id, *args, **kwargs): def __init__(self, container_id, *args, **kwargs):
super().__init__(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( extruder_stack_mime = MimeType(
name = "application/x-cura-extruderstack", name = "application/x-cura-extruderstack",
comment = "Cura Extruder Stack", comment = "Cura Extruder Stack",
@ -17,3 +43,12 @@ extruder_stack_mime = MimeType(
MimeTypeDatabase.addMimeType(extruder_stack_mime) MimeTypeDatabase.addMimeType(extruder_stack_mime)
ContainerRegistry.addContainerTypeByName(ExtruderStack, "extruder_stack", extruder_stack_mime.name) ContainerRegistry.addContainerTypeByName(ExtruderStack, "extruder_stack", extruder_stack_mime.name)
class _ContainerIndexes:
UserChanges = 0
QualityChanges = 1
Quality = 2
Material = 3
Variant = 4
Definition = 5