From bcd450daa078e722f5623d71fde0ec782a2dbd3a Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 23 Aug 2019 17:11:21 +0200 Subject: [PATCH] Don't make QualityChangesGroup hold ContainerNodes It can't hold ContainerNodes since the quality changes are no longer nodes in any tree. This now makes it hold metadata instead. Contributes to issue CURA-6600. --- cura/Machines/QualityChangesGroup.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/cura/Machines/QualityChangesGroup.py b/cura/Machines/QualityChangesGroup.py index 4881f70839..f798a18e29 100644 --- a/cura/Machines/QualityChangesGroup.py +++ b/cura/Machines/QualityChangesGroup.py @@ -1,12 +1,23 @@ # Copyright (c) 2019 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from .QualityGroup import QualityGroup +from PyQt5.QtCore import QObject +from typing import Any, Dict, Optional -class QualityChangesGroup(QualityGroup): +## Data struct to group several quality changes instance containers together. +# +# Each group represents one "custom profile" as the user sees it, which +# contains an instance container for the global stack and one instance +# container per extruder. +class QualityChangesGroup(QObject): def __init__(self, name: str, quality_type: str, intent_category: str, parent = None) -> None: - super().__init__(name, quality_type, parent) + super().__init__(parent) + self.name = name + self.quality_type = quality_type self.intent_category = intent_category + self.is_available = False + self.metadata_for_global = None # type: Optional[str] + self.metadata_per_extruder = {} # type: Dict[int, Dict[str, Any]] def __str__(self) -> str: - return "%s[<%s>, available = %s]" % (self.__class__.__name__, self.name, self.is_available) + return "{class_name}[{name}, available = {is_available}]".format(class_name = self.__class__.__name__, name = self.name, is_available = self.is_available)