diff --git a/src/slic3r/GUI/UpgradePanel.cpp b/src/slic3r/GUI/UpgradePanel.cpp index 5eeb331401..ae825909c6 100644 --- a/src/slic3r/GUI/UpgradePanel.cpp +++ b/src/slic3r/GUI/UpgradePanel.cpp @@ -379,15 +379,19 @@ void MachineInfoPanel::update_ams(MachineObject *obj) auto it = ver_list.find(atoi(iter->first.c_str())); + auto ams_id = std::stoi(iter->second->id); + + if (it == ver_list.end()) { // hide this ams - wxString ams_text = wxString::Format("AMS%s", std::to_string(ams_index + 1)); + wxString ams_text = wxString::Format("AMS%s", std::to_string(ams_id + 1)); + ams_name = ams_text; ams_sn = "-"; ams_ver = "-"; } else { // update ams img - wxString ams_text = wxString::Format("AMS%s", std::to_string(ams_index + 1)); + wxString ams_text = wxString::Format("AMS%s", std::to_string(ams_id + 1)); ams_name = ams_text; std::string ams_id = "ams/" + std::to_string(ams_index); diff --git a/src/slic3r/GUI/Widgets/AMSControl.cpp b/src/slic3r/GUI/Widgets/AMSControl.cpp index dbe74760d8..8fc6df022e 100644 --- a/src/slic3r/GUI/Widgets/AMSControl.cpp +++ b/src/slic3r/GUI/Widgets/AMSControl.cpp @@ -1747,7 +1747,20 @@ void AMSControl::CreateAms() void AMSControl::Reset() { - m_current_ams = ""; + auto caninfo0_0 = Caninfo{"def_can_0", L(""), *wxWHITE, AMSCanType::AMS_CAN_TYPE_NONE}; + auto caninfo0_1 = Caninfo{"def_can_1", L(""), *wxWHITE, AMSCanType::AMS_CAN_TYPE_NONE}; + auto caninfo0_2 = Caninfo{"def_can_2", L(""), *wxWHITE, AMSCanType::AMS_CAN_TYPE_NONE}; + auto caninfo0_3 = Caninfo{"def_can_3", L(""), *wxWHITE, AMSCanType::AMS_CAN_TYPE_NONE}; + + AMSinfo ams1 = AMSinfo{"def_ams_0", std::vector{caninfo0_0, caninfo0_1, caninfo0_2, caninfo0_3}}; + AMSinfo ams2 = AMSinfo{"def_ams_1", std::vector{caninfo0_0, caninfo0_1, caninfo0_2, caninfo0_3}}; + AMSinfo ams3 = AMSinfo{"def_ams_2", std::vector{caninfo0_0, caninfo0_1, caninfo0_2, caninfo0_3}}; + AMSinfo ams4 = AMSinfo{"def_ams_3", std::vector{caninfo0_0, caninfo0_1, caninfo0_2, caninfo0_3}}; + + std::vector ams_info{ams1, ams2, ams3, ams4}; + std::vector::iterator it; + UpdateAms(ams_info, false); + m_current_ams = ""; m_current_senect = ""; }