ENH:dynamically update use_ams options

jira:[none]

Change-Id: Ia555b3375d3a195b8b6c0e0d6f65b78dd997c810
This commit is contained in:
tao wang 2024-12-05 22:23:45 +08:00 committed by lane.wei
parent 750dabf1b4
commit 58d6ac32f9
2 changed files with 24 additions and 18 deletions

View File

@ -27,6 +27,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);
@ -625,6 +626,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));
@ -2915,26 +2921,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");
}
}
@ -3027,10 +3026,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);
@ -4484,7 +4479,6 @@ void PrintOptionItem::on_left_down(wxMouseEvent &evt)
}
i++;
}
Refresh();
if (!m_param.empty()) {
AppConfig *config = wxGetApp().app_config;
@ -4494,6 +4488,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)

View File

@ -454,6 +454,11 @@ public:
PrintDialogStatus get_status() { return m_print_status; }
std::vector<std::string> sort_string(std::vector<std::string> strArray);
};
wxDECLARE_EVENT(EVT_SWITCH_PRINT_OPTION, wxCommandEvent);
}} // namespace Slic3r::GUI
#endif