ENH:default selection of virtual tray

jira:[for def selected]

Change-Id: I0661f179f8e4bcac33ae12fbbeaeaf95c5b7c110
This commit is contained in:
tao wang 2024-01-05 14:35:07 +08:00 committed by Lane.Wei
parent 745719c6cc
commit 004b559a78
1 changed files with 34 additions and 7 deletions

View File

@ -2040,7 +2040,9 @@ void AmsCans::SelectCan(std::string canid)
{ {
for (auto i = 0; i < m_can_lib_list.GetCount(); i++) { for (auto i = 0; i < m_can_lib_list.GetCount(); i++) {
CanLibs *lib = m_can_lib_list[i]; CanLibs *lib = m_can_lib_list[i];
if (lib->canLib->m_info.can_id == canid) { m_canlib_selection = lib->canLib->m_can_index; } if (lib->canLib->m_info.can_id == canid) {
m_canlib_selection = lib->canLib->m_can_index;
}
} }
m_canlib_id = canid; m_canlib_id = canid;
@ -2624,9 +2626,9 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
}); });
Bind(EVT_AMS_UNSELETED_VAMS, [this](wxCommandEvent& e) { Bind(EVT_AMS_UNSELETED_VAMS, [this](wxCommandEvent& e) {
if (m_current_ams == e.GetString().ToStdString()) { /*if (m_current_ams == e.GetString().ToStdString()) {
return; return;
} }*/
m_current_ams = e.GetString().ToStdString(); m_current_ams = e.GetString().ToStdString();
SwitchAms(m_current_ams); SwitchAms(m_current_ams);
m_vams_lib->UnSelected(); m_vams_lib->UnSelected();
@ -3429,6 +3431,8 @@ void AMSControl::AddExtraAms(AMSinfo info)
void AMSControl::SwitchAms(std::string ams_id) void AMSControl::SwitchAms(std::string ams_id)
{ {
if(ams_id == m_current_show_ams){return;}
if (ams_id != std::to_string(VIRTUAL_TRAY_ID)) { if (ams_id != std::to_string(VIRTUAL_TRAY_ID)) {
if (m_current_show_ams != ams_id) { if (m_current_show_ams != ams_id) {
m_current_show_ams = ams_id; m_current_show_ams = ams_id;
@ -3442,14 +3446,39 @@ void AMSControl::SwitchAms(std::string ams_id)
item->amsItem->OnSelected(); item->amsItem->OnSelected();
m_current_senect = ams_id; m_current_senect = ams_id;
//bool ready_selected = false;
//for (auto i = 0; i < m_ams_cans_list.GetCount(); i++) {
// AmsCansWindow* ams = m_ams_cans_list[i];
// if (ams->amsCans->m_info.ams_id == ams_id) {
// //ams->amsCans->SetDefSelectCan();
// //m_vams_lib->OnSelected();
// if () {
// }
// }
//}
bool ready_selected = false;
for (auto i = 0; i < m_ams_cans_list.GetCount(); i++) { for (auto i = 0; i < m_ams_cans_list.GetCount(); i++) {
AmsCansWindow* ams = m_ams_cans_list[i]; AmsCansWindow* ams = m_ams_cans_list[i];
if (ams->amsCans->m_info.ams_id == ams_id) { if (ams->amsCans->m_info.ams_id == ams_id) {
ams->amsCans->SetDefSelectCan(); for (auto lib : ams->amsCans->m_can_lib_list) {
m_vams_lib->UnSelected(); if (lib->canLib->is_selected()) {
ready_selected = true;
}
}
} }
} }
if (!ready_selected) {
m_current_ams = std::to_string(VIRTUAL_TRAY_ID);
m_vams_lib->OnSelected();
}
else {
m_current_ams = ams_id;
m_vams_lib->UnSelected();
}
} else { } else {
item->amsItem->UnSelected(); item->amsItem->UnSelected();
//item->amsItem->HideHumidity(); //item->amsItem->HideHumidity();
@ -3471,8 +3500,6 @@ void AMSControl::SwitchAms(std::string ams_id)
} }
} }
m_current_ams = ams_id;
// update extruder // update extruder
//m_extruder->OnAmsLoading(false); //m_extruder->OnAmsLoading(false);