33 Commits

Author SHA1 Message Date
Arjen Hiemstra
fdc6fbbac1 Handle limit_to_extruder in {Extruder,Global}Stack getProperty
This way we do not need to special case limit_to_extruder and instead
always use limit_to_extruder if it is set.

Contributest to CURA-3738
2017-05-11 17:50:12 +02:00
Jaime van Kessel
3f9a5fbcbb Changed logging so it doesn't look like it's printing lists 2017-05-08 14:22:36 +02:00
Jack Ha
8680c6d79d Changed addExtruder exception to a warning to let Custom FDM Printer work again. Removed unused imports. CURA-3757 2017-05-08 11:27:19 +02:00
Jaime van Kessel
8d80f20db7 Added way to dynamicly set loading order
This is to ensure that Global stacks are loaded before extruders, so once the extruders are deseralized, they can always find the next (global) stack

CURA-3497
2017-05-03 09:54:00 +02:00
Arjen Hiemstra
8e1580d8d9 Document GlobalStack 2017-04-18 17:37:26 +02:00
Arjen Hiemstra
323107ef5c Fix GlobalStack::getProperty
It used to only consider user values in the "user" containers, now it
also accounts for values in the other instance containers.
2017-04-11 13:51:01 +02:00
Arjen Hiemstra
73e1af49ee Track which settings we are trying to "resolve"
This prevents infinite recursions when a resolve function tries to get
its own value.
2017-04-10 18:06:24 +02:00
Arjen Hiemstra
09e5765f22 Do not try to validate against machine_extruder_count when there is no machine_extruder_count 2017-04-10 18:06:24 +02:00
Arjen Hiemstra
433537a2f0 Add type metadata to Extruder/Global stack
For backward compatibility with old code that still checks for "type".
2017-04-06 17:49:22 +02:00
Arjen Hiemstra
608e62e081 Do not try to get resolve when extruder count == 1 or for nonexistant properties 2017-04-06 02:22:45 +02:00
Arjen Hiemstra
a16b5d73b6 Partial fix for infinite recursion when trying to call getProperty 2017-04-04 17:41:21 +02:00
Arjen Hiemstra
1f0f8cd6ea Make GlobalStack a subclass of CuraContainerStack 2017-03-30 08:58:21 +02:00
Arjen Hiemstra
317576e983 Set container entry to empty if it was not found in the original container 2017-03-28 18:14:16 +02:00
Arjen Hiemstra
75931192f6 Allow setting Definition and setting Definition by ID
To match the other properties
2017-03-28 17:46:28 +02:00
Arjen Hiemstra
123c8bae45 Allow setting userChanges container
Since that makes it possible to create an external factory method for
creating stacks and makes the properties more consistent.
2017-03-28 17:46:00 +02:00
Arjen Hiemstra
2f6936c961 Fix type checking in GlobalStack 2017-03-28 17:45:15 +02:00
Arjen Hiemstra
4cea1b6d33 Fix error case in addExtruder
Error out when the new size is going to be more than extruderCount
instead of whether it currently is more than extruderCount.
2017-03-28 17:44:29 +02:00
Arjen Hiemstra
4005f5082b Allow setting of properties on GlobalStack 2017-03-28 17:43:11 +02:00
Arjen Hiemstra
b6fafb06ed Ensure we initialize the list of containers for GlobalStack 2017-03-27 17:52:38 +02:00
Arjen Hiemstra
39803cf7dd Add missing imports to Extruder/GlobalStack 2017-03-27 17:52:16 +02:00
Arjen Hiemstra
5196ea695c Add a notify signal to all container properties in GlobalStack
Contributes to CURA-3497
2017-03-27 01:35:34 +02:00
Arjen Hiemstra
de1dbfbc07 Override replaceContainer and add some type checking
type in this case being container type

Contributes to CURA-3497
2017-03-23 17:55:21 +01:00
Arjen Hiemstra
dc0c666a54 Disable add/insert/remove container
Since we want to have a fixed list of containers in the stack.

Contributes to CURA-3497
2017-03-23 17:55:21 +01:00
Arjen Hiemstra
5ad0651fd1 Add an "extruders" property and an addExtruder method
Contributes to CURA-3497
2017-03-23 17:55:21 +01:00
Arjen Hiemstra
462d5fac8d Add setters for properties
Contributes to CURA-3497
2017-03-23 17:55:21 +01:00
Arjen Hiemstra
f97a6ebd74 Move exceptions to their own file
Since that keeps the GlobalStack cleaner

Contributes to CURA-3497
2017-03-23 17:55:21 +01:00
Arjen Hiemstra
411e3a3976 Fix up a bunch of things with type hints and imports 2017-03-21 17:45:07 +01:00
Arjen Hiemstra
88e8138004 Override ContainerStack::deserialize
This ensures we have the right set of containers in the stack
2017-03-21 17:44:36 +01:00
Arjen Hiemstra
95a6bef50f Add properties for the individual containers in the global stack 2017-03-21 17:43:42 +01:00
Arjen Hiemstra
3ee3e0aee3 Add a private class to GlobalStack that defines the expected indices of each container type 2017-03-21 17:39:06 +01:00
Arjen Hiemstra
4904e449a0 Start overriding getProperty in GlobalStack
Since we have the "resolve" property, we should transparently handle it
so lookup can just use "value".

Contributes to CURA-3497
2017-03-20 17:30:00 +01:00
Arjen Hiemstra
0656dd53c3 Override setNextStack in GlobalStack and raise an error if called
Since the global stack should never have a next stack

Contributes to CURA-3497
2017-03-20 17:28:42 +01:00
Arjen Hiemstra
12c50dbac8 Introduce a GlobalStack class
This will allow us to codify some of the assumptions made about the
global stack

Contributes to CURA-3497
2017-03-20 17:26:12 +01:00