diff options
author | Enrico Turri <enricoturri@seznam.cz> | 2018-06-25 16:27:06 +0300 |
---|---|---|
committer | Enrico Turri <enricoturri@seznam.cz> | 2018-06-25 16:27:06 +0300 |
commit | 714204b227f7db4367fc62b313cd21cba9fa9407 (patch) | |
tree | 283b8995aa85c92fcd9a1d6f56f7991b37b25521 /lib/Slic3r/GUI | |
parent | b6b14ef8195335c4a51f052569e9deea959fbd01 (diff) | |
parent | 40b327eb116392b80835d28ef43778212a7a14a1 (diff) |
Merge branch 'master' of https://github.com/prusa3d/Slic3r into time_estimate
Diffstat (limited to 'lib/Slic3r/GUI')
-rw-r--r-- | lib/Slic3r/GUI/Plater.pm | 20 | ||||
-rw-r--r-- | lib/Slic3r/GUI/Plater/2D.pm | 6 |
2 files changed, 13 insertions, 13 deletions
diff --git a/lib/Slic3r/GUI/Plater.pm b/lib/Slic3r/GUI/Plater.pm index 47ccb2269..9d8974afe 100644 --- a/lib/Slic3r/GUI/Plater.pm +++ b/lib/Slic3r/GUI/Plater.pm @@ -187,6 +187,7 @@ sub new { if ($Slic3r::GUI::have_OpenGL) { $self->{preview3D} = Slic3r::GUI::Plater::3DPreview->new($self->{preview_notebook}, $self->{print}, $self->{gcode_preview_data}, $self->{config}); Slic3r::GUI::_3DScene::set_active($self->{preview3D}->canvas, 0); + Slic3r::GUI::_3DScene::enable_legend_texture($self->{preview3D}->canvas, 1); Slic3r::GUI::_3DScene::register_on_viewport_changed_callback($self->{preview3D}->canvas, sub { Slic3r::GUI::_3DScene::set_viewport_from_scene($self->{canvas3D}, $self->{preview3D}->canvas); }); $self->{preview_notebook}->AddPage($self->{preview3D}, L('Preview')); $self->{preview3D_page_idx} = $self->{preview_notebook}->GetPageCount-1; @@ -200,19 +201,18 @@ sub new { EVT_NOTEBOOK_PAGE_CHANGED($self, $self->{preview_notebook}, sub { my $preview = $self->{preview_notebook}->GetCurrentPage; - if ($preview == $self->{preview3D}) - { + if (($preview != $self->{preview3D}) && ($preview != $self->{canvas3D})) { + Slic3r::GUI::_3DScene::set_active($self->{preview3D}->canvas, 0); + Slic3r::GUI::_3DScene::set_active($self->{canvas3D}, 0); + Slic3r::GUI::_3DScene::reset_current_canvas(); + $preview->OnActivate if $preview->can('OnActivate'); + } elsif ($preview == $self->{preview3D}) { Slic3r::GUI::_3DScene::set_active($self->{preview3D}->canvas, 1); Slic3r::GUI::_3DScene::set_active($self->{canvas3D}, 0); - Slic3r::GUI::_3DScene::enable_legend_texture($self->{preview3D}->canvas, 1); - $self->{preview3D}->load_print(1); + $self->{preview3D}->load_print; # sets the canvas as dirty to force a render at the 1st idle event (wxWidgets IsShownOnScreen() is buggy and cannot be used reliably) Slic3r::GUI::_3DScene::set_as_dirty($self->{preview3D}->canvas); - } else { - Slic3r::GUI::_3DScene::enable_legend_texture($self->{preview3D}->canvas, 0); - } - - if ($preview == $self->{canvas3D}) { + } elsif ($preview == $self->{canvas3D}) { Slic3r::GUI::_3DScene::set_active($self->{canvas3D}, 1); Slic3r::GUI::_3DScene::set_active($self->{preview3D}->canvas, 0); if (Slic3r::GUI::_3DScene::is_reload_delayed($self->{canvas3D})) { @@ -222,8 +222,6 @@ sub new { } # sets the canvas as dirty to force a render at the 1st idle event (wxWidgets IsShownOnScreen() is buggy and cannot be used reliably) Slic3r::GUI::_3DScene::set_as_dirty($self->{canvas3D}); - } else { - $preview->OnActivate if $preview->can('OnActivate'); } }); diff --git a/lib/Slic3r/GUI/Plater/2D.pm b/lib/Slic3r/GUI/Plater/2D.pm index ad8f54ddb..83c2a5021 100644 --- a/lib/Slic3r/GUI/Plater/2D.pm +++ b/lib/Slic3r/GUI/Plater/2D.pm @@ -231,8 +231,10 @@ sub mouse_event { } $self->Refresh; } elsif ($event->LeftUp) { - $self->{on_instances_moved}->() - if $self->{drag_object}; + if ($self->{drag_object}) { + $self->{on_instances_moved}->(); + Slic3r::GUI::_3DScene::reset_current_canvas(); + } $self->{drag_start_pos} = undef; $self->{drag_object} = undef; $self->SetCursor(wxSTANDARD_CURSOR); |