mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2026-01-02 21:10:29 -07:00
ENH:optimize device page lag
jira:[none] Change-Id: I0f6f1b257922d0e25152df9d42814551fa4a89ae (cherry picked from commit 570751668e120b92953593c38bf2469474e98d8f)
This commit is contained in:
parent
048f91be5c
commit
ac3ead14d2
6 changed files with 28 additions and 71 deletions
|
|
@ -276,8 +276,7 @@ void MonitorPanel::on_update_all(wxMouseEvent &event)
|
|||
{
|
||||
if (update_flag) {
|
||||
update_all();
|
||||
Layout();
|
||||
Refresh();
|
||||
//Layout();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -332,7 +331,8 @@ void MonitorPanel::on_printer_clicked(wxMouseEvent &event)
|
|||
void MonitorPanel::on_size(wxSizeEvent &event)
|
||||
{
|
||||
Layout();
|
||||
Refresh();
|
||||
//event.Skip();
|
||||
//Refresh();
|
||||
}
|
||||
|
||||
void MonitorPanel::update_all()
|
||||
|
|
@ -508,7 +508,7 @@ void MonitorPanel::show_status(int status)
|
|||
m_upgrade_panel->update(nullptr);
|
||||
#endif
|
||||
|
||||
Freeze();
|
||||
//Freeze();
|
||||
// update panels
|
||||
if (m_side_tools) { m_side_tools->show_status(status); };
|
||||
m_status_info_panel->show_status(status);
|
||||
|
|
@ -533,7 +533,7 @@ Freeze();
|
|||
m_tabpanel->Layout();
|
||||
}
|
||||
Layout();
|
||||
Thaw();
|
||||
//Thaw();
|
||||
}
|
||||
|
||||
std::string MonitorPanel::get_string_from_tab(PrinterTab tab)
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ class MonitorPanel : public wxPanel
|
|||
private:
|
||||
Tabbook* m_tabpanel{ nullptr };
|
||||
wxSizer* m_main_sizer{ nullptr };
|
||||
|
||||
|
||||
AddMachinePanel* m_status_add_machine_panel;
|
||||
StatusPanel* m_status_info_panel;
|
||||
MediaFilePanel* m_media_file_panel;
|
||||
|
|
@ -119,7 +119,7 @@ public:
|
|||
PT_DEBUG = 4,
|
||||
PT_MAX_NUM = 5
|
||||
};
|
||||
|
||||
|
||||
void init_bitmap();
|
||||
void init_timer();
|
||||
void init_tabpanel();
|
||||
|
|
|
|||
|
|
@ -1551,7 +1551,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++) {
|
||||
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]) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2062,11 +2062,12 @@ void StatusBasePanel::show_ams_group(bool show)
|
|||
{
|
||||
if (m_ams_control->IsShown() != show) {
|
||||
m_ams_control->Show(show);
|
||||
m_ams_control->show_noams_mode();
|
||||
m_ams_control->Layout();
|
||||
m_ams_control->Fit();
|
||||
Layout();
|
||||
Fit();
|
||||
wxGetApp().mainframe->m_monitor->get_status_panel()->Layout();
|
||||
wxGetApp().mainframe->m_monitor->Layout();
|
||||
}
|
||||
|
||||
if (m_ams_control_box->IsShown() != show) {
|
||||
|
|
@ -2075,11 +2076,9 @@ void StatusBasePanel::show_ams_group(bool show)
|
|||
m_ams_control->Fit();
|
||||
Layout();
|
||||
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)
|
||||
|
|
@ -2097,6 +2096,8 @@ void StatusBasePanel::show_filament_load_group(bool show)
|
|||
m_show_filament_group = show;
|
||||
Layout();
|
||||
Fit();
|
||||
wxGetApp().mainframe->m_monitor->get_status_panel()->Layout();
|
||||
wxGetApp().mainframe->m_monitor->Layout();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2561,9 +2562,9 @@ bool StatusPanel::is_task_changed(MachineObject* obj)
|
|||
void StatusPanel::update(MachineObject *obj)
|
||||
{
|
||||
if (!obj) return;
|
||||
m_project_task_panel->Freeze();
|
||||
//m_project_task_panel->Freeze();
|
||||
update_subtask(obj);
|
||||
m_project_task_panel->Thaw();
|
||||
//m_project_task_panel->Thaw();
|
||||
|
||||
#if !BBL_RELEASE_TO_PUBLIC
|
||||
auto delay1 = std::chrono::duration_cast<std::chrono::milliseconds>(obj->last_utc_time - std::chrono::system_clock::now()).count();
|
||||
|
|
@ -3123,7 +3124,7 @@ void StatusPanel::update_ams(MachineObject *obj)
|
|||
m_ams_control->SetAmsModel(ams_mode, ams_mode);
|
||||
m_filament_step->SetAmsModel(ams_mode, ams_mode);
|
||||
show_ams_group(true);
|
||||
show_filament_load_group(true);
|
||||
//show_filament_load_group(true);
|
||||
|
||||
if (obj->amsList.empty() || obj->ams_exist_bits == 0) {
|
||||
m_ams_control->show_auto_refill(false);
|
||||
|
|
@ -3701,7 +3702,7 @@ void StatusPanel::update_subtask(MachineObject *obj)
|
|||
reset_printing_values();
|
||||
}
|
||||
|
||||
Layout();
|
||||
//Layout();
|
||||
}
|
||||
|
||||
void StatusPanel::update_cloud_subtask(MachineObject *obj)
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
m_extder_data.total_extder_count = 1;
|
||||
SetBackgroundColour(*wxWHITE);
|
||||
// normal mode
|
||||
Freeze();
|
||||
//Freeze();
|
||||
wxBoxSizer *m_sizer_body = new wxBoxSizer(wxVERTICAL);
|
||||
m_amswin = new wxWindow(this, wxID_ANY);
|
||||
m_amswin->SetBackgroundColour(*wxWHITE);
|
||||
|
|
@ -266,7 +266,7 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
m_amswin->SetSizer(m_sizer_body);
|
||||
m_amswin->Layout();
|
||||
m_amswin->Fit();
|
||||
Thaw();
|
||||
//Thaw();
|
||||
|
||||
SetSize(m_amswin->GetSize());
|
||||
SetMinSize(m_amswin->GetSize());
|
||||
|
|
@ -581,7 +581,7 @@ void AMSControl::CreateAms()
|
|||
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>::iterator it;
|
||||
Freeze();
|
||||
//Freeze();
|
||||
for (it = ams_info.begin(); it != ams_info.end(); it++) {
|
||||
AddAmsPreview(*it, AMSModel::GENERIC_AMS);
|
||||
AddAms(*it);
|
||||
|
|
@ -596,7 +596,7 @@ void AMSControl::CreateAms()
|
|||
m_sizer_prv_left->Layout();
|
||||
m_sizer_prv_right->Layout();
|
||||
}
|
||||
Thaw();
|
||||
//Thaw();
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -635,7 +635,7 @@ void AMSControl::CreateAmsDoubleNozzle()
|
|||
std::vector<AMSinfo> single_info_left;
|
||||
std::vector<AMSinfo> single_info_right;
|
||||
|
||||
Freeze();
|
||||
//Freeze();
|
||||
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){
|
||||
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);
|
||||
|
|
@ -742,7 +742,7 @@ void AMSControl::CreateAmsDoubleNozzle()
|
|||
m_down_road->UpdatePassRoad(AMSPanelPos::RIGHT_PANEL, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_extruder->OnAmsLoading(false, MAIN_NOZZLE_ID);
|
||||
|
||||
Thaw();
|
||||
//Thaw();
|
||||
}
|
||||
|
||||
void AMSControl::CreateAmsSingleNozzle()
|
||||
|
|
@ -750,7 +750,7 @@ void AMSControl::CreateAmsSingleNozzle()
|
|||
std::vector<int>m_item_nums{0,0};
|
||||
std::vector<AMSinfo> single_info;
|
||||
|
||||
Freeze();
|
||||
//Freeze();
|
||||
|
||||
//add ams data
|
||||
for (auto ams_info = m_ams_info.begin(); ams_info != m_ams_info.end(); ams_info++) {
|
||||
|
|
@ -828,7 +828,7 @@ void AMSControl::CreateAmsSingleNozzle()
|
|||
m_extruder->OnAmsLoading(false, MAIN_NOZZLE_ID);
|
||||
|
||||
//Refresh();
|
||||
Thaw();
|
||||
//Thaw();
|
||||
}
|
||||
|
||||
void AMSControl::Reset()
|
||||
|
|
@ -860,16 +860,6 @@ void AMSControl::Reset()
|
|||
|
||||
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();
|
||||
}
|
||||
|
||||
|
|
@ -885,23 +875,6 @@ void AMSControl::enable_ams_setting(bool 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)
|
||||
{
|
||||
//m_vams_lib->show_kn_value(show);
|
||||
|
|
@ -936,20 +909,6 @@ void AMSControl::update_vams_kn_value(AmsTray tray, MachineObject* obj)
|
|||
//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() {
|
||||
auto caninfo0_0 = Caninfo{ "0", (""), *wxRED, AMSCanType::AMS_CAN_TYPE_VIRTUAL };
|
||||
auto caninfo0_1 = Caninfo{ "1", (""), *wxGREEN, AMSCanType::AMS_CAN_TYPE_VIRTUAL };
|
||||
|
|
@ -1095,7 +1054,7 @@ void AMSControl::UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo>ex
|
|||
first_time = false;
|
||||
}
|
||||
|
||||
Freeze();
|
||||
//Freeze();
|
||||
|
||||
// update item
|
||||
m_ams_info.clear();
|
||||
|
|
@ -1119,7 +1078,7 @@ void AMSControl::UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo>ex
|
|||
SetSize(wxSize(FromDIP(578), -1));
|
||||
SetMinSize(wxSize(FromDIP(578), -1));
|
||||
}
|
||||
Thaw();
|
||||
//Thaw();
|
||||
|
||||
// update cans
|
||||
|
||||
|
|
|
|||
|
|
@ -179,11 +179,8 @@ public:
|
|||
void show_noams_mode();
|
||||
void show_auto_refill(bool show);
|
||||
void enable_ams_setting(bool en);
|
||||
void show_vams(bool show);
|
||||
void show_vams_kn_value(bool show);
|
||||
void update_vams_kn_value(AmsTray tray, MachineObject* obj);
|
||||
|
||||
void reset_vams();
|
||||
void post_event(wxEvent&& event);
|
||||
|
||||
virtual bool Enable(bool enable = true);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue