From c89732a04619a6d910b723c126515bae802f7167 Mon Sep 17 00:00:00 2001 From: "zhou.xu" Date: Tue, 21 May 2024 14:44:21 +0800 Subject: [PATCH] FIX:fix imgui style at Object coordinate in move tool jira:STUDIO-7141 Change-Id: Ib2900012c28878c4e7ad97eb0cf319f693cb9f6f (cherry picked from commit b7b09c82897678c4f3615713bc5d1cc7a3b17b19) --- .../GUI/Gizmos/GizmoObjectManipulation.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/slic3r/GUI/Gizmos/GizmoObjectManipulation.cpp b/src/slic3r/GUI/Gizmos/GizmoObjectManipulation.cpp index 647eeedf8..952b00feb 100644 --- a/src/slic3r/GUI/Gizmos/GizmoObjectManipulation.cpp +++ b/src/slic3r/GUI/Gizmos/GizmoObjectManipulation.cpp @@ -650,7 +650,7 @@ bool GizmoObjectManipulation::reset_button(ImGuiWrapper *imgui_wrapper, float ca ImGui::BBLInputDouble(label_values[0][2], &display_position[2], 0.0f, 0.0f, "%.2f"); ImGui::SameLine(caption_max + (++index_unit) * unit_size + (++index) * space_size); imgui_wrapper->text(this->m_new_unit_string); - + bool is_avoid_one_update{false}; if (bbl_checkbox(_L("Object coordinates"), m_use_object_cs)) { if (m_use_object_cs) { set_coordinates_type(ECoordinatesType::Instance); @@ -659,17 +659,17 @@ bool GizmoObjectManipulation::reset_button(ImGuiWrapper *imgui_wrapper, float ca set_coordinates_type(ECoordinatesType::World); } UpdateAndShow(true); - return;//avoid update(current_active_id, "position", original_position + is_avoid_one_update = true;//avoid update(current_active_id, "position", original_position } - for (int i = 0;i MAX_NUM)display_position[i] = MAX_NUM; - if (display_position[i] < -MAX_NUM)display_position[i] = -MAX_NUM; + if (!is_avoid_one_update) { + for (int i = 0; i < display_position.size(); i++) { + if (display_position[i] > MAX_NUM) display_position[i] = MAX_NUM; + if (display_position[i] < -MAX_NUM) display_position[i] = -MAX_NUM; + } + m_buffered_position = display_position; + update(current_active_id, "position", original_position, m_buffered_position); } - - m_buffered_position = display_position; - update(current_active_id, "position", original_position, m_buffered_position); // the init position values are not zero, won't add reset button // send focus to m_glcanvas