mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 15:07:28 -06:00
Override getProperty in ExtruderStack with some additional checks
This commit is contained in:
parent
93e42164a8
commit
b9dc94e1f6
2 changed files with 17 additions and 1 deletions
|
@ -15,3 +15,8 @@ class InvalidContainerError(Exception):
|
||||||
## Raised when trying to add an extruder to a Global stack that already has the maximum number of extruders.
|
## Raised when trying to add an extruder to a Global stack that already has the maximum number of extruders.
|
||||||
class TooManyExtrudersError(Exception):
|
class TooManyExtrudersError(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
## Raised when an extruder has no next stack set.
|
||||||
|
class NoGlobalStackError(Exception):
|
||||||
|
pass
|
||||||
|
|
|
@ -25,6 +25,17 @@ class ExtruderStack(CuraContainerStack):
|
||||||
super().setNextStack(stack)
|
super().setNextStack(stack)
|
||||||
stack.addExtruder(self)
|
stack.addExtruder(self)
|
||||||
|
|
||||||
|
@override(ContainerStack)
|
||||||
|
def getProperty(self, key: str, property_name: str) -> Any:
|
||||||
|
if not self._next_stack:
|
||||||
|
raise Exceptions.NoGlobalStackError("Extruder {id} is missing the next stack!".format(id = self.id))
|
||||||
|
|
||||||
|
if not super().getProperty(key, "settable_per_extruder"):
|
||||||
|
return self.getNextStack().getProperty(key, property_name)
|
||||||
|
|
||||||
|
return super().getProperty(key, property_name)
|
||||||
|
|
||||||
|
|
||||||
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",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue