Add some initial code to use the new classes to create new machines

This commit is contained in:
Arjen Hiemstra 2017-04-04 17:40:58 +02:00
parent cbc19b13eb
commit 82333a244b

View file

@ -25,6 +25,9 @@ from cura.QualityManager import QualityManager
from cura.PrinterOutputDevice import PrinterOutputDevice from cura.PrinterOutputDevice import PrinterOutputDevice
from cura.Settings.ExtruderManager import ExtruderManager from cura.Settings.ExtruderManager import ExtruderManager
from .GlobalStack import GlobalStack
from .CuraStackBuilder import CuraStackBuilder
from UM.i18n import i18nCatalog from UM.i18n import i18nCatalog
catalog = i18nCatalog("cura") catalog = i18nCatalog("cura")
@ -44,10 +47,16 @@ class MachineManager(QObject):
self.globalContainerChanged.connect(self.activeQualityChanged) self.globalContainerChanged.connect(self.activeQualityChanged)
self._stacks_have_errors = None self._stacks_have_errors = None
self._empty_variant_container = ContainerRegistry.getInstance().findInstanceContainers(id="empty_variant")[0] #self._empty_variant_container = ContainerRegistry.getInstance().findInstanceContainers(id="empty_variant")[0]
self._empty_material_container = ContainerRegistry.getInstance().findInstanceContainers(id="empty_material")[0] #self._empty_material_container = ContainerRegistry.getInstance().findInstanceContainers(id="empty_material")[0]
self._empty_quality_container = ContainerRegistry.getInstance().findInstanceContainers(id="empty_quality")[0] #self._empty_quality_container = ContainerRegistry.getInstance().findInstanceContainers(id="empty_quality")[0]
#self._empty_quality_changes_container = ContainerRegistry.getInstance().findInstanceContainers(id="empty_quality_changes")[0]
self._empty_variant_container = ContainerRegistry.getInstance().getEmptyInstanceContainer()
self._empty_material_container = ContainerRegistry.getInstance().getEmptyInstanceContainer()
self._empty_quality_container = ContainerRegistry.getInstance().getEmptyInstanceContainer()
self._empty_quality_changes_container = ContainerRegistry.getInstance().findInstanceContainers(id="empty_quality_changes")[0] self._empty_quality_changes_container = ContainerRegistry.getInstance().findInstanceContainers(id="empty_quality_changes")[0]
self._onGlobalContainerChanged() self._onGlobalContainerChanged()
ExtruderManager.getInstance().activeExtruderChanged.connect(self._onActiveExtruderStackChanged) ExtruderManager.getInstance().activeExtruderChanged.connect(self._onActiveExtruderStackChanged)
@ -349,30 +358,38 @@ class MachineManager(QObject):
if definitions: if definitions:
definition = definitions[0] definition = definitions[0]
name = self._createUniqueName("machine", "", name, definition.getName()) name = self._createUniqueName("machine", "", name, definition.getName())
new_global_stack = ContainerStack(name)
new_global_stack.addMetaDataEntry("type", "machine")
container_registry.addContainer(new_global_stack)
variant_instance_container = self._updateVariantContainer(definition) variant_instance_container = self._updateVariantContainer(definition)
material_instance_container = self._updateMaterialContainer(definition, variant_instance_container) material_instance_container = self._updateMaterialContainer(definition, variant_instance_container)
quality_instance_container = self._updateQualityContainer(definition, variant_instance_container, material_instance_container) quality_instance_container = self._updateQualityContainer(definition, variant_instance_container, material_instance_container)
current_settings_instance_container = InstanceContainer(name + "_current_settings") #new_global_stack = GlobalStack(name)
current_settings_instance_container.addMetaDataEntry("machine", name) #container_registry.addContainer(new_global_stack)
current_settings_instance_container.addMetaDataEntry("type", "user")
current_settings_instance_container.setDefinition(definitions[0])
container_registry.addContainer(current_settings_instance_container)
new_global_stack.addContainer(definition) new_global_stack = CuraStackBuilder.createGlobalStack(
if variant_instance_container: new_stack_id = name,
new_global_stack.addContainer(variant_instance_container) definition = definition,
if material_instance_container: quality = quality_instance_container.getId(),
new_global_stack.addContainer(material_instance_container) material = material_instance_container.getId(),
if quality_instance_container: variant = variant_instance_container.getId(),
new_global_stack.addContainer(quality_instance_container) )
new_global_stack.addContainer(self._empty_quality_changes_container) #current_settings_instance_container = InstanceContainer(name + "_current_settings")
new_global_stack.addContainer(current_settings_instance_container) #current_settings_instance_container.addMetaDataEntry("machine", name)
#current_settings_instance_container.addMetaDataEntry("type", "user")
#current_settings_instance_container.setDefinition(definitions[0])
#container_registry.addContainer(current_settings_instance_container)
#new_global_stack.addContainer(definition)
#if variant_instance_container:
#new_global_stack.addContainer(variant_instance_container)
#if material_instance_container:
#new_global_stack.addContainer(material_instance_container)
#if quality_instance_container:
#new_global_stack.addContainer(quality_instance_container)
#new_global_stack.addContainer(self._empty_quality_changes_container)
#new_global_stack.addContainer(current_settings_instance_container)
ExtruderManager.getInstance().addMachineExtruders(definition, new_global_stack.getId()) ExtruderManager.getInstance().addMachineExtruders(definition, new_global_stack.getId())