ENH:optimize device page lag

jira:[none]

Change-Id: I0f6f1b257922d0e25152df9d42814551fa4a89ae
This commit is contained in:
tao wang 2025-01-05 13:25:13 +08:00 committed by lane.wei
parent 42e5a31ede
commit 570751668e
6 changed files with 28 additions and 70 deletions

View File

@ -289,7 +289,7 @@ void MonitorPanel::select_machine(std::string machine_sn)
{ {
if (update_flag) { if (update_flag) {
update_all(); update_all();
Layout(); //Layout();
} }
} }
@ -342,7 +342,8 @@ void MonitorPanel::on_printer_clicked(wxMouseEvent &event)
void MonitorPanel::on_size(wxSizeEvent &event) void MonitorPanel::on_size(wxSizeEvent &event)
{ {
//Layout(); Layout();
//event.Skip();
//Refresh(); //Refresh();
} }
@ -531,7 +532,7 @@ void MonitorPanel::show_status(int status)
m_upgrade_panel->update(nullptr); m_upgrade_panel->update(nullptr);
#endif #endif
Freeze(); //Freeze();
// update panels // update panels
if (m_side_tools) { m_side_tools->show_status(status); }; if (m_side_tools) { m_side_tools->show_status(status); };
m_status_info_panel->show_status(status); m_status_info_panel->show_status(status);
@ -556,7 +557,7 @@ Freeze();
m_tabpanel->Layout(); m_tabpanel->Layout();
} }
Layout(); Layout();
Thaw(); //Thaw();
} }
std::string MonitorPanel::get_string_from_tab(PrinterTab tab) std::string MonitorPanel::get_string_from_tab(PrinterTab tab)

View File

