diff --git a/resources/images/single_slot_ams_item_dark.svg b/resources/images/single_slot_ams_item_dark.svg index 8842cc3b1..b259df032 100644 --- a/resources/images/single_slot_ams_item_dark.svg +++ b/resources/images/single_slot_ams_item_dark.svg @@ -1,17 +1,15 @@ - - - - - - - - - - - - - - - - - + + + + + + + + 第 1 层 + + + + + + + \ No newline at end of file diff --git a/src/slic3r/GUI/CalibrationWizardPresetPage.cpp b/src/slic3r/GUI/CalibrationWizardPresetPage.cpp index c1151a43b..2d00c1a5d 100644 --- a/src/slic3r/GUI/CalibrationWizardPresetPage.cpp +++ b/src/slic3r/GUI/CalibrationWizardPresetPage.cpp @@ -835,7 +835,7 @@ void CalibrationPresetPage::create_filament_list_panel(wxWindow* parent) AMSinfo temp_info = AMSinfo{ std::to_string(i), std::vector{} }; auto amsitem = new AMSPreview(m_multi_ams_panel, wxID_ANY, temp_info); amsitem->Bind(wxEVT_LEFT_DOWN, [this, amsitem](wxMouseEvent& e) { - on_switch_ams(amsitem->m_amsinfo.ams_id); + on_switch_ams(amsitem->get_ams_id()); e.Skip(); }); m_ams_preview_list.push_back(amsitem); @@ -960,7 +960,7 @@ void CalibrationPresetPage::create_multi_extruder_filament_list_panel(wxWindow * m_main_ams_preview_list.push_back(preview_ams_item); size_t index = m_main_ams_preview_list.size() - 1; preview_ams_item->Bind(wxEVT_LEFT_DOWN, [this, index](wxMouseEvent &e) { - update_multi_extruder_filament_combobox(m_main_ams_preview_list[index]->m_amsinfo.ams_id, 0); + update_multi_extruder_filament_combobox(m_main_ams_preview_list[index]->get_ams_id(), 0); e.Skip(); }); ams_items_sizer->Add(preview_ams_item, 0, wxALIGN_CENTER | wxRIGHT, FromDIP(6)); @@ -1022,7 +1022,7 @@ void CalibrationPresetPage::create_multi_extruder_filament_list_panel(wxWindow * m_deputy_ams_preview_list.push_back(preview_ams_item); size_t index = m_deputy_ams_preview_list.size() - 1; preview_ams_item->Bind(wxEVT_LEFT_DOWN, [this, index](wxMouseEvent &e) { - update_multi_extruder_filament_combobox(m_deputy_ams_preview_list[index]->m_amsinfo.ams_id, 1); + update_multi_extruder_filament_combobox(m_deputy_ams_preview_list[index]->get_ams_id(), 1); e.Skip(); }); ams_items_sizer->Add(preview_ams_item, 0, wxALIGN_CENTER | wxRIGHT, FromDIP(6)); @@ -1330,7 +1330,7 @@ void CalibrationPresetPage::on_switch_ams(std::string ams_id) { for (auto i = 0; i < m_ams_preview_list.size(); i++) { AMSPreview* item = m_ams_preview_list[i]; - if (item->m_amsinfo.ams_id == ams_id) { + if (item->get_ams_id() == ams_id) { item->OnSelected(); } else { diff --git a/src/slic3r/GUI/Widgets/AMSControl.cpp b/src/slic3r/GUI/Widgets/AMSControl.cpp index 99dd523bd..9a60f3bdd 100644 --- a/src/slic3r/GUI/Widgets/AMSControl.cpp +++ b/src/slic3r/GUI/Widgets/AMSControl.cpp @@ -3343,7 +3343,7 @@ void AMSControl::UpdateAms(std::vector ams_info, std::vectorex } for (auto ams_prv : m_ams_preview_list) { - std::string id = ams_prv.second->m_amsinfo.ams_id; + std::string id = ams_prv.second->get_ams_id(); auto item = m_ams_item_list.find(id); if (item != m_ams_item_list.end()) { ams_prv.second->Update(item->second->get_ams_info()); @@ -3446,7 +3446,7 @@ void AMSControl::AddAmsPreview(AMSinfo info, AMSModel type) if (ams_prv){ ams_prv->Bind(wxEVT_LEFT_DOWN, [this, ams_prv](wxMouseEvent &e) { - SwitchAms(ams_prv->m_amsinfo.ams_id); + SwitchAms(ams_prv->get_ams_id()); e.Skip(); }); m_ams_preview_list[info.ams_id] = ams_prv; @@ -3665,14 +3665,14 @@ void AMSControl::AddAmsPreview(std::vectorsingle_info, AMSPanelPos pos) if (ams_prv) { ams_prv->Bind(wxEVT_LEFT_DOWN, [this, ams_prv](wxMouseEvent& e) { - SwitchAms(ams_prv->m_amsinfo.ams_id); + SwitchAms(ams_prv->get_ams_id()); e.Skip(); }); m_ams_preview_list[single_info[0].ams_id] = ams_prv; } if (ams_prv2) { ams_prv2->Bind(wxEVT_LEFT_DOWN, [this, ams_prv2](wxMouseEvent& e) { - SwitchAms(ams_prv2->m_amsinfo.ams_id); + SwitchAms(ams_prv2->get_ams_id()); e.Skip(); }); m_ams_preview_list[single_info[1].ams_id] = ams_prv2; @@ -3696,7 +3696,7 @@ void AMSControl::SwitchAms(std::string ams_id) for (auto prv_it : m_ams_preview_list) { AMSPreview* prv = prv_it.second; - if (prv->m_amsinfo.ams_id == m_current_show_ams_left || prv->m_amsinfo.ams_id == m_current_show_ams_right) { + if (prv->get_ams_id() == m_current_show_ams_left || prv->get_ams_id() == m_current_show_ams_right) { prv->OnSelected(); m_current_select = ams_id; @@ -3722,11 +3722,10 @@ void AMSControl::SwitchAms(std::string ams_id) } else { prv->UnSelected(); } - if (prv->m_amsinfo.nozzle_id == DEPUTY_NOZZLE_ID) { + if (prv->get_nozzle_id() == DEPUTY_NOZZLE_ID) { m_sizer_prv_left->Layout(); m_panel_prv_left->Fit(); - } - else if (prv->m_amsinfo.nozzle_id == MAIN_NOZZLE_ID){ + } else if (prv->get_nozzle_id() == MAIN_NOZZLE_ID) { m_sizer_prv_right->Layout(); m_panel_prv_right->Fit(); } diff --git a/src/slic3r/GUI/Widgets/AMSItem.hpp b/src/slic3r/GUI/Widgets/AMSItem.hpp index 78f6d21dc..548ef44fd 100644 --- a/src/slic3r/GUI/Widgets/AMSItem.hpp +++ b/src/slic3r/GUI/Widgets/AMSItem.hpp @@ -650,9 +650,13 @@ public: virtual bool Enable(bool enable = true); void msw_rescale(); - AMSinfo m_amsinfo; + + std::string get_ams_id() const { return m_amsinfo.ams_id; }; + int get_nozzle_id() const { return m_amsinfo.nozzle_id; }; protected: + AMSinfo m_amsinfo; + wxSize m_cube_size; wxColour m_background_colour = { AMS_CONTROL_DEF_LIB_BK_COLOUR }; float m_padding;