From d5ad47d0ca8481f36076f2a614f05a07b3b8f938 Mon Sep 17 00:00:00 2001 From: enricoturri1966 Date: Thu, 22 Jul 2021 12:18:38 +0200 Subject: [PATCH] Tech ENABLE_SCROLLABLE_LEGEND set as default --- src/libslic3r/Technologies.hpp | 2 -- src/slic3r/GUI/GCodeViewer.cpp | 33 --------------------------------- src/slic3r/GUI/GLCanvas3D.cpp | 4 ---- src/slic3r/GUI/GLCanvas3D.hpp | 4 ---- src/slic3r/GUI/Plater.cpp | 4 ---- 5 files changed, 47 deletions(-) diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index 3668aa60e..7e83fb677 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -41,8 +41,6 @@ //==================== #define ENABLE_2_4_0_ALPHA0 1 -// Enable scrollable legend in preview -#define ENABLE_SCROLLABLE_LEGEND (1 && ENABLE_2_4_0_ALPHA0) // Enable visualization of start gcode as regular toolpaths #define ENABLE_START_GCODE_VISUALIZATION (1 && ENABLE_2_4_0_ALPHA0) // Enable visualization of seams in preview diff --git a/src/slic3r/GUI/GCodeViewer.cpp b/src/slic3r/GUI/GCodeViewer.cpp index 51b29befa..68bf27d09 100644 --- a/src/slic3r/GUI/GCodeViewer.cpp +++ b/src/slic3r/GUI/GCodeViewer.cpp @@ -2579,25 +2579,17 @@ void GCodeViewer::render_legend(float& legend_height) const if (!m_legend_enabled) return; -#if ENABLE_SCROLLABLE_LEGEND const Size cnv_size = wxGetApp().plater()->get_current_canvas3D()->get_canvas_size(); -#endif // ENABLE_SCROLLABLE_LEGEND ImGuiWrapper& imgui = *wxGetApp().imgui(); imgui.set_next_window_pos(0.0f, 0.0f, ImGuiCond_Always); ImGui::PushStyleVar(ImGuiStyleVar_WindowRounding, 0.0f); ImGui::SetNextWindowBgAlpha(0.6f); -#if ENABLE_SCROLLABLE_LEGEND 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 }); imgui.begin(std::string("Legend"), ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoMove); -#else - imgui.begin(std::string("Legend"), ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoDecoration | ImGuiWindowFlags_NoMove); - - ImDrawList* draw_list = ImGui::GetWindowDrawList(); -#endif // ENABLE_SCROLLABLE_LEGEND enum class EItemType : unsigned char { @@ -2608,30 +2600,22 @@ void GCodeViewer::render_legend(float& legend_height) const }; const PrintEstimatedStatistics::Mode& time_mode = m_print_statistics.modes[static_cast(m_time_estimate_mode)]; -#if ENABLE_SCROLLABLE_LEGEND bool show_estimated_time = time_mode.time > 0.0f && (m_view_type == EViewType::FeatureType || (m_view_type == EViewType::ColorPrint && !time_mode.custom_gcode_times.empty())); -#endif // ENABLE_SCROLLABLE_LEGEND const float icon_size = ImGui::GetTextLineHeight(); const float percent_bar_size = 2.0f * ImGui::GetTextLineHeight(); bool imperial_units = wxGetApp().app_config->get("use_inches") == "1"; -#if ENABLE_SCROLLABLE_LEGEND auto append_item = [this, icon_size, percent_bar_size, &imgui, imperial_units](EItemType type, const Color& color, const std::string& label, -#else - auto append_item = [this, draw_list, icon_size, percent_bar_size, &imgui, imperial_units](EItemType type, const Color& color, const std::string& label, -#endif // ENABLE_SCROLLABLE_LEGEND bool visible = true, const std::string& time = "", float percent = 0.0f, float max_percent = 0.0f, const std::array& offsets = { 0.0f, 0.0f, 0.0f, 0.0f }, double used_filament_m = 0.0, double used_filament_g = 0.0, std::function callback = nullptr) { if (!visible) ImGui::PushStyleVar(ImGuiStyleVar_Alpha, 0.3333f); -#if ENABLE_SCROLLABLE_LEGEND ImDrawList* draw_list = ImGui::GetWindowDrawList(); -#endif // ENABLE_SCROLLABLE_LEGEND ImVec2 pos = ImGui::GetCursorScreenPos(); switch (type) { default: @@ -2984,7 +2968,6 @@ void GCodeViewer::render_legend(float& legend_height) const } case EViewType::ColorPrint: { -#if ENABLE_SCROLLABLE_LEGEND const std::vector& custom_gcode_per_print_z = wxGetApp().plater()->model().custom_gcode_per_print_z.gcodes; size_t total_items = 1; for (unsigned char i : m_extruder_ids) { @@ -2996,9 +2979,6 @@ void GCodeViewer::render_legend(float& legend_height) const // add scrollable region, if needed if (need_scrollable) ImGui::BeginChild("color_prints", { -1.0f, child_height }, false); -#else - const std::vector& custom_gcode_per_print_z = wxGetApp().plater()->model().custom_gcode_per_print_z.gcodes; -#endif // ENABLE_SCROLLABLE_LEGEND 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()); @@ -3049,10 +3029,8 @@ void GCodeViewer::render_legend(float& legend_height) const } } } -#if ENABLE_SCROLLABLE_LEGEND if (need_scrollable) ImGui::EndChild(); -#endif // ENABLE_SCROLLABLE_LEGEND break; } @@ -3203,12 +3181,10 @@ void GCodeViewer::render_legend(float& legend_height) const ImGui::Spacing(); append_headers({ _u8L("Event"), _u8L("Remaining time"), _u8L("Duration"), _u8L("Used filament") }, offsets); -#if ENABLE_SCROLLABLE_LEGEND const bool need_scrollable = static_cast(partial_times.size()) * (icon_size + ImGui::GetStyle().ItemSpacing.y) > child_height; if (need_scrollable) // add scrollable region ImGui::BeginChild("events", { -1.0f, child_height }, false); -#endif // ENABLE_SCROLLABLE_LEGEND for (const PartialTime& item : partial_times) { switch (item.type) @@ -3230,10 +3206,8 @@ void GCodeViewer::render_legend(float& legend_height) const } } -#if ENABLE_SCROLLABLE_LEGEND if (need_scrollable) ImGui::EndChild(); -#endif // ENABLE_SCROLLABLE_LEGEND } } @@ -3383,14 +3357,7 @@ void GCodeViewer::render_legend(float& legend_height) const } // total estimated printing time section -#if ENABLE_SCROLLABLE_LEGEND if (show_estimated_time) { -#else - if (time_mode.time > 0.0f && (m_view_type == EViewType::FeatureType || - (m_view_type == EViewType::ColorPrint && !time_mode.custom_gcode_times.empty()))) { - - ImGui::Spacing(); -#endif // ENABLE_SCROLLABLE_LEGEND ImGui::Spacing(); std::string time_title = _u8L("Estimated printing times"); switch (m_time_estimate_mode) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index e7f30bf17..bc4c49fcb 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -4701,13 +4701,11 @@ void GLCanvas3D::_resize(unsigned int w, unsigned int h) if (m_canvas == nullptr && m_context == nullptr) return; -#if ENABLE_SCROLLABLE_LEGEND const std::array new_size = { w, h }; if (m_old_size == new_size) return; m_old_size = new_size; -#endif // ENABLE_SCROLLABLE_LEGEND auto *imgui = wxGetApp().imgui(); imgui->set_display_size(static_cast(w), static_cast(h)); @@ -4718,9 +4716,7 @@ void GLCanvas3D::_resize(unsigned int w, unsigned int h) imgui->set_scaling(font_size, m_canvas->GetContentScaleFactor(), 1.0f); #endif -#if ENABLE_SCROLLABLE_LEGEND this->request_extra_frame(); -#endif // ENABLE_SCROLLABLE_LEGEND // ensures that this canvas is current _set_current(); diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index ef94ec392..ee0555cff 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -427,9 +427,7 @@ private: Model* m_model; BackgroundSlicingProcess *m_process; -#if ENABLE_SCROLLABLE_LEGEND std::array m_old_size{ 0, 0 }; -#endif // ENABLE_SCROLLABLE_LEGEND // Screen is only refreshed from the OnIdle handler if it is dirty. bool m_dirty; @@ -787,9 +785,7 @@ public: const Print* fff_print() const; const SLAPrint* sla_print() const; -#if ENABLE_SCROLLABLE_LEGEND void reset_old_size() { m_old_size = { 0, 0 }; } -#endif // ENABLE_SCROLLABLE_LEGEND private: bool _is_shown_on_screen() const; diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 73999e67c..6f6938eb5 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -3595,10 +3595,8 @@ void Plater::priv::set_current_panel(wxPanel* panel) // sets the canvas as dirty to force a render at the 1st idle event (wxWidgets IsShownOnScreen() is buggy and cannot be used reliably) view3D->set_as_dirty(); -#if ENABLE_SCROLLABLE_LEGEND // reset cached size to force a resize on next call to render() to keep imgui in synch with canvas size view3D->get_canvas3d()->reset_old_size(); -#endif // ENABLE_SCROLLABLE_LEGEND view_toolbar.select_item("3D"); if (notification_manager != nullptr) notification_manager->set_in_preview(false); @@ -3619,10 +3617,8 @@ void Plater::priv::set_current_panel(wxPanel* panel) preview->reload_print(true); preview->set_as_dirty(); -#if ENABLE_SCROLLABLE_LEGEND // reset cached size to force a resize on next call to render() to keep imgui in synch with canvas size preview->get_canvas3d()->reset_old_size(); -#endif // ENABLE_SCROLLABLE_LEGEND view_toolbar.select_item("Preview"); if (notification_manager != nullptr) notification_manager->set_in_preview(true);