@ -1545,7 +1545,7 @@ bool SelectMachineDialog::is_nozzle_type_match(ExtderData data) {
for (std::map<int, std::string>::iterator it = used_extruders_flow.begin(); it!= used_extruders_flow.end(); it++) { for (std::map<int, std::string>::iterator it = used_extruders_flow.begin(); it!= used_extruders_flow.end(); it++) {
int target_machine_nozzle_id = map_extruders[it->first]; int target_machine_nozzle_id = map_extruders[it->first];
if (target_machine_nozzle_id <= flow_type_of_machine.size()) { if (target_machine_nozzle_id < flow_type_of_machine.size()) {
if (flow_type_of_machine[target_machine_nozzle_id] != used_extruders_flow[it->first]) { if (flow_type_of_machine[target_machine_nozzle_id] != used_extruders_flow[it->first]) {
return false; return false;
} }

View File

@ -2026,11 +2026,12 @@ void StatusBasePanel::show_ams_group(bool show)
{ {
if (m_ams_control->IsShown() != show) { if (m_ams_control->IsShown() != show) {
m_ams_control->Show(show); m_ams_control->Show(show);
m_ams_control->show_noams_mode();
m_ams_control->Layout(); m_ams_control->Layout();
m_ams_control->Fit(); m_ams_control->Fit();
Layout(); Layout();
Fit(); Fit();
wxGetApp().mainframe->m_monitor->get_status_panel()->Layout();
wxGetApp().mainframe->m_monitor->Layout();
} }
if (m_ams_control_box->IsShown() != show) { if (m_ams_control_box->IsShown() != show) {
@ -2039,11 +2040,9 @@ void StatusBasePanel::show_ams_group(bool show)
m_ams_control->Fit(); m_ams_control->Fit();
Layout(); Layout();
Fit(); Fit();
wxGetApp().mainframe->m_monitor->get_status_panel()->Layout();
wxGetApp().mainframe->m_monitor->Layout();
} }
//if (m_show_ams_group != show){
// m_show_ams_group = show;
//}
} }
void StatusBasePanel::show_filament_load_group(bool show) void StatusBasePanel::show_filament_load_group(bool show)
@ -2061,6 +2060,8 @@ void StatusBasePanel::show_filament_load_group(bool show)
m_show_filament_group = show; m_show_filament_group = show;
Layout(); Layout();
Fit(); Fit();
wxGetApp().mainframe->m_monitor->get_status_panel()->Layout();
wxGetApp().mainframe->m_monitor->Layout();
} }
} }
@ -2535,9 +2536,9 @@ void StatusPanel::update(MachineObject *obj)
{ {
if (!obj) return; if (!obj) return;
m_project_task_panel->Freeze(); //m_project_task_panel->Freeze();
update_subtask(obj); update_subtask(obj);
m_project_task_panel->Thaw(); //m_project_task_panel->Thaw();
#if !BBL_RELEASE_TO_PUBLIC #if !BBL_RELEASE_TO_PUBLIC
auto delay1 = std::chrono::duration_cast<std::chrono::milliseconds>(obj->last_utc_time - std::chrono::system_clock::now()).count(); auto delay1 = std::chrono::duration_cast<std::chrono::milliseconds>(obj->last_utc_time - std::chrono::system_clock::now()).count();
@ -3098,7 +3099,7 @@ void StatusPanel::update_ams(MachineObject *obj)
m_ams_control->SetAmsModel(ams_mode, ams_mode); m_ams_control->SetAmsModel(ams_mode, ams_mode);
m_filament_step->SetAmsModel(ams_mode, ams_mode); m_filament_step->SetAmsModel(ams_mode, ams_mode);
show_ams_group(true); show_ams_group(true);
show_filament_load_group(true); //show_filament_load_group(true);
if (obj->amsList.empty() || obj->ams_exist_bits == 0) { if (obj->amsList.empty() || obj->ams_exist_bits == 0) {
m_ams_control->show_auto_refill(false); m_ams_control->show_auto_refill(false);
@ -3678,7 +3679,7 @@ void StatusPanel::update_subtask(MachineObject *obj)
reset_printing_values(); reset_printing_values();
} }
Layout(); //Layout();
} }
void StatusPanel::update_cloud_subtask(MachineObject *obj) void StatusPanel::update_cloud_subtask(MachineObject *obj)

View File

@ -2429,7 +2429,7 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
m_extder_data.total_extder_count = 1; m_extder_data.total_extder_count = 1;
SetBackgroundColour(*wxWHITE); SetBackgroundColour(*wxWHITE);
// normal mode // normal mode
Freeze(); //Freeze();
wxBoxSizer *m_sizer_body = new wxBoxSizer(wxVERTICAL); wxBoxSizer *m_sizer_body = new wxBoxSizer(wxVERTICAL);
m_amswin = new wxWindow(this, wxID_ANY); m_amswin = new wxWindow(this, wxID_ANY);
m_amswin->SetBackgroundColour(*wxWHITE); m_amswin->SetBackgroundColour(*wxWHITE);
@ -2663,7 +2663,7 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
m_amswin->SetSizer(m_sizer_body); m_amswin->SetSizer(m_sizer_body);
m_amswin->Layout(); m_amswin->Layout();
m_amswin->Fit(); m_amswin->Fit();
Thaw(); //Thaw();
SetSize(m_amswin->GetSize()); SetSize(m_amswin->GetSize());
SetMinSize(m_amswin->GetSize()); SetMinSize(m_amswin->GetSize());
@ -2976,7 +2976,7 @@ void AMSControl::CreateAms()
AMSinfo ams8 = AMSinfo{ "7", std::vector<Caninfo>{caninfo1_0, caninfo1_1, caninfo1_2, caninfo1_3}, 1 }; AMSinfo ams8 = AMSinfo{ "7", std::vector<Caninfo>{caninfo1_0, caninfo1_1, caninfo1_2, caninfo1_3}, 1 };
std::vector<AMSinfo> ams_info{ams1, ams2, ams3, ams4, ams5, ams6, ams7, ams8 }; std::vector<AMSinfo> ams_info{ams1, ams2, ams3, ams4, ams5, ams6, ams7, ams8 };
std::vector<AMSinfo>::iterator it; std::vector<AMSinfo>::iterator it;
Freeze(); //Freeze();
for (it = ams_info.begin(); it != ams_info.end(); it++) { for (it = ams_info.begin(); it != ams_info.end(); it++) {
AddAmsPreview(*it, AMSModel::GENERIC_AMS); AddAmsPreview(*it, AMSModel::GENERIC_AMS);
AddAms(*it); AddAms(*it);
@ -2991,7 +2991,7 @@ void AMSControl::CreateAms()
m_sizer_prv_left->Layout(); m_sizer_prv_left->Layout();
m_sizer_prv_right->Layout(); m_sizer_prv_right->Layout();
} }
Thaw(); //Thaw();
} }
@ -3030,7 +3030,7 @@ void AMSControl::CreateAmsDoubleNozzle()
std::vector<AMSinfo> single_info_left; std::vector<AMSinfo> single_info_left;
std::vector<AMSinfo> single_info_right; std::vector<AMSinfo> single_info_right;
Freeze(); //Freeze();
for (auto ams_info = m_ams_info.begin(); ams_info != m_ams_info.end(); ams_info++){ for (auto ams_info = m_ams_info.begin(); ams_info != m_ams_info.end(); ams_info++){
if (ams_info->cans.size() == GENERIC_AMS_SLOT_NUM){ if (ams_info->cans.size() == GENERIC_AMS_SLOT_NUM){
ams_info->nozzle_id == MAIN_NOZZLE_ID ? m_item_ids[MAIN_NOZZLE_ID].push_back(ams_info->ams_id) : m_item_ids[DEPUTY_NOZZLE_ID].push_back(ams_info->ams_id); ams_info->nozzle_id == MAIN_NOZZLE_ID ? m_item_ids[MAIN_NOZZLE_ID].push_back(ams_info->ams_id) : m_item_ids[DEPUTY_NOZZLE_ID].push_back(ams_info->ams_id);
@ -3137,7 +3137,7 @@ void AMSControl::CreateAmsDoubleNozzle()
m_down_road->UpdatePassRoad(AMSPanelPos::RIGHT_PANEL, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE); m_down_road->UpdatePassRoad(AMSPanelPos::RIGHT_PANEL, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
m_extruder->OnAmsLoading(false, MAIN_NOZZLE_ID); m_extruder->OnAmsLoading(false, MAIN_NOZZLE_ID);
Thaw(); //Thaw();
} }
void AMSControl::CreateAmsSingleNozzle() void AMSControl::CreateAmsSingleNozzle()
@ -3145,7 +3145,7 @@ void AMSControl::CreateAmsSingleNozzle()
std::vector<int>m_item_nums{0,0}; std::vector<int>m_item_nums{0,0};
std::vector<AMSinfo> single_info; std::vector<AMSinfo> single_info;
Freeze(); //Freeze();
//add ams data //add ams data
for (auto ams_info = m_ams_info.begin(); ams_info != m_ams_info.end(); ams_info++) { for (auto ams_info = m_ams_info.begin(); ams_info != m_ams_info.end(); ams_info++) {
@ -3223,7 +3223,7 @@ void AMSControl::CreateAmsSingleNozzle()
m_extruder->OnAmsLoading(false, MAIN_NOZZLE_ID); m_extruder->OnAmsLoading(false, MAIN_NOZZLE_ID);
//Refresh(); //Refresh();
Thaw(); //Thaw();
} }
void AMSControl::Reset() void AMSControl::Reset()
@ -3255,16 +3255,6 @@ void AMSControl::Reset()
void AMSControl::show_noams_mode() void AMSControl::show_noams_mode()
{ {
show_vams(true);
//m_sizer_ams_tips->Show(true);
/*if (m_ams_model == AMSModel::NO_AMS) {
EnterNoneAMSMode();
} else if(m_ams_model == AMSModel::GENERIC_AMS){
EnterGenericAMSMode();
} else if (m_ams_model == AMSModel::EXTRA_AMS) {
EnterExtraAMSMode();
}*/
EnterGenericAMSMode(); EnterGenericAMSMode();
} }
@ -3280,23 +3270,6 @@ void AMSControl::enable_ams_setting(bool en)
m_button_ams_setting->Enable(en); m_button_ams_setting->Enable(en);
} }
void AMSControl::show_vams(bool show)
{
//m_panel_virtual->Show(show);
//m_vams_sizer->Show(show);
/*m_extruder->has_ams(show);
show_vams_kn_value(show);
Layout();
if (show && m_is_none_ams_mode) {
if (m_current_ams == "") {
wxMouseEvent event(wxEVT_LEFT_DOWN);
event.SetEventObject(m_vams_lib);
wxPostEvent(m_vams_lib, event);
}
}*/
}
void AMSControl::show_vams_kn_value(bool show) void AMSControl::show_vams_kn_value(bool show)
{ {
//m_vams_lib->show_kn_value(show); //m_vams_lib->show_kn_value(show);
@ -3331,20 +3304,6 @@ void AMSControl::update_vams_kn_value(AmsTray tray, MachineObject* obj)
//m_vams_lib->Refresh(); //m_vams_lib->Refresh();
} }
void AMSControl::reset_vams()
{
/*m_vams_lib->m_info.k = 0;
m_vams_lib->m_info.n = 0;
m_vams_lib->m_info.material_name = wxEmptyString;
m_vams_lib->m_info.material_colour = AMS_CONTROL_WHITE_COLOUR;
m_vams_lib->m_info.cali_idx = -1;
m_vams_lib->m_info.filament_id = "";
m_vams_info.material_name = wxEmptyString;
m_vams_info.material_colour = AMS_CONTROL_WHITE_COLOUR;
m_vams_lib->Refresh();*/
}
std::vector<AMSinfo> AMSControl::GenerateSimulateData() { std::vector<AMSinfo> AMSControl::GenerateSimulateData() {
auto caninfo0_0 = Caninfo{ "0", (""), *wxRED, AMSCanType::AMS_CAN_TYPE_VIRTUAL }; auto caninfo0_0 = Caninfo{ "0", (""), *wxRED, AMSCanType::AMS_CAN_TYPE_VIRTUAL };
auto caninfo0_1 = Caninfo{ "1", (""), *wxGREEN, AMSCanType::AMS_CAN_TYPE_VIRTUAL }; auto caninfo0_1 = Caninfo{ "1", (""), *wxGREEN, AMSCanType::AMS_CAN_TYPE_VIRTUAL };
@ -3492,7 +3451,7 @@ void AMSControl::UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo>ex
first_time = false; first_time = false;
} }
Freeze(); //Freeze();
// update item // update item
m_ams_info.clear(); m_ams_info.clear();
@ -3516,7 +3475,7 @@ void AMSControl::UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo>ex
SetSize(wxSize(FromDIP(578), -1)); SetSize(wxSize(FromDIP(578), -1));
SetMinSize(wxSize(FromDIP(578), -1)); SetMinSize(wxSize(FromDIP(578), -1));
} }
Thaw(); //Thaw();
// update cans // update cans

View File

@ -179,11 +179,8 @@ public:
void show_noams_mode(); void show_noams_mode();
void show_auto_refill(bool show); void show_auto_refill(bool show);
void enable_ams_setting(bool en); void enable_ams_setting(bool en);
void show_vams(bool show);
void show_vams_kn_value(bool show); void show_vams_kn_value(bool show);
void update_vams_kn_value(AmsTray tray, MachineObject* obj); void update_vams_kn_value(AmsTray tray, MachineObject* obj);
void reset_vams();
void post_event(wxEvent&& event); void post_event(wxEvent&& event);
virtual bool Enable(bool enable = true); virtual bool Enable(bool enable = true);