diff options
author | Lukas Matena <lukasmatena@seznam.cz> | 2018-08-02 14:29:39 +0300 |
---|---|---|
committer | Lukas Matena <lukasmatena@seznam.cz> | 2018-08-02 14:29:39 +0300 |
commit | f694600054a05db2f2d20491f4c2eb949632e110 (patch) | |
tree | be8a27df03cdf652b35a31d44e60b085142eb7a2 /lib/Slic3r/GUI | |
parent | 8fc11c2f14a04c5911cd6efc3a888cfc45467976 (diff) | |
parent | 76838703502be55a6cb67d72bf4990619a013ad6 (diff) |
Merge branch 'lm_wipe_tower_block_improvements' into lm_wipe_tower_block_improvements_merged
Diffstat (limited to 'lib/Slic3r/GUI')
-rw-r--r-- | lib/Slic3r/GUI/Plater.pm | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/Slic3r/GUI/Plater.pm b/lib/Slic3r/GUI/Plater.pm index 5790965ff..340807f5f 100644 --- a/lib/Slic3r/GUI/Plater.pm +++ b/lib/Slic3r/GUI/Plater.pm @@ -144,6 +144,11 @@ sub new { my ($angle_z) = @_; $self->rotate(rad2deg($angle_z), Z, 'absolute'); }; + + # callback to call schedule_background_process + my $on_request_update = sub { + $self->schedule_background_process; + }; # callback to update object's geometry info while using gizmos my $on_update_geometry_info = sub { @@ -202,6 +207,8 @@ sub new { Slic3r::GUI::_3DScene::register_on_viewport_changed_callback($self->{canvas3D}, sub { Slic3r::GUI::_3DScene::set_viewport_from_scene($self->{preview3D}->canvas, $self->{canvas3D}); }); } + + Slic3r::_GUI::register_on_request_update_callback($on_request_update); # # Initialize 2D preview canvas # $self->{canvas} = Slic3r::GUI::Plater::2D->new($self->{preview_notebook}, wxDefaultSize, $self->{objects}, $self->{model}, $self->{config}); @@ -1286,6 +1293,11 @@ sub async_apply_config { $self->{gcode_preview_data}->reset; $self->{toolpaths2D}->reload_print if $self->{toolpaths2D}; $self->{preview3D}->reload_print if $self->{preview3D}; + + # We also need to reload 3D scene because of the wipe tower preview box + if ($self->{config}->wipe_tower) { + Slic3r::GUI::_3DScene::reload_scene($self->{canvas3D}, 1) if $self->{canvas3D} + } } } @@ -1498,6 +1510,9 @@ sub on_process_completed { return if $error; $self->{toolpaths2D}->reload_print if $self->{toolpaths2D}; $self->{preview3D}->reload_print if $self->{preview3D}; + + # in case this was MM print, wipe tower bounding box on 3D tab might need redrawing with exact depth: + Slic3r::GUI::_3DScene::reload_scene($self->{canvas3D}, 1); # if we have an export filename, start a new thread for exporting G-code if ($self->{export_gcode_output_file}) { |