From cda135ada7ac2599d414b5ab19280135b651ebd2 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Fri, 24 Aug 2018 15:08:19 +0200 Subject: [PATCH] Removed scale and rotate actions from toolbar --- lib/Slic3r/GUI/Plater.pm | 32 +------------- resources/icons/toolbar.png | Bin 25416 -> 20451 bytes xs/src/slic3r/GUI/3DScene.cpp | 15 ------- xs/src/slic3r/GUI/3DScene.hpp | 3 -- xs/src/slic3r/GUI/GLCanvas3D.cpp | 53 ++---------------------- xs/src/slic3r/GUI/GLCanvas3D.hpp | 6 --- xs/src/slic3r/GUI/GLCanvas3DManager.cpp | 21 ---------- xs/src/slic3r/GUI/GLCanvas3DManager.hpp | 3 -- xs/xsp/GUI_3DScene.xsp | 21 ---------- 9 files changed, 6 insertions(+), 148 deletions(-) diff --git a/lib/Slic3r/GUI/Plater.pm b/lib/Slic3r/GUI/Plater.pm index 8c3b10b90..67528096c 100644 --- a/lib/Slic3r/GUI/Plater.pm +++ b/lib/Slic3r/GUI/Plater.pm @@ -185,18 +185,6 @@ sub new { $self->decrease; }; - my $on_action_ccw45 = sub { - $self->rotate(45, Z, 'relative'); - }; - - my $on_action_cw45 = sub { - $self->rotate(-45, Z, 'relative'); - }; - - my $on_action_scale = sub { - $self->changescale(undef); - }; - my $on_action_split = sub { $self->split_object; }; @@ -239,9 +227,6 @@ sub new { Slic3r::GUI::_3DScene::register_action_arrange_callback($self->{canvas3D}, $on_action_arrange); Slic3r::GUI::_3DScene::register_action_more_callback($self->{canvas3D}, $on_action_more); Slic3r::GUI::_3DScene::register_action_fewer_callback($self->{canvas3D}, $on_action_fewer); - Slic3r::GUI::_3DScene::register_action_ccw45_callback($self->{canvas3D}, $on_action_ccw45); - Slic3r::GUI::_3DScene::register_action_cw45_callback($self->{canvas3D}, $on_action_cw45); - Slic3r::GUI::_3DScene::register_action_scale_callback($self->{canvas3D}, $on_action_scale); Slic3r::GUI::_3DScene::register_action_split_callback($self->{canvas3D}, $on_action_split); Slic3r::GUI::_3DScene::register_action_cut_callback($self->{canvas3D}, $on_action_cut); Slic3r::GUI::_3DScene::register_action_settings_callback($self->{canvas3D}, $on_action_settings); @@ -403,24 +388,11 @@ sub new { $self->{btn_send_gcode}->Hide; my %icons = qw( - add brick_add.png - remove brick_delete.png - reset cross.png - arrange bricks.png export_gcode cog_go.png print arrow_up.png send_gcode arrow_up.png reslice reslice.png export_stl brick_go.png - - increase add.png - decrease delete.png - rotate45cw arrow_rotate_clockwise.png - rotate45ccw arrow_rotate_anticlockwise.png - changescale arrow_out.png - split shape_ungroup.png - cut package.png - settings cog.png ); for (grep $self->{"btn_$_"}, keys %icons) { $self->{"btn_$_"}->SetBitmap(Wx::Bitmap->new(Slic3r::var($icons{$_}), wxBITMAP_TYPE_PNG)); @@ -2248,8 +2220,8 @@ sub selection_changed { # $self->{"btn_decrease"}->Disable; # } # } - - for my $toolbar_item (qw(delete more fewer ccw45 cw45 scale split cut settings)) { + + for my $toolbar_item (qw(delete more fewer split cut settings)) { Slic3r::GUI::_3DScene::enable_toolbar_item($self->{canvas3D}, $toolbar_item, $have_sel); } diff --git a/resources/icons/toolbar.png b/resources/icons/toolbar.png index e45f4989f0ec1022cb90a3de19dc30feb80426a2..ce954143dbe98cc25d31ea8831332e402ee395cb 100644 GIT binary patch literal 20451 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 Q80H(L9>|Gj-_!Q`Z`x)?$N&HU literal 25416 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 diff --git a/xs/src/slic3r/GUI/3DScene.cpp b/xs/src/slic3r/GUI/3DScene.cpp index d836866e2..2d38d78b3 100644 --- a/xs/src/slic3r/GUI/3DScene.cpp +++ b/xs/src/slic3r/GUI/3DScene.cpp @@ -2046,21 +2046,6 @@ void _3DScene::register_action_fewer_callback(wxGLCanvas* canvas, void* callback s_canvas_mgr.register_action_fewer_callback(canvas, callback); } -void _3DScene::register_action_ccw45_callback(wxGLCanvas* canvas, void* callback) -{ - s_canvas_mgr.register_action_ccw45_callback(canvas, callback); -} - -void _3DScene::register_action_cw45_callback(wxGLCanvas* canvas, void* callback) -{ - s_canvas_mgr.register_action_cw45_callback(canvas, callback); -} - -void _3DScene::register_action_scale_callback(wxGLCanvas* canvas, void* callback) -{ - s_canvas_mgr.register_action_scale_callback(canvas, callback); -} - void _3DScene::register_action_split_callback(wxGLCanvas* canvas, void* callback) { s_canvas_mgr.register_action_split_callback(canvas, callback); diff --git a/xs/src/slic3r/GUI/3DScene.hpp b/xs/src/slic3r/GUI/3DScene.hpp index 1fbd958a8..da86c458b 100644 --- a/xs/src/slic3r/GUI/3DScene.hpp +++ b/xs/src/slic3r/GUI/3DScene.hpp @@ -550,9 +550,6 @@ public: static void register_action_arrange_callback(wxGLCanvas* canvas, void* callback); static void register_action_more_callback(wxGLCanvas* canvas, void* callback); static void register_action_fewer_callback(wxGLCanvas* canvas, void* callback); - static void register_action_ccw45_callback(wxGLCanvas* canvas, void* callback); - static void register_action_cw45_callback(wxGLCanvas* canvas, void* callback); - static void register_action_scale_callback(wxGLCanvas* canvas, void* callback); static void register_action_split_callback(wxGLCanvas* canvas, void* callback); static void register_action_cut_callback(wxGLCanvas* canvas, void* callback); static void register_action_settings_callback(wxGLCanvas* canvas, void* callback); diff --git a/xs/src/slic3r/GUI/GLCanvas3D.cpp b/xs/src/slic3r/GUI/GLCanvas3D.cpp index 4ff947abc..04acc2136 100644 --- a/xs/src/slic3r/GUI/GLCanvas3D.cpp +++ b/xs/src/slic3r/GUI/GLCanvas3D.cpp @@ -2720,24 +2720,6 @@ void GLCanvas3D::register_action_fewer_callback(void* callback) m_action_fewer_callback.register_callback(callback); } -void GLCanvas3D::register_action_ccw45_callback(void* callback) -{ - if (callback != nullptr) - m_action_ccw45_callback.register_callback(callback); -} - -void GLCanvas3D::register_action_cw45_callback(void* callback) -{ - if (callback != nullptr) - m_action_cw45_callback.register_callback(callback); -} - -void GLCanvas3D::register_action_scale_callback(void* callback) -{ - if (callback != nullptr) - m_action_scale_callback.register_callback(callback); -} - void GLCanvas3D::register_action_split_callback(void* callback) { if (callback != nullptr) @@ -3459,33 +3441,9 @@ bool GLCanvas3D::_init_toolbar() if (!m_toolbar.add_separator()) return false; - item.name = "ccw45"; - item.tooltip = GUI::L_str("Rotate CCW 45 degrees"); - item.sprite_id = 6; - item.is_toggable = false; - item.action_callback = &m_action_ccw45_callback; - if (!m_toolbar.add_item(item)) - return false; - - item.name = "cw45"; - item.tooltip = GUI::L_str("Rotate CW 45 degrees"); - item.sprite_id = 7; - item.is_toggable = false; - item.action_callback = &m_action_cw45_callback; - if (!m_toolbar.add_item(item)) - return false; - - item.name = "scale"; - item.tooltip = GUI::L_str("Scale..."); - item.sprite_id = 8; - item.is_toggable = false; - item.action_callback = &m_action_scale_callback; - if (!m_toolbar.add_item(item)) - return false; - item.name = "split"; item.tooltip = GUI::L_str("Split"); - item.sprite_id = 9; + item.sprite_id = 6; item.is_toggable = false; item.action_callback = &m_action_split_callback; if (!m_toolbar.add_item(item)) @@ -3493,7 +3451,7 @@ bool GLCanvas3D::_init_toolbar() item.name = "cut"; item.tooltip = GUI::L_str("Cut..."); - item.sprite_id = 10; + item.sprite_id = 7; item.is_toggable = false; item.action_callback = &m_action_cut_callback; if (!m_toolbar.add_item(item)) @@ -3504,7 +3462,7 @@ bool GLCanvas3D::_init_toolbar() item.name = "settings"; item.tooltip = GUI::L_str("Settings..."); - item.sprite_id = 11; + item.sprite_id = 8; item.is_toggable = false; item.action_callback = &m_action_settings_callback; if (!m_toolbar.add_item(item)) @@ -3512,7 +3470,7 @@ bool GLCanvas3D::_init_toolbar() item.name = "layersediting"; item.tooltip = GUI::L_str("Layers editing"); - item.sprite_id = 12; + item.sprite_id = 9; item.is_toggable = true; item.action_callback = &m_action_layersediting_callback; if (!m_toolbar.add_item(item)) @@ -3753,9 +3711,6 @@ void GLCanvas3D::_deregister_callbacks() m_action_arrange_callback.deregister_callback(); m_action_more_callback.deregister_callback(); m_action_fewer_callback.deregister_callback(); - m_action_ccw45_callback.deregister_callback(); - m_action_cw45_callback.deregister_callback(); - m_action_scale_callback.deregister_callback(); m_action_split_callback.deregister_callback(); m_action_cut_callback.deregister_callback(); m_action_settings_callback.deregister_callback(); diff --git a/xs/src/slic3r/GUI/GLCanvas3D.hpp b/xs/src/slic3r/GUI/GLCanvas3D.hpp index cae8ddf0d..2334fe092 100644 --- a/xs/src/slic3r/GUI/GLCanvas3D.hpp +++ b/xs/src/slic3r/GUI/GLCanvas3D.hpp @@ -505,9 +505,6 @@ private: PerlCallback m_action_arrange_callback; PerlCallback m_action_more_callback; PerlCallback m_action_fewer_callback; - PerlCallback m_action_ccw45_callback; - PerlCallback m_action_cw45_callback; - PerlCallback m_action_scale_callback; PerlCallback m_action_split_callback; PerlCallback m_action_cut_callback; PerlCallback m_action_settings_callback; @@ -625,9 +622,6 @@ public: void register_action_arrange_callback(void* callback); void register_action_more_callback(void* callback); void register_action_fewer_callback(void* callback); - void register_action_ccw45_callback(void* callback); - void register_action_cw45_callback(void* callback); - void register_action_scale_callback(void* callback); void register_action_split_callback(void* callback); void register_action_cut_callback(void* callback); void register_action_settings_callback(void* callback); diff --git a/xs/src/slic3r/GUI/GLCanvas3DManager.cpp b/xs/src/slic3r/GUI/GLCanvas3DManager.cpp index 0fe24ed43..57a49d7ab 100644 --- a/xs/src/slic3r/GUI/GLCanvas3DManager.cpp +++ b/xs/src/slic3r/GUI/GLCanvas3DManager.cpp @@ -737,27 +737,6 @@ void GLCanvas3DManager::register_action_fewer_callback(wxGLCanvas* canvas, void* it->second->register_action_fewer_callback(callback); } -void GLCanvas3DManager::register_action_ccw45_callback(wxGLCanvas* canvas, void* callback) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->register_action_ccw45_callback(callback); -} - -void GLCanvas3DManager::register_action_cw45_callback(wxGLCanvas* canvas, void* callback) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->register_action_cw45_callback(callback); -} - -void GLCanvas3DManager::register_action_scale_callback(wxGLCanvas* canvas, void* callback) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->register_action_scale_callback(callback); -} - void GLCanvas3DManager::register_action_split_callback(wxGLCanvas* canvas, void* callback) { CanvasesMap::iterator it = _get_canvas(canvas); diff --git a/xs/src/slic3r/GUI/GLCanvas3DManager.hpp b/xs/src/slic3r/GUI/GLCanvas3DManager.hpp index 58ee1c9d9..f7705a56c 100644 --- a/xs/src/slic3r/GUI/GLCanvas3DManager.hpp +++ b/xs/src/slic3r/GUI/GLCanvas3DManager.hpp @@ -167,9 +167,6 @@ public: void register_action_arrange_callback(wxGLCanvas* canvas, void* callback); void register_action_more_callback(wxGLCanvas* canvas, void* callback); void register_action_fewer_callback(wxGLCanvas* canvas, void* callback); - void register_action_ccw45_callback(wxGLCanvas* canvas, void* callback); - void register_action_cw45_callback(wxGLCanvas* canvas, void* callback); - void register_action_scale_callback(wxGLCanvas* canvas, void* callback); void register_action_split_callback(wxGLCanvas* canvas, void* callback); void register_action_cut_callback(wxGLCanvas* canvas, void* callback); void register_action_settings_callback(wxGLCanvas* canvas, void* callback); diff --git a/xs/xsp/GUI_3DScene.xsp b/xs/xsp/GUI_3DScene.xsp index 5f1b55cf3..c15fdc196 100644 --- a/xs/xsp/GUI_3DScene.xsp +++ b/xs/xsp/GUI_3DScene.xsp @@ -692,27 +692,6 @@ register_action_fewer_callback(canvas, callback) CODE: _3DScene::register_action_fewer_callback((wxGLCanvas*)wxPli_sv_2_object(aTHX_ canvas, "Wx::GLCanvas"), (void*)callback); -void -register_action_ccw45_callback(canvas, callback) - SV *canvas; - SV *callback; - CODE: - _3DScene::register_action_ccw45_callback((wxGLCanvas*)wxPli_sv_2_object(aTHX_ canvas, "Wx::GLCanvas"), (void*)callback); - -void -register_action_cw45_callback(canvas, callback) - SV *canvas; - SV *callback; - CODE: - _3DScene::register_action_cw45_callback((wxGLCanvas*)wxPli_sv_2_object(aTHX_ canvas, "Wx::GLCanvas"), (void*)callback); - -void -register_action_scale_callback(canvas, callback) - SV *canvas; - SV *callback; - CODE: - _3DScene::register_action_scale_callback((wxGLCanvas*)wxPli_sv_2_object(aTHX_ canvas, "Wx::GLCanvas"), (void*)callback); - void register_action_split_callback(canvas, callback) SV *canvas;