Added additional option for disabling all retract options
Added more comments.
Added support for firmware based retractions.
Added support for outputting changes to LCD (untested).
Added type hints to most functions and variables.
Created GCodeCommand class for better detection of G1 vs G10 or G11 commands, and accessing arguments.
Fixed issue of properly restoring previous values in single layer option.
Improved wording of Single Layer vs Keep Layer to better reflect what was happening.
Moved most GCode methods to GCodeCommand class.
- Fixed filename appearing in middle of text when scrolling is disabled and displaying max layer.
- Fixed filename appearing twice when scrolling is enabled and displaying max layers.
Fixed bugs where TargetZ, Bed Temp, Extruder Temps, Retract Feed Rate and Retract Length weren't properly considered as floats. Now capable of properly targeting decimal Z values, and altering others as decimals
Updated debug cases to test for it.
Added comments.
Added support for changing Retract Length and Speed.
Applied code refactoring to clean up various coding styles.
Broke up functions for clarity.
Fixed issue of cumulative ChangeZ mods so they can now properly be stacked on top of each other.
Removed layer spread option in favor for fixing ChangeZ stacking
Split up class so it can be debugged outside of Cura.
Previously, the line after the layer change would also contain the z height.
If not found, the could would break the per-line reading, and skip to the next layer.
However, if the code doesn't contain the Z on the first gcode line of the layer, this would cause it to skip past all layers, until there was a layer with the Z in the first line (so this also explains the 'late' pauses).
I just ignored the optimization and made it a continue.
I checked, and I don't think there's any way this causes the postproc.-gcode to be inserted twice, since it returns the complete data after insering it once.
CURA-6965
Some pause commands on some printers (looking at you, Repetier) seem to require a space after it, which is not obvious to the user. So we'll put a space there for them.
Fixes#6295.