From b782351fd3c25d2dac17976e9eca5209885e31dc Mon Sep 17 00:00:00 2001 From: Alessandro Ranellucci Date: Sun, 18 Jan 2015 20:55:44 +0100 Subject: [PATCH] Enable arrows in 3D preview and rename preview tabs --- lib/Slic3r/GUI/Plater.pm | 16 ++++++++-------- lib/Slic3r/GUI/Plater/3DPreview.pm | 12 ++++++++++++ 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/lib/Slic3r/GUI/Plater.pm b/lib/Slic3r/GUI/Plater.pm index 199a83b05b..7164e358eb 100644 --- a/lib/Slic3r/GUI/Plater.pm +++ b/lib/Slic3r/GUI/Plater.pm @@ -109,17 +109,17 @@ sub new { $self->{canvas}->on_right_click(sub { $on_right_click->($self->{canvas}, @_); }); $self->{canvas}->on_instances_moved($on_instances_moved); + # Initialize 3D toolpaths preview + if ($Slic3r::GUI::have_OpenGL) { + $self->{preview3D} = Slic3r::GUI::Plater::3DPreview->new($self->{preview_notebook}, $self->{print}); + $self->{preview_notebook}->AddPage($self->{preview3D}, 'Preview'); + $self->{preview3D_page_idx} = $self->{preview_notebook}->GetPageCount-1; + } + # Initialize toolpaths preview if ($Slic3r::GUI::have_OpenGL) { $self->{toolpaths2D} = Slic3r::GUI::Plater::2DToolpaths->new($self->{preview_notebook}, $self->{print}); - $self->{preview_notebook}->AddPage($self->{toolpaths2D}, 'Preview 2D'); - } - - # Initialize 3D plater - if ($Slic3r::GUI::have_OpenGL) { - $self->{preview3D} = Slic3r::GUI::Plater::3DPreview->new($self->{preview_notebook}, $self->{print}); - $self->{preview_notebook}->AddPage($self->{preview3D}, 'Preview 3D'); - $self->{preview3D_page_idx} = $self->{preview_notebook}->GetPageCount-1; + $self->{preview_notebook}->AddPage($self->{toolpaths2D}, 'Layers'); } EVT_NOTEBOOK_PAGE_CHANGED($self, $self->{preview_notebook}, sub { diff --git a/lib/Slic3r/GUI/Plater/3DPreview.pm b/lib/Slic3r/GUI/Plater/3DPreview.pm index 8d1c6c52d1..d93876dcfa 100644 --- a/lib/Slic3r/GUI/Plater/3DPreview.pm +++ b/lib/Slic3r/GUI/Plater/3DPreview.pm @@ -48,6 +48,18 @@ sub new { $self->set_z($self->{layers_z}[$slider->GetValue]) if $self->enabled; }); + EVT_KEY_DOWN($canvas, sub { + my ($s, $event) = @_; + + my $key = $event->GetKeyCode; + if ($key == 85 || $key == 315) { + $slider->SetValue($slider->GetValue + 1); + $self->set_z($self->{layers_z}[$slider->GetValue]); + } elsif ($key == 68 || $key == 317) { + $slider->SetValue($slider->GetValue - 1); + $self->set_z($self->{layers_z}[$slider->GetValue]); + } + }); $self->SetSizer($sizer); $self->SetMinSize($self->GetSize);