From ad70e58e14acefbfe6636652550a5fe62535ed5c Mon Sep 17 00:00:00 2001 From: tao wang Date: Wed, 22 Mar 2023 10:02:09 +0800 Subject: [PATCH] FIX:fixed incomplete display of filament material names fixed STUDIO-2464 Change-Id: I8310cc519d0143aa180109d70ebe25b0f068bd52 --- src/slic3r/GUI/Widgets/AMSControl.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/Widgets/AMSControl.cpp b/src/slic3r/GUI/Widgets/AMSControl.cpp index 5ddf4a04c..06f1b44d4 100644 --- a/src/slic3r/GUI/Widgets/AMSControl.cpp +++ b/src/slic3r/GUI/Widgets/AMSControl.cpp @@ -716,12 +716,23 @@ void AMSLib::render(wxDC &dc) dc.DrawText(L("?"), pot); } else { auto tsize = dc.GetMultiLineTextExtent(m_info.material_name); + std::vector split_char_arr = {" ", "-"}; + bool has_split = false; + std::string has_split_char = " "; - if (m_info.material_name.find(' ') != std::string::npos) { + for (std::string split_char : split_char_arr) { + if (m_info.material_name.find(split_char) != std::string::npos) { + has_split = true; + has_split_char = split_char; + } + } + + + if (has_split) { dc.SetFont(::Label::Body_12); - auto line_top = m_info.material_name.substr(0, m_info.material_name.find(' ')); - auto line_bottom = m_info.material_name.substr(m_info.material_name.find(' ')); + auto line_top = m_info.material_name.substr(0, m_info.material_name.find(has_split_char)); + auto line_bottom = m_info.material_name.substr(m_info.material_name.find(has_split_char)); auto line_top_tsize = dc.GetMultiLineTextExtent(line_top); auto line_bottom_tsize = dc.GetMultiLineTextExtent(line_bottom);