ENH:optimize the status display of the extruder

Change-Id: Ib35a31e46fe1c6b84d2e17d50c04a146e82f0270
(cherry picked from commit c79ee70d34f8628a50f6aaa73d256f5444094b62)
This commit is contained in:
tao wang 2023-08-14 16:45:19 +08:00 committed by Lane.Wei
parent 60701cbc8e
commit 6024f149c8

View file

@ -1935,34 +1935,13 @@ wxColour AmsCans::GetTagColr(wxString canid)
void AmsCans::SetAmsStepExtra(wxString canid, AMSPassRoadType type, AMSPassRoadSTEP step) void AmsCans::SetAmsStepExtra(wxString canid, AMSPassRoadType type, AMSPassRoadSTEP step)
{ {
wxString type_str = "";
wxString step_str = "";
if (type == AMSPassRoadType::AMS_ROAD_TYPE_NONE) {
type_str = "AMS_ROAD_TYPE_NONE";
}
else if (type == AMSPassRoadType::AMS_ROAD_TYPE_LOAD) {
type_str = "AMS_ROAD_TYPE_LOAD";
}
else if (type == AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD) {
type_str = "AMS_ROAD_TYPE_UNLOAD";
}
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP1) { if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP1) {
step_str = "AMS_ROAD_STEP_COMBO_LOAD_STEP1";
SetAmsStep(canid.ToStdString()); SetAmsStep(canid.ToStdString());
} }else if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2) {
else if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2) {
step_str = "AMS_ROAD_STEP_COMBO_LOAD_STEP2";
SetAmsStep(canid.ToStdString()); SetAmsStep(canid.ToStdString());
} }else if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP3) {
else if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP3) {
step_str = "AMS_ROAD_STEP_COMBO_LOAD_STEP3";
SetAmsStep(canid.ToStdString()); SetAmsStep(canid.ToStdString());
}else if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_NONE) { }else if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_NONE) {
step_str = "AMS_ROAD_STEP_NONE";
SetAmsStep(""); SetAmsStep("");
} }
} }
@ -2104,14 +2083,15 @@ void AmsCans::doRender(wxDC& dc)
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 == m_road_canid) {
m_road_colour = lib->canLib->m_info.material_colour; if (m_road_canid.empty()) {
if (!m_road_canid.empty()) { lib->canLib->on_pass_road(false);
}
else {
if (lib->canLib->m_info.can_id == m_road_canid) {
m_road_colour = lib->canLib->m_info.material_colour;
lib->canLib->on_pass_road(true); lib->canLib->on_pass_road(true);
} }
else {
lib->canLib->on_pass_road(false);
}
} }
} }
@ -3476,41 +3456,37 @@ void AMSControl::SetExtruder(bool on_off, bool is_vams, std::string ams_now, wxC
} }
if (is_vams && on_off) { if (is_vams && on_off) {
m_extruder->OnAmsLoading(false, col); m_extruder->OnAmsLoading(false);
m_vams_extra_road->OnVamsLoading(true, col); m_vams_extra_road->OnVamsLoading(true, col);
m_extruder->OnVamsLoading(true, col); m_extruder->OnVamsLoading(true, col);
m_vams_road->OnVamsLoading(true, col); m_vams_road->OnVamsLoading(true, col);
} }
else { else {
m_vams_extra_road->OnVamsLoading(false, col); m_vams_extra_road->OnVamsLoading(false);
m_extruder->OnVamsLoading(false, col); m_extruder->OnVamsLoading(false);
m_vams_road->OnVamsLoading(false, col); m_vams_road->OnVamsLoading(false);
} }
} }
else if (m_ams_model == AMSModel::EXTRA_AMS || m_ext_model == AMSModel::EXTRA_AMS) { else if (m_ams_model == AMSModel::EXTRA_AMS || m_ext_model == AMSModel::EXTRA_AMS) {
if (!is_vams && !on_off) { if (!is_vams && !on_off) {
m_extruder->TurnOff(); m_extruder->TurnOff();
m_extruder->OnVamsLoading(false); m_extruder->OnVamsLoading(false);
m_extruder->OnAmsLoading(false);
m_vams_extra_road->OnVamsLoading(false); m_vams_extra_road->OnVamsLoading(false);
m_vams_road->OnVamsLoading(false); m_vams_road->OnVamsLoading(false);
} }
else { else {
m_extruder->TurnOn(col); m_extruder->TurnOn(col);
m_extruder->OnAmsLoading(true, col);
} }
if (is_vams && on_off) { if (is_vams && on_off) {
m_extruder->OnAmsLoading(false, col);
m_vams_extra_road->OnVamsLoading(true, col); m_vams_extra_road->OnVamsLoading(true, col);
m_extruder->OnVamsLoading(true, col); m_extruder->OnVamsLoading(true, col);
m_vams_road->OnVamsLoading(true, col); m_vams_road->OnVamsLoading(true, col);
} }
else { else {
m_vams_extra_road->OnVamsLoading(false, col); m_vams_extra_road->OnVamsLoading(false);
m_extruder->OnVamsLoading(false, col); m_extruder->OnVamsLoading(false);
m_vams_road->OnVamsLoading(false, col); m_vams_road->OnVamsLoading(false);
} }
} }
} }
@ -3572,6 +3548,12 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
} }
else if (m_ams_model == AMSModel::EXTRA_AMS) { else if (m_ams_model == AMSModel::EXTRA_AMS) {
cans->amsCans->SetAmsStepExtra(canid, type, step); cans->amsCans->SetAmsStepExtra(canid, type, step);
if (step != AMSPassRoadSTEP::AMS_ROAD_STEP_NONE) {
m_extruder->OnAmsLoading(true, cans->amsCans->GetTagColr(canid));
}
else {
m_extruder->OnAmsLoading(false);
}
} }
for (auto i = 0; i < m_ams_info.size(); i++) { for (auto i = 0; i < m_ams_info.size(); i++) {