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 @@
-
+
\ 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;