FIX:fixed some amscontrol issue

jira:[for fix amscontrol issue]

Change-Id: Id62ffd047403bf80f6aba732b8ce31d782bcea57
This commit is contained in:
tao.wang 2024-07-22 21:24:37 +08:00 committed by lane.wei
parent 3e8fe435e3
commit 55898ab88e
3 changed files with 37 additions and 37 deletions

View File

@ -118,6 +118,7 @@ public:
void on_picker_color(wxCommandEvent& color);
MachineObject* obj{ nullptr };
int ams_id { 0 }; /* 0 ~ 3 */
int slot_id { 0 }; /* 0 ~ 3 */
int tray_id { 0 }; /* 0 ~ 3 */
std::string ams_filament_id;

View File

@ -3704,18 +3704,11 @@ void StatusPanel::on_filament_edit(wxCommandEvent &event)
if (obj) {
m_filament_setting_dlg->obj = obj;
std::string ams_id;
int ams_id_int = 0;
int tray_id_int = 0;
int tray_id = event.GetInt();
if (tray_id == VIRTUAL_TRAY_MAIN_ID || tray_id == VIRTUAL_TRAY_DEPUTY_ID) {
ams_id = std::to_string(tray_id);
}
else{
ams_id = std::to_string(tray_id / 4);
}
if (ams_id.compare(std::to_string(VIRTUAL_TRAY_MAIN_ID)) == 0) {
int ams_id = event.GetInt();
int slot_id = event.GetString().IsEmpty() ? 0 : std::stoi(event.GetString().ToStdString());
/* if (ams_id.compare(std::to_string(VIRTUAL_TRAY_MAIN_ID)) == 0) {
tray_id_int = VIRTUAL_TRAY_MAIN_ID;
m_filament_setting_dlg->ams_id = ams_id_int;
m_filament_setting_dlg->tray_id = tray_id_int;
@ -3725,13 +3718,12 @@ void StatusPanel::on_filament_edit(wxCommandEvent &event)
n_val = wxString::Format("%.3f", obj->vt_slot[0].n);
m_filament_setting_dlg->Move(wxPoint(current_position_x, current_position_y));
m_filament_setting_dlg->Popup(wxEmptyString, wxEmptyString, wxEmptyString, wxEmptyString, k_val, n_val);
} else {
} else {*/
//std::string tray_id = event.GetString().ToStdString(); // m_ams_control->GetCurrentCan(ams_id);
try {
ams_id_int = tray_id / 4;
tray_id_int = tray_id % 4;
m_filament_setting_dlg->ams_id = ams_id_int;
m_filament_setting_dlg->tray_id = tray_id_int;
m_filament_setting_dlg->ams_id = ams_id;
m_filament_setting_dlg->slot_id = slot_id;
m_filament_setting_dlg->tray_id = 254;
std::string sn_number;
std::string filament;
@ -3739,9 +3731,9 @@ void StatusPanel::on_filament_edit(wxCommandEvent &event)
std::string temp_min;
wxString k_val;
wxString n_val;
auto it = obj->amsList.find(std::to_string(ams_id_int));
auto it = obj->amsList.find(std::to_string(ams_id));
if (it != obj->amsList.end()) {
auto tray_it = it->second->trayList.find(std::to_string(tray_id));
auto tray_it = it->second->trayList.find(std::to_string(slot_id));
if (tray_it != it->second->trayList.end()) {
k_val = wxString::Format("%.3f", tray_it->second->k);
n_val = wxString::Format("%.3f", tray_it->second->n);
@ -3779,7 +3771,7 @@ void StatusPanel::on_filament_edit(wxCommandEvent &event)
catch (...) {
;
}
}
//}
}
}
@ -3794,28 +3786,33 @@ void StatusPanel::on_ext_spool_edit(wxCommandEvent &event)
current_position_y = current_position_y + m_filament_setting_dlg->GetSize().GetHeight() > drect ? drect - m_filament_setting_dlg->GetSize().GetHeight() : current_position_y;
if (obj) {
int tray_id = event.GetInt();
int ams_id = tray_id / 4;
m_filament_setting_dlg->obj = obj;
int ams_id = event.GetInt();
int slot_id = event.GetString().IsEmpty() ? 0 : std::stoi(event.GetString().ToStdString());
m_filament_setting_dlg->ams_id = ams_id;
m_filament_setting_dlg->slot_id = slot_id;
m_filament_setting_dlg->tray_id = 255;
int nozzle_index = ams_id == VIRTUAL_TRAY_MAIN_ID ? 0 : 1;
try {
m_filament_setting_dlg->tray_id = VIRTUAL_TRAY_MAIN_ID;
std::string sn_number;
std::string filament;
std::string temp_max;
std::string temp_min;
wxString k_val;
wxString n_val;
k_val = wxString::Format("%.3f", obj->vt_slot[0].k);
n_val = wxString::Format("%.3f", obj->vt_slot[0].n);
wxColor color = AmsTray::decode_color(obj->vt_slot[0].color);
m_filament_setting_dlg->ams_filament_id = obj->vt_slot[0].setting_id;
k_val = wxString::Format("%.3f", obj->vt_slot[nozzle_index].k);
n_val = wxString::Format("%.3f", obj->vt_slot[nozzle_index].n);
wxColor color = AmsTray::decode_color(obj->vt_slot[nozzle_index].color);
m_filament_setting_dlg->ams_filament_id = obj->vt_slot[nozzle_index].setting_id;
std::vector<wxColour> cols;
for (auto col : obj->vt_slot[0].cols) {
for (auto col : obj->vt_slot[nozzle_index].cols) {
cols.push_back(AmsTray::decode_color(col));
}
m_filament_setting_dlg->set_ctype(obj->vt_slot[0].ctype);
m_filament_setting_dlg->set_ctype(obj->vt_slot[nozzle_index].ctype);
if (m_filament_setting_dlg->ams_filament_id.empty()) {
m_filament_setting_dlg->set_empty_color(color);
@ -3824,12 +3821,12 @@ void StatusPanel::on_ext_spool_edit(wxCommandEvent &event)
m_filament_setting_dlg->set_color(color);
}
m_filament_setting_dlg->m_is_third = !MachineObject::is_bbl_filament(obj->vt_slot[0].tag_uid);
m_filament_setting_dlg->m_is_third = !MachineObject::is_bbl_filament(obj->vt_slot[nozzle_index].tag_uid);
if (!m_filament_setting_dlg->m_is_third) {
sn_number = obj->vt_slot[0].uuid;
filament = obj->vt_slot[0].sub_brands;
temp_max = obj->vt_slot[0].nozzle_temp_max;
temp_min = obj->vt_slot[0].nozzle_temp_min;
sn_number = obj->vt_slot[nozzle_index].uuid;
filament = obj->vt_slot[nozzle_index].sub_brands;
temp_max = obj->vt_slot[nozzle_index].nozzle_temp_max;
temp_min = obj->vt_slot[nozzle_index].nozzle_temp_min;
}
m_filament_setting_dlg->Move(wxPoint(current_position_x,current_position_y));

View File

@ -1582,9 +1582,10 @@ void AMSLib::OnSelected()
void AMSLib::post_event(wxCommandEvent &&event)
{
int tray_id = atoi(m_ams_id.c_str()) * 4 + atoi(m_info.can_id.c_str());
//int tray_id = atoi(m_ams_id.c_str()) * 4 + atoi(m_info.can_id.c_str());
//event.SetString(m_info.can_id);
event.SetInt(tray_id);
event.SetString(m_slot_id);
event.SetInt(std::stoi(m_ams_id));
event.SetEventObject(m_parent);
wxPostEvent(m_parent, event);
event.Skip();
@ -2810,7 +2811,9 @@ void AmsItem::AddCan(Caninfo caninfo, int canindex, int maxcan, wxBoxSizer* size
});
m_panel_lib->m_ams_model = m_ams_model;
m_panel_lib->m_ams_model = m_ams_model;
m_panel_lib->m_ams_id = m_info.ams_id;
m_panel_lib->m_slot_id = caninfo.can_id;
m_panel_lib->m_info.can_id = caninfo.can_id;
m_panel_lib->m_can_index = canindex;
@ -2870,7 +2873,6 @@ void AmsItem::Update(AMSinfo info)
i++;
}
i = 0;
for (int i = 0; i < m_can_lib_list.size(); i++) {
AMSLib* lib = m_can_lib_list[std::to_string(i)];
if (i < m_can_count && lib != nullptr) {