diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index b3c3c2066..ad23b4cbe 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -39,8 +39,6 @@ //==================== #define ENABLE_2_5_0_ALPHA1 1 -// Enable changes in preview layout -#define ENABLE_PREVIEW_LAYOUT (1 && ENABLE_2_5_0_ALPHA1) // Enable removal of wipe tower magic object_id equal to 1000 #define ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL (1 && ENABLE_2_5_0_ALPHA1) // Enable removal of legacy OpenGL calls diff --git a/src/slic3r/GUI/GCodeViewer.cpp b/src/slic3r/GUI/GCodeViewer.cpp index 0f9075d98..be232c178 100644 --- a/src/slic3r/GUI/GCodeViewer.cpp +++ b/src/slic3r/GUI/GCodeViewer.cpp @@ -907,21 +907,10 @@ void GCodeViewer::refresh(const GCodeProcessorResult& gcode_result, const std::v #endif // ENABLE_GCODE_VIEWER_STATISTICS // update buffers' render paths -#if ENABLE_PREVIEW_LAYOUT refresh_render_paths(false, false); -#else - refresh_render_paths(); -#endif // ENABLE_PREVIEW_LAYOUT log_memory_used("Refreshed G-code extrusion paths, "); } -#if !ENABLE_PREVIEW_LAYOUT -void GCodeViewer::refresh_render_paths() -{ - refresh_render_paths(false, false); -} -#endif // !ENABLE_PREVIEW_LAYOUT - void GCodeViewer::update_shells_color_by_extruder(const DynamicPrintConfig* config) { if (config != nullptr) @@ -958,9 +947,7 @@ void GCodeViewer::reset() m_statistics.reset_all(); #endif // ENABLE_GCODE_VIEWER_STATISTICS m_contained_in_bed = true; -#if ENABLE_PREVIEW_LAYOUT m_legend_resizer.reset(); -#endif // ENABLE_PREVIEW_LAYOUT } void GCodeViewer::render() @@ -1073,9 +1060,6 @@ unsigned int GCodeViewer::get_options_visibility_flags() const flags = set_flag(flags, static_cast(Preview::OptionType::CenterOfGravity), m_cog.is_visible()); flags = set_flag(flags, static_cast(Preview::OptionType::Shells), m_shells.visible); flags = set_flag(flags, static_cast(Preview::OptionType::ToolMarker), m_sequential_view.marker.is_visible()); -#if !ENABLE_PREVIEW_LAYOUT - flags = set_flag(flags, static_cast(Preview::OptionType::Legend), is_legend_enabled()); -#endif // !ENABLE_PREVIEW_LAYOUT return flags; } @@ -1097,9 +1081,6 @@ void GCodeViewer::set_options_visibility_from_flags(unsigned int flags) m_cog.set_visible(is_flag_set(static_cast(Preview::OptionType::CenterOfGravity))); m_shells.visible = is_flag_set(static_cast(Preview::OptionType::Shells)); m_sequential_view.marker.set_visible(is_flag_set(static_cast(Preview::OptionType::ToolMarker))); -#if !ENABLE_PREVIEW_LAYOUT - enable_legend(is_flag_set(static_cast(Preview::OptionType::Legend))); -#endif // !ENABLE_PREVIEW_LAYOUT } void GCodeViewer::set_layers_z_range(const std::array& layers_z_range) @@ -3434,11 +3415,7 @@ void GCodeViewer::render_legend(float& legend_height) const float max_height = 0.75f * static_cast(cnv_size.get_height()); const float child_height = 0.3333f * max_height; ImGui::SetNextWindowSizeConstraints({ 0.0f, 0.0f }, { -1.0f, max_height }); -#if ENABLE_PREVIEW_LAYOUT imgui.begin(std::string("Legend"), ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove); -#else - imgui.begin(std::string("Legend"), ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoMove); -#endif // ENABLE_PREVIEW_LAYOUT enum class EItemType : unsigned char { @@ -3792,7 +3769,6 @@ void GCodeViewer::render_legend(float& legend_height) offsets = calculate_offsets(labels, times, { "Extruder NNN", longest_used_filament_string }, icon_size); } -#if ENABLE_PREVIEW_LAYOUT // selection section bool view_type_changed = false; int old_view_type = static_cast(get_view_type()); @@ -3830,156 +3806,124 @@ void GCodeViewer::render_legend(float& legend_height) append_headers({ _u8L(""), _u8L("Used filament"), _u8L(""), _u8L("") }, offsets); else ImGui::Separator(); -#else - // extrusion paths section -> title - switch (m_view_type) - { - case EViewType::FeatureType: - { - append_headers({ _u8L("Feature type"), _u8L("Time"), _u8L("Percentage"), _u8L("Used filament") }, offsets); - break; - } - case EViewType::Height: { imgui.title(_u8L("Height (mm)")); break; } - case EViewType::Width: { imgui.title(_u8L("Width (mm)")); break; } - case EViewType::Feedrate: { imgui.title(_u8L("Speed (mm/s)")); break; } - case EViewType::FanSpeed: { imgui.title(_u8L("Fan Speed (%)")); break; } - case EViewType::Temperature: { imgui.title(_u8L("Temperature (°C)")); break; } - case EViewType::VolumetricRate: { imgui.title(_u8L("Volumetric flow rate (mm³/s)")); break; } - case EViewType::LayerTimeLinear: { imgui.title(_u8L("Layer time (linear)")); break; } - case EViewType::LayerTimeLogarithmic: { imgui.title(_u8L("Layer time (logarithmic)")); break; } - case EViewType::Tool: { - append_headers({ _u8L("Tool"), _u8L("Used filament") }, offsets); - break; - } - case EViewType::ColorPrint: { imgui.title(_u8L("Color Print")); break; } - default: { break; } - } -#endif // ENABLE_PREVIEW_LAYOUT -#if ENABLE_PREVIEW_LAYOUT if (!view_type_changed) { -#endif // ENABLE_PREVIEW_LAYOUT - // extrusion paths section -> items - switch (m_view_type) - { - case EViewType::FeatureType: - { - max_time_percent = std::max(max_time_percent, time_mode.travel_time / time_mode.time); + // extrusion paths section -> items + switch (m_view_type) + { + case EViewType::FeatureType: + { + max_time_percent = std::max(max_time_percent, time_mode.travel_time / time_mode.time); - for (size_t i = 0; i < m_roles.size(); ++i) { - ExtrusionRole role = m_roles[i]; - if (role >= erCount) - continue; - const bool visible = is_visible(role); - append_item(EItemType::Rect, Extrusion_Role_Colors[static_cast(role)], labels[i], - visible, times[i], percents[i], max_time_percent, offsets, used_filaments_m[i], used_filaments_g[i], [this, role, visible]() { - m_extrusions.role_visibility_flags = visible ? m_extrusions.role_visibility_flags & ~(1 << role) : m_extrusions.role_visibility_flags | (1 << role); - // update buffers' render paths - refresh_render_paths(false, false); - wxGetApp().plater()->update_preview_moves_slider(); - wxGetApp().plater()->get_current_canvas3D()->set_as_dirty(); -#if !ENABLE_PREVIEW_LAYOUT - wxGetApp().plater()->update_preview_bottom_toolbar(); -#endif // !ENABLE_PREVIEW_LAYOUT - } - ); - } - - if (m_buffers[buffer_id(EMoveType::Travel)].visible) - append_item(EItemType::Line, Travel_Colors[0], _u8L("Travel"), true, short_time(get_time_dhms(time_mode.travel_time)), - time_mode.travel_time / time_mode.time, max_time_percent, offsets, 0.0f, 0.0f); - - break; - } - case EViewType::Height: { append_range(m_extrusions.ranges.height, 3); break; } - case EViewType::Width: { append_range(m_extrusions.ranges.width, 3); break; } - case EViewType::Feedrate: { append_range(m_extrusions.ranges.feedrate, 1); break; } - case EViewType::FanSpeed: { append_range(m_extrusions.ranges.fan_speed, 0); break; } - case EViewType::Temperature: { append_range(m_extrusions.ranges.temperature, 0); break; } - case EViewType::VolumetricRate: { append_range(m_extrusions.ranges.volumetric_rate, 3); break; } - case EViewType::LayerTimeLinear: { append_time_range(m_extrusions.ranges.layer_time[static_cast(m_time_estimate_mode)], Extrusions::Range::EType::Linear); break; } - case EViewType::LayerTimeLogarithmic: { append_time_range(m_extrusions.ranges.layer_time[static_cast(m_time_estimate_mode)], Extrusions::Range::EType::Logarithmic); break; } - case EViewType::Tool: { - // shows only extruders actually used - for (unsigned char extruder_id : m_extruder_ids) { - if (used_filaments_m[extruder_id] > 0.0 && used_filaments_g[extruder_id] > 0.0) - append_item(EItemType::Rect, m_tool_colors[extruder_id], _u8L("Extruder") + " " + std::to_string(extruder_id + 1), - true, "", 0.0f, 0.0f, offsets, used_filaments_m[extruder_id], used_filaments_g[extruder_id]); - } - break; - } - case EViewType::ColorPrint: - { - const std::vector& custom_gcode_per_print_z = wxGetApp().is_editor() ? wxGetApp().plater()->model().custom_gcode_per_print_z.gcodes : m_custom_gcode_per_print_z; - size_t total_items = 1; - for (unsigned char i : m_extruder_ids) { - total_items += color_print_ranges(i, custom_gcode_per_print_z).size(); - } - - const bool need_scrollable = static_cast(total_items) * icon_size + (static_cast(total_items) - 1.0f) * ImGui::GetStyle().ItemSpacing.y > child_height; - - // add scrollable region, if needed - if (need_scrollable) - ImGui::BeginChild("color_prints", { -1.0f, child_height }, false); - if (m_extruders_count == 1) { // single extruder use case - const std::vector>> cp_values = color_print_ranges(0, custom_gcode_per_print_z); - const int items_cnt = static_cast(cp_values.size()); - if (items_cnt == 0) // There are no color changes, but there are some pause print or custom Gcode - append_item(EItemType::Rect, m_tool_colors.front(), _u8L("Default color")); - else { - for (int i = items_cnt; i >= 0; --i) { - // create label for color change item - if (i == 0) { - append_item(EItemType::Rect, m_tool_colors[0], upto_label(cp_values.front().second.first)); - break; + for (size_t i = 0; i < m_roles.size(); ++i) { + ExtrusionRole role = m_roles[i]; + if (role >= erCount) + continue; + const bool visible = is_visible(role); + append_item(EItemType::Rect, Extrusion_Role_Colors[static_cast(role)], labels[i], + visible, times[i], percents[i], max_time_percent, offsets, used_filaments_m[i], used_filaments_g[i], [this, role, visible]() { + m_extrusions.role_visibility_flags = visible ? m_extrusions.role_visibility_flags & ~(1 << role) : m_extrusions.role_visibility_flags | (1 << role); + // update buffers' render paths + refresh_render_paths(false, false); + wxGetApp().plater()->update_preview_moves_slider(); + wxGetApp().plater()->get_current_canvas3D()->set_as_dirty(); } - else if (i == items_cnt) { - append_item(EItemType::Rect, cp_values[i - 1].first, above_label(cp_values[i - 1].second.second)); - continue; - } - append_item(EItemType::Rect, cp_values[i - 1].first, fromto_label(cp_values[i - 1].second.second, cp_values[i].second.first)); - } + ); } + + if (m_buffers[buffer_id(EMoveType::Travel)].visible) + append_item(EItemType::Line, Travel_Colors[0], _u8L("Travel"), true, short_time(get_time_dhms(time_mode.travel_time)), + time_mode.travel_time / time_mode.time, max_time_percent, offsets, 0.0f, 0.0f); + + break; } - else { // multi extruder use case + case EViewType::Height: { append_range(m_extrusions.ranges.height, 3); break; } + case EViewType::Width: { append_range(m_extrusions.ranges.width, 3); break; } + case EViewType::Feedrate: { append_range(m_extrusions.ranges.feedrate, 1); break; } + case EViewType::FanSpeed: { append_range(m_extrusions.ranges.fan_speed, 0); break; } + case EViewType::Temperature: { append_range(m_extrusions.ranges.temperature, 0); break; } + case EViewType::VolumetricRate: { append_range(m_extrusions.ranges.volumetric_rate, 3); break; } + case EViewType::LayerTimeLinear: { append_time_range(m_extrusions.ranges.layer_time[static_cast(m_time_estimate_mode)], Extrusions::Range::EType::Linear); break; } + case EViewType::LayerTimeLogarithmic: { append_time_range(m_extrusions.ranges.layer_time[static_cast(m_time_estimate_mode)], Extrusions::Range::EType::Logarithmic); break; } + case EViewType::Tool: { // shows only extruders actually used + for (unsigned char extruder_id : m_extruder_ids) { + if (used_filaments_m[extruder_id] > 0.0 && used_filaments_g[extruder_id] > 0.0) + append_item(EItemType::Rect, m_tool_colors[extruder_id], _u8L("Extruder") + " " + std::to_string(extruder_id + 1), + true, "", 0.0f, 0.0f, offsets, used_filaments_m[extruder_id], used_filaments_g[extruder_id]); + } + break; + } + case EViewType::ColorPrint: + { + const std::vector& custom_gcode_per_print_z = wxGetApp().is_editor() ? wxGetApp().plater()->model().custom_gcode_per_print_z.gcodes : m_custom_gcode_per_print_z; + size_t total_items = 1; for (unsigned char i : m_extruder_ids) { - const std::vector>> cp_values = color_print_ranges(i, custom_gcode_per_print_z); + total_items += color_print_ranges(i, custom_gcode_per_print_z).size(); + } + + const bool need_scrollable = static_cast(total_items) * icon_size + (static_cast(total_items) - 1.0f) * ImGui::GetStyle().ItemSpacing.y > child_height; + + // add scrollable region, if needed + if (need_scrollable) + ImGui::BeginChild("color_prints", { -1.0f, child_height }, false); + if (m_extruders_count == 1) { // single extruder use case + const std::vector>> cp_values = color_print_ranges(0, custom_gcode_per_print_z); const int items_cnt = static_cast(cp_values.size()); - if (items_cnt == 0) - // There are no color changes, but there are some pause print or custom Gcode - append_item(EItemType::Rect, m_tool_colors[i], _u8L("Extruder") + " " + std::to_string(i + 1) + " " + _u8L("default color")); + if (items_cnt == 0) // There are no color changes, but there are some pause print or custom Gcode + append_item(EItemType::Rect, m_tool_colors.front(), _u8L("Default color")); else { - for (int j = items_cnt; j >= 0; --j) { + for (int i = items_cnt; i >= 0; --i) { // create label for color change item - std::string label = _u8L("Extruder") + " " + std::to_string(i + 1); - if (j == 0) { - label += " " + upto_label(cp_values.front().second.first); - append_item(EItemType::Rect, m_tool_colors[i], label); + if (i == 0) { + append_item(EItemType::Rect, m_tool_colors[0], upto_label(cp_values.front().second.first)); break; } - else if (j == items_cnt) { - label += " " + above_label(cp_values[j - 1].second.second); - append_item(EItemType::Rect, cp_values[j - 1].first, label); + else if (i == items_cnt) { + append_item(EItemType::Rect, cp_values[i - 1].first, above_label(cp_values[i - 1].second.second)); continue; } - - label += " " + fromto_label(cp_values[j - 1].second.second, cp_values[j].second.first); - append_item(EItemType::Rect, cp_values[j - 1].first, label); + append_item(EItemType::Rect, cp_values[i - 1].first, fromto_label(cp_values[i - 1].second.second, cp_values[i].second.first)); } } } - } - if (need_scrollable) - ImGui::EndChild(); + else { // multi extruder use case + // shows only extruders actually used + for (unsigned char i : m_extruder_ids) { + const std::vector>> cp_values = color_print_ranges(i, custom_gcode_per_print_z); + const int items_cnt = static_cast(cp_values.size()); + if (items_cnt == 0) + // There are no color changes, but there are some pause print or custom Gcode + append_item(EItemType::Rect, m_tool_colors[i], _u8L("Extruder") + " " + std::to_string(i + 1) + " " + _u8L("default color")); + else { + for (int j = items_cnt; j >= 0; --j) { + // create label for color change item + std::string label = _u8L("Extruder") + " " + std::to_string(i + 1); + if (j == 0) { + label += " " + upto_label(cp_values.front().second.first); + append_item(EItemType::Rect, m_tool_colors[i], label); + break; + } + else if (j == items_cnt) { + label += " " + above_label(cp_values[j - 1].second.second); + append_item(EItemType::Rect, cp_values[j - 1].first, label); + continue; + } - break; + label += " " + fromto_label(cp_values[j - 1].second.second, cp_values[j].second.first); + append_item(EItemType::Rect, cp_values[j - 1].first, label); + } + } + } + } + if (need_scrollable) + ImGui::EndChild(); + + break; + } + default: { break; } + } } - default: { break; } - } -#if ENABLE_PREVIEW_LAYOUT - } -#endif // ENABLE_PREVIEW_LAYOUT // partial estimated printing time section if (m_view_type == EViewType::ColorPrint) { @@ -4156,89 +4100,6 @@ void GCodeViewer::render_legend(float& legend_height) } } -#if !ENABLE_PREVIEW_LAYOUT - // travel paths section - if (m_buffers[buffer_id(EMoveType::Travel)].visible) { - switch (m_view_type) - { - case EViewType::Feedrate: - case EViewType::Tool: - case EViewType::ColorPrint: { - break; - } - default: { - // title - ImGui::Spacing(); - imgui.title(_u8L("Travel")); - - // items - append_item(EItemType::Line, Travel_Colors[0], _u8L("Movement")); - append_item(EItemType::Line, Travel_Colors[1], _u8L("Extrusion")); - append_item(EItemType::Line, Travel_Colors[2], _u8L("Retraction")); - - break; - } - } - } - - // wipe paths section - if (m_buffers[buffer_id(EMoveType::Wipe)].visible) { - switch (m_view_type) - { - case EViewType::Feedrate: - case EViewType::Tool: - case EViewType::ColorPrint: { break; } - default: { - // title - ImGui::Spacing(); - imgui.title(_u8L("Wipe")); - - // items - append_item(EItemType::Line, Wipe_Color, _u8L("Wipe")); - - break; - } - } - } - - auto any_option_available = [this]() { - auto available = [this](EMoveType type) { - const TBuffer& buffer = m_buffers[buffer_id(type)]; - return buffer.visible && buffer.has_data(); - }; - - return available(EMoveType::Color_change) || - available(EMoveType::Custom_GCode) || - available(EMoveType::Pause_Print) || - available(EMoveType::Retract) || - available(EMoveType::Tool_change) || - available(EMoveType::Unretract) || - available(EMoveType::Seam); - }; - - auto add_option = [this, append_item](EMoveType move_type, EOptionsColors color, const std::string& text) { - const TBuffer& buffer = m_buffers[buffer_id(move_type)]; - if (buffer.visible && buffer.has_data()) - append_item(EItemType::Circle, Options_Colors[static_cast(color)], text); - }; - - // options section - if (any_option_available()) { - // title - ImGui::Spacing(); - imgui.title(_u8L("Options")); - - // items - add_option(EMoveType::Retract, EOptionsColors::Retractions, _u8L("Retractions")); - add_option(EMoveType::Unretract, EOptionsColors::Unretractions, _u8L("Deretractions")); - add_option(EMoveType::Seam, EOptionsColors::Seams, _u8L("Seams")); - add_option(EMoveType::Tool_change, EOptionsColors::ToolChanges, _u8L("Tool changes")); - add_option(EMoveType::Color_change, EOptionsColors::ColorChanges, _u8L("Color changes")); - add_option(EMoveType::Pause_Print, EOptionsColors::PausePrints, _u8L("Print pauses")); - add_option(EMoveType::Custom_GCode, EOptionsColors::CustomGCodes, _u8L("Custom G-codes")); - } -#endif // !ENABLE_PREVIEW_LAYOUT - auto add_strings_row_to_table = [&imgui](const std::string& col_1, const ImVec4& col_1_color, const std::string& col_2, const ImVec4& col_2_color) { ImGui::TableNextRow(); ImGui::TableSetColumnIndex(0); @@ -4361,7 +4222,6 @@ void GCodeViewer::render_legend(float& legend_height) } } -#if ENABLE_PREVIEW_LAYOUT // toolbar section auto toggle_button = [this, &imgui, icon_size](Preview::OptionType type, const std::string& name, std::function draw_callback) { @@ -4472,7 +4332,6 @@ void GCodeViewer::render_legend(float& legend_height) wxGetApp().plater()->get_current_canvas3D()->request_extra_frame(); } m_legend_resizer.dirty = size_dirty; -#endif // ENABLE_PREVIEW_LAYOUT legend_height = ImGui::GetWindowHeight(); diff --git a/src/slic3r/GUI/GCodeViewer.hpp b/src/slic3r/GUI/GCodeViewer.hpp index 6f7f01560..0785f6a04 100644 --- a/src/slic3r/GUI/GCodeViewer.hpp +++ b/src/slic3r/GUI/GCodeViewer.hpp @@ -773,14 +773,12 @@ private: COG m_cog; EViewType m_view_type{ EViewType::FeatureType }; bool m_legend_enabled{ true }; -#if ENABLE_PREVIEW_LAYOUT struct LegendResizer { bool dirty{ true }; void reset() { dirty = true; } }; LegendResizer m_legend_resizer; -#endif // ENABLE_PREVIEW_LAYOUT PrintEstimatedStatistics m_print_statistics; PrintEstimatedStatistics::ETimeMode m_time_estimate_mode{ PrintEstimatedStatistics::ETimeMode::Normal }; #if ENABLE_GCODE_VIEWER_STATISTICS @@ -808,11 +806,7 @@ public: #endif // ENABLE_LEGACY_OPENGL_REMOVAL // recalculate ranges in dependence of what is visible and sets tool/print colors void refresh(const GCodeProcessorResult& gcode_result, const std::vector& str_tool_colors); -#if ENABLE_PREVIEW_LAYOUT void refresh_render_paths(bool keep_sequential_current_first, bool keep_sequential_current_last) const; -#else - void refresh_render_paths(); -#endif // ENABLE_PREVIEW_LAYOUT void update_shells_color_by_extruder(const DynamicPrintConfig* config); void reset(); @@ -857,9 +851,7 @@ public: std::vector& get_custom_gcode_per_print_z() { return m_custom_gcode_per_print_z; } size_t get_extruders_count() { return m_extruders_count; } -#if ENABLE_PREVIEW_LAYOUT void invalidate_legend() { m_legend_resizer.reset(); } -#endif // ENABLE_PREVIEW_LAYOUT private: void load_toolpaths(const GCodeProcessorResult& gcode_result); @@ -868,9 +860,6 @@ private: #else void load_shells(const Print& print, bool initialized); #endif // ENABLE_LEGACY_OPENGL_REMOVAL -#if !ENABLE_PREVIEW_LAYOUT - void refresh_render_paths(bool keep_sequential_current_first, bool keep_sequential_current_last) const; -#endif // !ENABLE_PREVIEW_LAYOUT void render_toolpaths(); void render_shells(); void render_legend(float& legend_height); diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 84a892859..04a691871 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2506,21 +2506,12 @@ void GLCanvas3D::load_gcode_preview(const GCodeProcessorResult& gcode_result, co request_extra_frame(); } -#if ENABLE_PREVIEW_LAYOUT void GLCanvas3D::refresh_gcode_preview_render_paths(bool keep_sequential_current_first, bool keep_sequential_current_last) { m_gcode_viewer.refresh_render_paths(keep_sequential_current_first, keep_sequential_current_last); set_as_dirty(); request_extra_frame(); } -#else -void GLCanvas3D::refresh_gcode_preview_render_paths() -{ - m_gcode_viewer.refresh_render_paths(); - set_as_dirty(); - request_extra_frame(); -} -#endif // ENABLE_PREVIEW_LAYOUT void GLCanvas3D::load_sla_preview() { @@ -2827,15 +2818,8 @@ void GLCanvas3D::on_char(wxKeyEvent& evt) case 'k': { wxGetApp().plater()->get_camera().select_next_type(); m_dirty = true; break; } case 'L': case 'l': { - if (!m_main_toolbar.is_enabled()) { -#if ENABLE_PREVIEW_LAYOUT + if (!m_main_toolbar.is_enabled()) show_legend(!is_legend_shown()); -#else - m_gcode_viewer.enable_legend(!m_gcode_viewer.is_legend_enabled()); - m_dirty = true; - wxGetApp().plater()->update_preview_bottom_toolbar(); -#endif // ENABLE_PREVIEW_LAYOUT - } break; } case 'O': @@ -4284,9 +4268,7 @@ void GLCanvas3D::set_cursor(ECursorType type) void GLCanvas3D::msw_rescale() { -#if ENABLE_PREVIEW_LAYOUT m_gcode_viewer.invalidate_legend(); -#endif // ENABLE_PREVIEW_LAYOUT } void GLCanvas3D::update_tooltip_for_settings_item_in_main_toolbar() diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index ec6f82011..0adf1cb26 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -817,11 +817,7 @@ public: void reload_scene(bool refresh_immediately, bool force_full_scene_refresh = false); void load_gcode_preview(const GCodeProcessorResult& gcode_result, const std::vector& str_tool_colors); -#if ENABLE_PREVIEW_LAYOUT void refresh_gcode_preview_render_paths(bool keep_sequential_current_first, bool keep_sequential_current_last); -#else - void refresh_gcode_preview_render_paths(); -#endif // ENABLE_PREVIEW_LAYOUT void set_gcode_view_preview_type(GCodeViewer::EViewType type) { return m_gcode_viewer.set_view_type(type); } GCodeViewer::EViewType get_gcode_view_preview_type() const { return m_gcode_viewer.get_view_type(); } void load_sla_preview(); @@ -915,10 +911,8 @@ public: bool are_labels_shown() const { return m_labels.is_shown(); } void show_labels(bool show) { m_labels.show(show); } -#if ENABLE_PREVIEW_LAYOUT bool is_legend_shown() const { return m_gcode_viewer.is_legend_enabled(); } void show_legend(bool show) { m_gcode_viewer.enable_legend(show); m_dirty = true; } -#endif // ENABLE_PREVIEW_LAYOUT bool is_using_slope() const { return m_slope.is_used(); } void use_slope(bool use) { m_slope.use(use); } diff --git a/src/slic3r/GUI/GUI_Preview.cpp b/src/slic3r/GUI/GUI_Preview.cpp index 4f965e604..7989c3cdc 100644 --- a/src/slic3r/GUI/GUI_Preview.cpp +++ b/src/slic3r/GUI/GUI_Preview.cpp @@ -208,73 +208,6 @@ bool Preview::init(wxWindow* parent, Bed3D& bed, Model* model) m_layers_slider_sizer = create_layers_slider_sizer(); wxGetApp().UpdateDarkUI(m_bottom_toolbar_panel = new wxPanel(this)); -#if !ENABLE_PREVIEW_LAYOUT - m_label_view_type = new wxStaticText(m_bottom_toolbar_panel, wxID_ANY, _L("View")); -#ifdef _WIN32 - wxGetApp().UpdateDarkUI(m_choice_view_type = new BitmapComboBox(m_bottom_toolbar_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY)); -#else - m_choice_view_type = new wxComboBox(m_bottom_toolbar_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY); -#endif - m_choice_view_type->Append(_L("Feature type")); - m_choice_view_type->Append(_L("Height")); - m_choice_view_type->Append(_L("Width")); - m_choice_view_type->Append(_L("Speed")); - m_choice_view_type->Append(_L("Fan speed")); - m_choice_view_type->Append(_L("Temperature")); - m_choice_view_type->Append(_L("Volumetric flow rate")); - m_choice_view_type->Append(_L("Layer time (linear)")); - m_choice_view_type->Append(_L("Layer time (logarithmic)")); - m_choice_view_type->Append(_L("Tool")); - m_choice_view_type->Append(_L("Color Print")); - m_choice_view_type->SetSelection(0); - - m_label_show = new wxStaticText(m_bottom_toolbar_panel, wxID_ANY, _L("Show")); - -#ifdef _WIN32 - long combo_style = wxCB_READONLY | wxBORDER_SIMPLE; //set border allows use default color instead of theme color wich is allways light under MSW -#else - long combo_style = wxCB_READONLY; -#endif - - m_combochecklist_features = new wxComboCtrl(); - m_combochecklist_features->Create(m_bottom_toolbar_panel, wxID_ANY, _L("Feature types"), wxDefaultPosition, wxDefaultSize, combo_style); - std::string feature_items = GUI::into_u8( - _L("Unknown") + "|1|" + - _L("Perimeter") + "|1|" + - _L("External perimeter") + "|1|" + - _L("Overhang perimeter") + "|1|" + - _L("Internal infill") + "|1|" + - _L("Solid infill") + "|1|" + - _L("Top solid infill") + "|1|" + - _L("Ironing") + "|1|" + - _L("Bridge infill") + "|1|" + - _L("Gap fill") + "|1|" + - _L("Skirt/Brim") + "|1|" + - _L("Support material") + "|1|" + - _L("Support material interface") + "|1|" + - _L("Wipe tower") + "|1|" + - _L("Custom") + "|1" - ); - Slic3r::GUI::create_combochecklist(m_combochecklist_features, GUI::into_u8(_L("Feature types")), feature_items); - - m_combochecklist_options = new wxComboCtrl(); - m_combochecklist_options->Create(m_bottom_toolbar_panel, wxID_ANY, _L("Options"), wxDefaultPosition, wxDefaultSize, combo_style); - std::string options_items = GUI::into_u8( - get_option_type_string(OptionType::Travel) + "|0|" + - get_option_type_string(OptionType::Wipe) + "|0|" + - get_option_type_string(OptionType::Retractions) + "|0|" + - get_option_type_string(OptionType::Unretractions) + "|0|" + - get_option_type_string(OptionType::Seams) + "|0|" + - get_option_type_string(OptionType::ToolChanges) + "|0|" + - get_option_type_string(OptionType::ColorChanges) + "|0|" + - get_option_type_string(OptionType::PausePrints) + "|0|" + - get_option_type_string(OptionType::CustomGCodes) + "|0|" + - get_option_type_string(OptionType::Shells) + "|0|" + - get_option_type_string(OptionType::ToolMarker) + "|1|" + - get_option_type_string(OptionType::Legend) + "|1" - ); - Slic3r::GUI::create_combochecklist(m_combochecklist_options, GUI::into_u8(_L("Options")), options_items); -#endif // !ENABLE_PREVIEW_LAYOUT m_left_sizer = new wxBoxSizer(wxVERTICAL); m_left_sizer->Add(m_canvas_widget, 1, wxALL | wxEXPAND, 0); @@ -286,19 +219,6 @@ bool Preview::init(wxWindow* parent, Bed3D& bed, Model* model) m_moves_slider->SetDrawMode(DoubleSlider::dmSequentialGCodeView); wxBoxSizer* bottom_toolbar_sizer = new wxBoxSizer(wxHORIZONTAL); -#if !ENABLE_PREVIEW_LAYOUT - bottom_toolbar_sizer->AddSpacer(5); - bottom_toolbar_sizer->Add(m_label_view_type, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 5); - bottom_toolbar_sizer->Add(m_choice_view_type, 0, wxALIGN_CENTER_VERTICAL, 0); - bottom_toolbar_sizer->AddSpacer(5); - bottom_toolbar_sizer->Add(m_label_show, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5); - bottom_toolbar_sizer->Add(m_combochecklist_options, 0, wxALIGN_CENTER_VERTICAL, 0); - // change the following number if editing the layout of the bottom toolbar sizer. It is used into update_bottom_toolbar() - m_combochecklist_features_pos = 6; - bottom_toolbar_sizer->Add(m_combochecklist_features, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 5); - bottom_toolbar_sizer->Hide(m_combochecklist_features); - bottom_toolbar_sizer->AddSpacer(5); -#endif // !ENABLE_PREVIEW_LAYOUT bottom_toolbar_sizer->Add(m_moves_slider, 1, wxALL | wxEXPAND, 0); m_bottom_toolbar_panel->SetSizer(bottom_toolbar_sizer); @@ -360,9 +280,6 @@ void Preview::load_print(bool keep_z_range) else if (tech == ptSLA) load_print_as_sla(); -#if !ENABLE_PREVIEW_LAYOUT - update_bottom_toolbar(); -#endif // !ENABLE_PREVIEW_LAYOUT Layout(); } @@ -405,12 +322,6 @@ void Preview::refresh_print() void Preview::msw_rescale() { -#if !ENABLE_PREVIEW_LAYOUT -#ifdef _WIN32 - m_choice_view_type->Rescale(); - m_choice_view_type->SetMinSize(m_choice_view_type->GetSize()); -#endif -#endif // !ENABLE_PREVIEW_LAYOUT // rescale slider if (m_layers_slider != nullptr) m_layers_slider->msw_rescale(); if (m_moves_slider != nullptr) m_moves_slider->msw_rescale(); @@ -426,16 +337,8 @@ void Preview::sys_color_changed() { #ifdef _WIN32 wxWindowUpdateLocker noUpdates(this); - wxGetApp().UpdateAllStaticTextDarkUI(m_bottom_toolbar_panel); -#if !ENABLE_PREVIEW_LAYOUT - wxGetApp().UpdateDarkUI(m_choice_view_type); - wxGetApp().UpdateDarkUI(m_combochecklist_features); - wxGetApp().UpdateDarkUI(static_cast(m_combochecklist_features->GetPopupControl())); - wxGetApp().UpdateDarkUI(m_combochecklist_options); - wxGetApp().UpdateDarkUI(static_cast(m_combochecklist_options->GetPopupControl())); -#endif // !ENABLE_PREVIEW_LAYOUT -#endif +#endif // _WIN32 if (m_layers_slider != nullptr) m_layers_slider->sys_color_changed(); @@ -459,22 +362,12 @@ void Preview::edit_layers_slider(wxKeyEvent& evt) void Preview::bind_event_handlers() { Bind(wxEVT_SIZE, &Preview::on_size, this); -#if !ENABLE_PREVIEW_LAYOUT - m_choice_view_type->Bind(wxEVT_COMBOBOX, &Preview::on_choice_view_type, this); - m_combochecklist_features->Bind(wxEVT_CHECKLISTBOX, &Preview::on_combochecklist_features, this); - m_combochecklist_options->Bind(wxEVT_CHECKLISTBOX, &Preview::on_combochecklist_options, this); -#endif // !ENABLE_PREVIEW_LAYOUT m_moves_slider->Bind(wxEVT_SCROLL_CHANGED, &Preview::on_moves_slider_scroll_changed, this); } void Preview::unbind_event_handlers() { Unbind(wxEVT_SIZE, &Preview::on_size, this); -#if !ENABLE_PREVIEW_LAYOUT - m_choice_view_type->Unbind(wxEVT_COMBOBOX, &Preview::on_choice_view_type, this); - m_combochecklist_features->Unbind(wxEVT_CHECKLISTBOX, &Preview::on_combochecklist_features, this); - m_combochecklist_options->Unbind(wxEVT_CHECKLISTBOX, &Preview::on_combochecklist_options, this); -#endif // !ENABLE_PREVIEW_LAYOUT m_moves_slider->Unbind(wxEVT_SCROLL_CHANGED, &Preview::on_moves_slider_scroll_changed, this); } @@ -495,75 +388,6 @@ void Preview::on_size(wxSizeEvent& evt) Refresh(); } -#if !ENABLE_PREVIEW_LAYOUT -void Preview::on_choice_view_type(wxCommandEvent& evt) -{ - int selection = m_choice_view_type->GetCurrentSelection(); - if (0 <= selection && selection < static_cast(GCodeViewer::EViewType::Count)) { - m_canvas->set_toolpath_view_type(static_cast(selection)); - m_keep_current_preview_type = true; - } - refresh_print(); -} - -void Preview::on_combochecklist_features(wxCommandEvent& evt) -{ - unsigned int flags = Slic3r::GUI::combochecklist_get_flags(m_combochecklist_features); - m_canvas->set_toolpath_role_visibility_flags(flags); - refresh_print(); -} - -void Preview::on_combochecklist_options(wxCommandEvent& evt) -{ - const unsigned int curr_flags = m_canvas->get_gcode_options_visibility_flags(); - const unsigned int new_flags = Slic3r::GUI::combochecklist_get_flags(m_combochecklist_options); - if (curr_flags == new_flags) - return; - - m_canvas->set_gcode_options_visibility_from_flags(new_flags); - if (m_canvas->get_gcode_view_type() == GCodeViewer::EViewType::Feedrate) { - const unsigned int diff_flags = curr_flags ^ new_flags; - if ((diff_flags & (1 << static_cast(Preview::OptionType::Travel))) != 0) - refresh_print(); - else - m_canvas->refresh_gcode_preview_render_paths(); - } - else - m_canvas->refresh_gcode_preview_render_paths(); - - update_moves_slider(); -} - -void Preview::update_bottom_toolbar() -{ - combochecklist_set_flags(m_combochecklist_features, m_canvas->get_toolpath_role_visibility_flags()); - combochecklist_set_flags(m_combochecklist_options, m_canvas->get_gcode_options_visibility_flags()); - - // updates visibility of features combobox - if (m_bottom_toolbar_panel->IsShown()) { - wxSizer* sizer = m_bottom_toolbar_panel->GetSizer(); - bool show = !m_canvas->is_gcode_legend_enabled() || m_canvas->get_gcode_view_type() != GCodeViewer::EViewType::FeatureType; - - if (show) { - if (sizer->GetItem(m_combochecklist_features) == nullptr) { - sizer->Insert(m_combochecklist_features_pos, m_combochecklist_features, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 5); - sizer->Show(m_combochecklist_features); - sizer->Layout(); - Refresh(); - } - } - else { - if (sizer->GetItem(m_combochecklist_features) != nullptr) { - sizer->Hide(m_combochecklist_features); - sizer->Detach(m_combochecklist_features); - sizer->Layout(); - Refresh(); - } - } - } -} -#endif // !ENABLE_PREVIEW_LAYOUT - wxBoxSizer* Preview::create_layers_slider_sizer() { wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL); @@ -1022,7 +846,6 @@ void Preview::load_print_as_fff(bool keep_z_range) m_canvas->get_custom_gcode_per_print_z(); const bool contains_color_gcodes = std::any_of(std::begin(gcodes), std::end(gcodes), [] (auto const& item) { return item.type == CustomGCode::Type::ColorChange; }); -#if ENABLE_PREVIEW_LAYOUT const GCodeViewer::EViewType choice = contains_color_gcodes ? GCodeViewer::EViewType::ColorPrint : (number_extruders > 1) ? GCodeViewer::EViewType::Tool : GCodeViewer::EViewType::FeatureType; @@ -1032,21 +855,6 @@ void Preview::load_print_as_fff(bool keep_z_range) m_keep_current_preview_type = true; refresh_print(); } -#else - const wxString choice = contains_color_gcodes ? - _L("Color Print") : - (number_extruders > 1) ? _L("Tool") : _L("Feature type"); - int type = m_choice_view_type->FindString(choice); - if (m_choice_view_type->GetSelection() != type) { - if (0 <= type && type < static_cast(GCodeViewer::EViewType::Count)) { - m_choice_view_type->SetSelection(type); - m_canvas->set_gcode_view_preview_type(static_cast(type)); - if (wxGetApp().is_gcode_viewer()) - m_keep_current_preview_type = true; - refresh_print(); - } - } -#endif // ENABLE_PREVIEW_LAYOUT } if (zs.empty()) { @@ -1121,27 +929,5 @@ void Preview::on_moves_slider_scroll_changed(wxCommandEvent& event) m_canvas->render(); } -#if !ENABLE_PREVIEW_LAYOUT -wxString Preview::get_option_type_string(OptionType type) const -{ - switch (type) - { - case OptionType::Travel: { return _L("Travel"); } - case OptionType::Wipe: { return _L("Wipe"); } - case OptionType::Retractions: { return _L("Retractions"); } - case OptionType::Unretractions: { return _L("Deretractions"); } - case OptionType::Seams: { return _L("Seams"); } - case OptionType::ToolChanges: { return _L("Tool changes"); } - case OptionType::ColorChanges: { return _L("Color changes"); } - case OptionType::PausePrints: { return _L("Print pauses"); } - case OptionType::CustomGCodes: { return _L("Custom G-codes"); } - case OptionType::Shells: { return _L("Shells"); } - case OptionType::ToolMarker: { return _L("Tool marker"); } - case OptionType::Legend: { return _L("Legend/Estimated printing time"); } - default: { return ""; } - } -} -#endif // !ENABLE_PREVIEW_LAYOUT - } // namespace GUI } // namespace Slic3r diff --git a/src/slic3r/GUI/GUI_Preview.hpp b/src/slic3r/GUI/GUI_Preview.hpp index 1137f11b9..25d9fe084 100644 --- a/src/slic3r/GUI/GUI_Preview.hpp +++ b/src/slic3r/GUI/GUI_Preview.hpp @@ -80,18 +80,6 @@ class Preview : public wxPanel wxBoxSizer* m_left_sizer { nullptr }; wxBoxSizer* m_layers_slider_sizer { nullptr }; wxPanel* m_bottom_toolbar_panel { nullptr }; -#if !ENABLE_PREVIEW_LAYOUT - wxStaticText* m_label_view_type { nullptr }; -#ifdef _WIN32 - BitmapComboBox* m_choice_view_type { nullptr }; -#else - wxComboBox* m_choice_view_type { nullptr }; -#endif - wxStaticText* m_label_show{ nullptr }; - wxComboCtrl* m_combochecklist_features { nullptr }; - size_t m_combochecklist_features_pos { 0 }; - wxComboCtrl* m_combochecklist_options { nullptr }; -#endif // !ENABLE_PREVIEW_LAYOUT DynamicPrintConfig* m_config; BackgroundSlicingProcess* m_process; @@ -129,9 +117,6 @@ public: CenterOfGravity, Shells, ToolMarker, -#if !ENABLE_PREVIEW_LAYOUT - Legend -#endif // !ENABLE_PREVIEW_LAYOUT }; Preview(wxWindow* parent, Bed3D& bed, Model* model, DynamicPrintConfig* config, BackgroundSlicingProcess* process, @@ -159,17 +144,12 @@ public: bool is_loaded() const { return m_loaded; } -#if !ENABLE_PREVIEW_LAYOUT - void update_bottom_toolbar(); -#endif // !ENABLE_PREVIEW_LAYOUT void update_moves_slider(); void enable_moves_slider(bool enable); void move_moves_slider(wxKeyEvent& evt); void hide_layers_slider(); -#if ENABLE_PREVIEW_LAYOUT void set_keep_current_preview_type(bool value) { m_keep_current_preview_type = value; } -#endif // ENABLE_PREVIEW_LAYOUT private: bool init(wxWindow* parent, Bed3D& bed, Model* model); @@ -178,11 +158,6 @@ private: void unbind_event_handlers(); void on_size(wxSizeEvent& evt); -#if !ENABLE_PREVIEW_LAYOUT - void on_choice_view_type(wxCommandEvent& evt); - void on_combochecklist_features(wxCommandEvent& evt); - void on_combochecklist_options(wxCommandEvent& evt); -#endif // !ENABLE_PREVIEW_LAYOUT // Create/Update/Reset double slider on 3dPreview wxBoxSizer* create_layers_slider_sizer(); @@ -199,9 +174,6 @@ private: void on_layers_slider_scroll_changed(wxCommandEvent& event); void on_moves_slider_scroll_changed(wxCommandEvent& event); -#if !ENABLE_PREVIEW_LAYOUT - wxString get_option_type_string(OptionType type) const; -#endif // !ENABLE_PREVIEW_LAYOUT }; } // namespace GUI diff --git a/src/slic3r/GUI/ImGuiWrapper.cpp b/src/slic3r/GUI/ImGuiWrapper.cpp index 34d1d73f4..fe3f69a58 100644 --- a/src/slic3r/GUI/ImGuiWrapper.cpp +++ b/src/slic3r/GUI/ImGuiWrapper.cpp @@ -389,7 +389,6 @@ bool ImGuiWrapper::radio_button(const wxString &label, bool active) return ImGui::RadioButton(label_utf8.c_str(), active); } -#if ENABLE_PREVIEW_LAYOUT bool ImGuiWrapper::draw_radio_button(const std::string& name, float size, bool active, std::function draw_callback) { @@ -423,7 +422,6 @@ bool ImGuiWrapper::draw_radio_button(const std::string& name, float size, bool a IMGUI_TEST_ENGINE_ITEM_INFO(id, label, window.DC.LastItemStatusFlags); return pressed; } -#endif // ENABLE_PREVIEW_LAYOUT bool ImGuiWrapper::input_double(const std::string &label, const double &value, const std::string &format) { @@ -671,14 +669,10 @@ bool ImGuiWrapper::image_button(ImTextureID user_texture_id, const ImVec2& size, bool ImGuiWrapper::combo(const wxString& label, const std::vector& options, int& selection, ImGuiComboFlags flags) { // this is to force the label to the left of the widget: -#if ENABLE_PREVIEW_LAYOUT if (!label.empty()) { -#endif // ENABLE_PREVIEW_LAYOUT text(label); ImGui::SameLine(); -#if ENABLE_PREVIEW_LAYOUT } -#endif // ENABLE_PREVIEW_LAYOUT int selection_out = selection; bool res = false; diff --git a/src/slic3r/GUI/ImGuiWrapper.hpp b/src/slic3r/GUI/ImGuiWrapper.hpp index 8e1d2630d..769deccb8 100644 --- a/src/slic3r/GUI/ImGuiWrapper.hpp +++ b/src/slic3r/GUI/ImGuiWrapper.hpp @@ -21,9 +21,7 @@ class wxString; class wxMouseEvent; class wxKeyEvent; -#if ENABLE_PREVIEW_LAYOUT struct IMGUI_API ImGuiWindow; -#endif // ENABLE_PREVIEW_LAYOUT namespace Slic3r { namespace GUI { @@ -90,9 +88,7 @@ public: bool button(const wxString &label); bool button(const wxString& label, float width, float height); bool radio_button(const wxString &label, bool active); -#if ENABLE_PREVIEW_LAYOUT bool draw_radio_button(const std::string& name, float size, bool active, std::function draw_callback); -#endif // ENABLE_PREVIEW_LAYOUT bool input_double(const std::string &label, const double &value, const std::string &format = "%.3f"); bool input_double(const wxString &label, const double &value, const std::string &format = "%.3f"); bool input_vec3(const std::string &label, const Vec3d &value, float width, const std::string &format = "%.3f"); diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index df531c562..96959f33b 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -1494,11 +1494,9 @@ void MainFrame::init_menubar_as_editor() append_menu_check_item(viewMenu, wxID_ANY, _L("Show &Labels") + sep + "E", _L("Show object/instance labels in 3D scene"), [this](wxCommandEvent&) { m_plater->show_view3D_labels(!m_plater->are_view3D_labels_shown()); }, this, [this]() { return m_plater->is_view3D_shown(); }, [this]() { return m_plater->are_view3D_labels_shown(); }, this); -#if ENABLE_PREVIEW_LAYOUT append_menu_check_item(viewMenu, wxID_ANY, _L("Show Legen&d") + sep + "L", _L("Show legend in preview"), [this](wxCommandEvent&) { m_plater->show_legend(!m_plater->is_legend_shown()); }, this, [this]() { return m_plater->is_preview_shown(); }, [this]() { return m_plater->is_legend_shown(); }, this); -#endif // ENABLE_PREVIEW_LAYOUT append_menu_check_item(viewMenu, wxID_ANY, _L("&Collapse Sidebar") + sep + "Shift+" + sep_space + "Tab", _L("Collapse sidebar"), [this](wxCommandEvent&) { m_plater->collapse_sidebar(!m_plater->is_sidebar_collapsed()); }, this, []() { return true; }, [this]() { return m_plater->is_sidebar_collapsed(); }, this); @@ -1616,12 +1614,10 @@ void MainFrame::init_menubar_as_gcodeviewer() if (m_plater != nullptr) { viewMenu = new wxMenu(); add_common_view_menu_items(viewMenu, this, std::bind(&MainFrame::can_change_view, this)); -#if ENABLE_PREVIEW_LAYOUT viewMenu->AppendSeparator(); append_menu_check_item(viewMenu, wxID_ANY, _L("Show legen&d") + sep + "L", _L("Show legend"), [this](wxCommandEvent&) { m_plater->show_legend(!m_plater->is_legend_shown()); }, this, [this]() { return m_plater->is_preview_shown(); }, [this]() { return m_plater->is_legend_shown(); }, this); -#endif // ENABLE_PREVIEW_LAYOUT } // helpmenu diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 683789215..326bd79e2 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1767,10 +1767,8 @@ struct Plater::priv bool are_view3D_labels_shown() const { return (current_panel == view3D) && view3D->get_canvas3d()->are_labels_shown(); } void show_view3D_labels(bool show) { if (current_panel == view3D) view3D->get_canvas3d()->show_labels(show); } -#if ENABLE_PREVIEW_LAYOUT bool is_legend_shown() const { return (current_panel == preview) && preview->get_canvas3d()->is_legend_shown(); } void show_legend(bool show) { if (current_panel == preview) preview->get_canvas3d()->show_legend(show); } -#endif // ENABLE_PREVIEW_LAYOUT bool is_sidebar_collapsed() const { return sidebar->is_collapsed(); } void collapse_sidebar(bool collapse); @@ -1785,9 +1783,6 @@ struct Plater::priv bool init_view_toolbar(); bool init_collapse_toolbar(); -#if !ENABLE_PREVIEW_LAYOUT - void update_preview_bottom_toolbar(); -#endif // !ENABLE_PREVIEW_LAYOUT void update_preview_moves_slider(); void enable_preview_moves_slider(bool enable); @@ -4740,13 +4735,6 @@ bool Plater::priv::init_collapse_toolbar() return true; } -#if !ENABLE_PREVIEW_LAYOUT -void Plater::priv::update_preview_bottom_toolbar() -{ - preview->update_bottom_toolbar(); -} -#endif // !ENABLE_PREVIEW_LAYOUT - void Plater::priv::update_preview_moves_slider() { preview->update_moves_slider(); @@ -5723,10 +5711,8 @@ bool Plater::is_view3D_shown() const { return p->is_view3D_shown(); } bool Plater::are_view3D_labels_shown() const { return p->are_view3D_labels_shown(); } void Plater::show_view3D_labels(bool show) { p->show_view3D_labels(show); } -#if ENABLE_PREVIEW_LAYOUT bool Plater::is_legend_shown() const { return p->is_legend_shown(); } void Plater::show_legend(bool show) { p->show_legend(show); } -#endif // ENABLE_PREVIEW_LAYOUT bool Plater::is_sidebar_collapsed() const { return p->is_sidebar_collapsed(); } void Plater::collapse_sidebar(bool show) { p->collapse_sidebar(show); } @@ -7084,13 +7070,6 @@ GLToolbar& Plater::get_collapse_toolbar() return p->collapse_toolbar; } -#if !ENABLE_PREVIEW_LAYOUT -void Plater::update_preview_bottom_toolbar() -{ - p->update_preview_bottom_toolbar(); -} -#endif // !ENABLE_PREVIEW_LAYOUT - void Plater::update_preview_moves_slider() { p->update_preview_moves_slider(); @@ -7199,12 +7178,10 @@ bool Plater::is_render_statistic_dialog_visible() const return p->show_render_statistic_dialog; } -#if ENABLE_PREVIEW_LAYOUT void Plater::set_keep_current_preview_type(bool value) { p->preview->set_keep_current_preview_type(value); } -#endif // ENABLE_PREVIEW_LAYOUT Plater::TakeSnapshot::TakeSnapshot(Plater *plater, const std::string &snapshot_name) : TakeSnapshot(plater, from_u8(snapshot_name)) {} diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp index 79e23a7a9..d099e0361 100644 --- a/src/slic3r/GUI/Plater.hpp +++ b/src/slic3r/GUI/Plater.hpp @@ -225,10 +225,8 @@ public: bool are_view3D_labels_shown() const; void show_view3D_labels(bool show); -#if ENABLE_PREVIEW_LAYOUT bool is_legend_shown() const; void show_legend(bool show); -#endif // ENABLE_PREVIEW_LAYOUT bool is_sidebar_collapsed() const; void collapse_sidebar(bool show); @@ -390,9 +388,6 @@ public: const GLToolbar& get_collapse_toolbar() const; GLToolbar& get_collapse_toolbar(); -#if !ENABLE_PREVIEW_LAYOUT - void update_preview_bottom_toolbar(); -#endif // !ENABLE_PREVIEW_LAYOUT void update_preview_moves_slider(); void enable_preview_moves_slider(bool enable); @@ -458,9 +453,7 @@ public: void toggle_render_statistic_dialog(); bool is_render_statistic_dialog_visible() const; -#if ENABLE_PREVIEW_LAYOUT void set_keep_current_preview_type(bool value); -#endif // ENABLE_PREVIEW_LAYOUT // Wrapper around wxWindow::PopupMenu to suppress error messages popping out while tracking the popup menu. bool PopupMenu(wxMenu *menu, const wxPoint& pos = wxDefaultPosition);