From eca4f0a4cd31279fa27f84490dfb15f72c5d10e3 Mon Sep 17 00:00:00 2001 From: enricoturri1966 Date: Wed, 19 Aug 2020 12:59:50 +0200 Subject: [PATCH] GCodeViewer -> Changed layout of sliders in preview --- src/slic3r/GUI/GUI_Preview.cpp | 51 +++++++++++++++++++--------------- src/slic3r/GUI/GUI_Preview.hpp | 1 + 2 files changed, 30 insertions(+), 22 deletions(-) diff --git a/src/slic3r/GUI/GUI_Preview.cpp b/src/slic3r/GUI/GUI_Preview.cpp index 2c5a6fe88..d62b4dd50 100644 --- a/src/slic3r/GUI/GUI_Preview.cpp +++ b/src/slic3r/GUI/GUI_Preview.cpp @@ -186,6 +186,7 @@ Preview::Preview( : m_canvas_widget(nullptr) , m_canvas(nullptr) #if ENABLE_GCODE_VIEWER + , m_left_sizer(nullptr) , m_layers_slider_sizer(nullptr) , m_bottom_toolbar_panel(nullptr) #else @@ -237,6 +238,8 @@ bool Preview::init(wxWindow* parent, Model* model) if (!Create(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 /* disable wxTAB_TRAVERSAL */)) return false; + SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); + m_canvas_widget = OpenGLManager::create_wxglcanvas(*this); if (m_canvas_widget == nullptr) return false; @@ -255,9 +258,7 @@ bool Preview::init(wxWindow* parent, Model* model) m_layers_slider_sizer = create_layers_slider_sizer(); m_bottom_toolbar_panel = new wxPanel(this); - m_label_view_type = new wxStaticText(m_bottom_toolbar_panel, wxID_ANY, _L("View")); - m_choice_view_type = new wxChoice(m_bottom_toolbar_panel, wxID_ANY); #else m_double_slider_sizer = new wxBoxSizer(wxHORIZONTAL); @@ -340,15 +341,13 @@ bool Preview::init(wxWindow* parent, Model* model) m_checkbox_legend->SetValue(true); #endif // ENABLE_GCODE_VIEWER - wxBoxSizer* top_sizer = new wxBoxSizer(wxHORIZONTAL); - top_sizer->Add(m_canvas_widget, 1, wxALL | wxEXPAND, 0); #if ENABLE_GCODE_VIEWER - top_sizer->Add(m_layers_slider_sizer, 0, wxEXPAND, 0); -#else - top_sizer->Add(m_double_slider_sizer, 0, wxEXPAND, 0); -#endif // ENABLE_GCODE_VIEWER + m_left_sizer = new wxBoxSizer(wxVERTICAL); + m_left_sizer->Add(m_canvas_widget, 1, wxALL | wxEXPAND, 0); + + wxBoxSizer* right_sizer = new wxBoxSizer(wxVERTICAL); + right_sizer->Add(m_layers_slider_sizer, 1, wxEXPAND, 0); -#if ENABLE_GCODE_VIEWER m_moves_slider = new DoubleSlider::Control(m_bottom_toolbar_panel, wxID_ANY, 0, 0, 0, 100, wxDefaultPosition, wxSize(-1, 3 * GetTextExtent("m").y), wxSL_HORIZONTAL); m_moves_slider->SetDrawMode(DoubleSlider::dmSequentialGCodeView); @@ -366,7 +365,18 @@ bool Preview::init(wxWindow* parent, Model* model) bottom_toolbar_sizer->AddSpacer(5); bottom_toolbar_sizer->Add(m_moves_slider, 1, wxALL | wxEXPAND, 0); m_bottom_toolbar_panel->SetSizer(bottom_toolbar_sizer); + + m_left_sizer->Add(m_bottom_toolbar_panel, 0, wxALL | wxEXPAND, 0); + m_left_sizer->Hide(m_bottom_toolbar_panel); + + wxBoxSizer* main_sizer = new wxBoxSizer(wxHORIZONTAL); + main_sizer->Add(m_left_sizer, 1, wxALL | wxEXPAND, 0); + main_sizer->Add(right_sizer, 0, wxALL | wxEXPAND, 0); #else + wxBoxSizer* top_sizer = new wxBoxSizer(wxHORIZONTAL); + top_sizer->Add(m_canvas_widget, 1, wxALL | wxEXPAND, 0); + top_sizer->Add(m_double_slider_sizer, 0, wxEXPAND, 0); + wxBoxSizer* bottom_sizer = new wxBoxSizer(wxHORIZONTAL); bottom_sizer->Add(m_label_view_type, 0, wxALIGN_CENTER_VERTICAL, 5); bottom_sizer->Add(m_choice_view_type, 0, wxEXPAND | wxALL, 5); @@ -383,16 +393,12 @@ bool Preview::init(wxWindow* parent, Model* model) bottom_sizer->Add(m_checkbox_shells, 0, wxEXPAND | wxALL, 5); bottom_sizer->AddSpacer(20); bottom_sizer->Add(m_checkbox_legend, 0, wxEXPAND | wxALL, 5); -#endif // ENABLE_GCODE_VIEWER wxBoxSizer* main_sizer = new wxBoxSizer(wxVERTICAL); main_sizer->Add(top_sizer, 1, wxALL | wxEXPAND, 0); -#if ENABLE_GCODE_VIEWER - main_sizer->Add(m_bottom_toolbar_panel, 0, wxALL | wxEXPAND, 0); - main_sizer->Hide(m_bottom_toolbar_panel); -#else main_sizer->Add(bottom_sizer, 0, wxALL | wxEXPAND, 0); #endif // ENABLE_GCODE_VIEWER + SetSizer(main_sizer); SetMinSize(GetSize()); GetSizer()->SetSizeHints(this); @@ -1233,8 +1239,8 @@ void Preview::load_print_as_fff(bool keep_z_range) { #if ENABLE_GCODE_VIEWER hide_layers_slider(); - GetSizer()->Hide(m_bottom_toolbar_panel); - GetSizer()->Layout(); + m_left_sizer->Hide(m_bottom_toolbar_panel); + m_left_sizer->Layout(); Refresh(); #else reset_sliders(true); @@ -1309,8 +1315,8 @@ void Preview::load_print_as_fff(bool keep_z_range) #if ENABLE_GCODE_VIEWER m_canvas->load_gcode_preview(*m_gcode_result); m_canvas->refresh_gcode_preview(*m_gcode_result, colors); - GetSizer()->Show(m_bottom_toolbar_panel); - GetSizer()->Layout(); + m_left_sizer->Show(m_bottom_toolbar_panel); + m_left_sizer->Layout(); Refresh(); zs = m_canvas->get_gcode_layers_zs(); #else @@ -1321,8 +1327,8 @@ void Preview::load_print_as_fff(bool keep_z_range) // Load the initial preview based on slices, not the final G-code. m_canvas->load_preview(colors, color_print_values); #if ENABLE_GCODE_VIEWER - GetSizer()->Hide(m_bottom_toolbar_panel); - GetSizer()->Layout(); + m_left_sizer->Hide(m_bottom_toolbar_panel); + m_left_sizer->Layout(); Refresh(); zs = m_canvas->get_volumes_print_zs(true); #endif // ENABLE_GCODE_VIEWER @@ -1384,8 +1390,9 @@ void Preview::load_print_as_sla() { m_canvas->load_sla_preview(); #if ENABLE_GCODE_VIEWER - GetSizer()->Hide(m_bottom_toolbar_panel); - GetSizer()->Layout(); + m_left_sizer->Hide(m_bottom_toolbar_panel); + m_left_sizer->Hide(m_bottom_toolbar_panel); + m_left_sizer->Layout(); Refresh(); #else show_hide_ui_elements("none"); diff --git a/src/slic3r/GUI/GUI_Preview.hpp b/src/slic3r/GUI/GUI_Preview.hpp index c74dccc5c..ddb7af86f 100644 --- a/src/slic3r/GUI/GUI_Preview.hpp +++ b/src/slic3r/GUI/GUI_Preview.hpp @@ -84,6 +84,7 @@ class Preview : public wxPanel wxGLCanvas* m_canvas_widget; GLCanvas3D* m_canvas; #if ENABLE_GCODE_VIEWER + wxBoxSizer* m_left_sizer; wxBoxSizer* m_layers_slider_sizer; wxPanel* m_bottom_toolbar_panel; #else