From 5139edb876b7771756732c9b7c58cb3db3fee03f Mon Sep 17 00:00:00 2001 From: tao wang Date: Sat, 10 Dec 2022 13:39:47 +0800 Subject: [PATCH] ENH:add a drop-down arrow to the amsmapping button Change-Id: Idb39a4c8a0f9421bce91f11705f30687f2b2d0d9 --- src/slic3r/GUI/AmsMappingPopup.cpp | 13 +++++++++++++ src/slic3r/GUI/AmsMappingPopup.hpp | 3 +++ 2 files changed, 16 insertions(+) diff --git a/src/slic3r/GUI/AmsMappingPopup.cpp b/src/slic3r/GUI/AmsMappingPopup.cpp index 44cb1e1137..8e0448e82e 100644 --- a/src/slic3r/GUI/AmsMappingPopup.cpp +++ b/src/slic3r/GUI/AmsMappingPopup.cpp @@ -28,6 +28,10 @@ wxDEFINE_EVENT(EVT_SET_FINISH_MAPPING, wxCommandEvent); MaterialItem::MaterialItem(wxWindow *parent, wxColour mcolour, wxString mname) : wxPanel(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize) { + m_arraw_bitmap_gray = ScalableBitmap(this, "drop_down", FromDIP(12)); + m_arraw_bitmap_white = ScalableBitmap(this, "topbar_dropdown", FromDIP(12)); + + m_material_coloul = mcolour; m_material_name = mname; m_ams_coloul = wxColour(0xEE,0xEE,0xEE); @@ -189,6 +193,15 @@ void MaterialItem::doRender(wxDC &dc) dc.DrawRoundedRectangle(0, 0, MATERIAL_ITEM_SIZE.x, MATERIAL_ITEM_SIZE.y, 5); } #endif + //arrow + + if ( (m_ams_coloul.Red() > 160 && m_ams_coloul.Green() > 160 && m_ams_coloul.Blue() > 160) && + (m_ams_coloul.Red() < 180 && m_ams_coloul.Green() < 180 && m_ams_coloul.Blue() < 180)) { + dc.DrawBitmap(m_arraw_bitmap_white.bmp(), GetSize().x - m_arraw_bitmap_white.GetBmpSize().x - FromDIP(7), GetSize().y - m_arraw_bitmap_white.GetBmpSize().y); + } + else { + dc.DrawBitmap(m_arraw_bitmap_gray.bmp(), GetSize().x - m_arraw_bitmap_gray.GetBmpSize().x - FromDIP(7), GetSize().y - m_arraw_bitmap_gray.GetBmpSize().y); + } } diff --git a/src/slic3r/GUI/AmsMappingPopup.hpp b/src/slic3r/GUI/AmsMappingPopup.hpp index 617d10392e..b1f9ae3433 100644 --- a/src/slic3r/GUI/AmsMappingPopup.hpp +++ b/src/slic3r/GUI/AmsMappingPopup.hpp @@ -70,6 +70,9 @@ public: wxColour m_ams_coloul; wxString m_ams_name; + ScalableBitmap m_arraw_bitmap_gray; + ScalableBitmap m_arraw_bitmap_white; + bool m_selected {false}; bool m_warning{false};