ENH:dynamically update use_ams options

jira:[none]

Change-Id: Ia555b3375d3a195b8b6c0e0d6f65b78dd997c810
(cherry picked from commit 58d6ac32f99c700da90aca1ec7ba1d986eb2eff7)
This commit is contained in:
tao wang 2024-12-05 22:23:45 +08:00 committed by Noisyfox
parent 148ccec58d
commit 27780819e1
2 changed files with 24 additions and 18 deletions

View file

@ -30,6 +30,7 @@
namespace Slic3r { namespace GUI {
wxDEFINE_EVENT(EVT_SWITCH_PRINT_OPTION, wxCommandEvent);
wxDEFINE_EVENT(EVT_UPDATE_USER_MACHINE_LIST, wxCommandEvent);
wxDEFINE_EVENT(EVT_PRINT_JOB_CANCEL, wxCommandEvent);
wxDEFINE_EVENT(EVT_CLEAR_IPADDRESS, wxCommandEvent);
@ -589,6 +590,11 @@ SelectMachineDialog::SelectMachineDialog(Plater *plater)
ops_no_auto
);
option_use_ams->Bind(EVT_SWITCH_PRINT_OPTION, [this](auto& e) {
m_ams_mapping_result.clear();
sync_ams_mapping_result(m_ams_mapping_result);
});
option_use_ams->setValue("off");
m_sizer_options_timelapse->Add(option_timelapse, 0, wxEXPAND | wxTOP | wxBOTTOM, FromDIP(5));
m_sizer_options_other->Add(option_auto_bed_level, 0, wxEXPAND | wxTOP | wxBOTTOM, FromDIP(5));
@ -2914,26 +2920,19 @@ void SelectMachineDialog::update_flow_cali_check(MachineObject* obj)
void SelectMachineDialog::update_ams_check(MachineObject *obj)
{
/*if (!obj) {return;}
if (!obj) {return;}
if (obj->is_enable_np) {
m_checkbox_list["use_ams"]->Hide();
m_checkbox_list["use_ams"]->setValue("on");
}
else {
if (!obj->is_enable_np) {
if (obj->has_ams()) {
m_checkbox_list["use_ams"]->Show();
m_checkbox_list["use_ams"]->setValue("on");
} else {
}
else {
m_checkbox_list["use_ams"]->Hide();
m_checkbox_list["use_ams"]->setValue("off");
}
}*/
if (obj && obj->has_ams() && !obj->is_enable_np) {
m_checkbox_list["use_ams"]->Show();
}
if (obj && obj->is_enable_np) {
}else{
m_checkbox_list["use_ams"]->Hide();
m_checkbox_list["use_ams"]->setValue("on");
}
}
@ -3024,10 +3023,6 @@ void SelectMachineDialog::update_show_status()
}
}
//if (!obj_->has_ams() || !(m_checkbox_list["use_ams"]->getValue() == "on")) {
// clean_ams_mapping = true;
//}
if (clean_ams_mapping) {
m_ams_mapping_result.clear();
sync_ams_mapping_result(m_ams_mapping_result);
@ -4472,7 +4467,6 @@ void PrintOptionItem::on_left_down(wxMouseEvent &evt)
}
i++;
}
Refresh();
if (!m_param.empty()) {
AppConfig *config = wxGetApp().app_config;
@ -4482,6 +4476,13 @@ void PrintOptionItem::on_left_down(wxMouseEvent &evt)
config->set_str("print", m_param, "0");
}
}
wxCommandEvent event(EVT_SWITCH_PRINT_OPTION);
event.SetString(selected_key);
event.SetEventObject(GetParent());
wxPostEvent(GetParent(), event);
Refresh();
}
void PrintOptionItem::doRender(wxDC &dc)