1) The macro-processor sanitizes the source code line for invalid UTF-8
characters. Ideally these invalid characters would be replaced with ?,
they are just dropped as of now. Better than showing an empty string
when converting to wxString though.
2) G-code export collects full error message for 1st occurence of an error
for each custom G-code block.
3) The composite error message now displays the errors collected in 2).
4) The error window is now scaled bigger and the Slicer logo is smaller
if the text is to be rendered with monospaced font, as the monospaced
text will not be word wrapped.
1) All slicer's exceptions are now derived from Slic3r::Exception.
2) New exceptions are defined for slicing errors.
3) Exceptions are propagated to the Plater to show.
It remains to modify the slicing back-end to throw the new SlicingError
exceptions instead of std::runtime_error and to show the other exceptions
by a message dialog instead of a notification.
Refactoring of GCode export of color changes, extruder switches etc,
so that the "color change" like extruder switches are applied first
at the Wipe Tower / G-code export, so that adding / removing
an extruder switch at the G-code preview slider does not invalidate
slicing.
Fixed layouts after the second opening of the dialog.
(Removing any extruder from the sequence does not cause an incorrect layout)
Validation of entered values added
(0 is not a valid value)
The BackgroundSlicingProcess thread will now have the same stack size
allocated as the TBB worker threads:
4MB on 64bit systems and 2MB on 32bit systems.
just the selected object.
Added "Host upload active" check on background processing state.
Documented requirements on "update_background_process" to
control the upcoming single "Slice Now" / "Export" button.
template.
Reworked naming of the plater exports to not use the output file name
template, but to derive the file name from the first printable object's name.
Fixed error handling: Reimpemented the Perl's "eval" blocks
as try / catch blocks.
Removed libslic3r from the default include paths for all modules but
libslic3r. Now headers from libslic3r need to be included with an
explicit path (libslic3r/libslic3r.h etc)
Split the localization macros into I18N.{cpp,h}
replaced Print & SLAPrint pointers with BackgroundProcessing pointer
at the GLCanvas3D level, so that the Print & SLAPrint access will be
synchronized with the current printer technology.