mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-12-27 09:59:48 -07:00
FIX: update ams select handler for single extruder
Jira: [STUDIO-14218] Change-Id: I92ae9192162fbd614ddc8d0f640de5940f7cd24f (cherry picked from commit c46e6f2b9f68c30268a5c8f557f793935919a6df)
This commit is contained in:
parent
8dd88df97b
commit
8bf60469b4
2 changed files with 12 additions and 7 deletions
|
|
@ -1002,7 +1002,7 @@ ExtruderType CalibrationPresetPage::get_extruder_type(int extruder_id) const
|
|||
return ExtruderType::etDirectDrive;
|
||||
}
|
||||
|
||||
wxBoxSizer* CalibrationPresetPage::create_ams_items_sizer(wxPanel* ams_preview_panel, std::vector<AMSPreview*> &ams_preview_list, std::vector<AMSinfo> &ams_info, int nozzle_id){
|
||||
wxBoxSizer* CalibrationPresetPage::create_ams_items_sizer(MachineObject* obj, wxPanel* ams_preview_panel, std::vector<AMSPreview*> &ams_preview_list, std::vector<AMSinfo> &ams_info, int nozzle_id){
|
||||
/* clear ams_preview_list */
|
||||
for (auto &item : ams_preview_list) {
|
||||
delete item;
|
||||
|
|
@ -1017,8 +1017,13 @@ wxBoxSizer* CalibrationPresetPage::create_ams_items_sizer(wxPanel* ams_preview_p
|
|||
preview_ams_item->Open();
|
||||
ams_preview_list.push_back(preview_ams_item);
|
||||
std::string ams_id = preview_ams_item->get_ams_id();
|
||||
preview_ams_item->Bind(wxEVT_LEFT_DOWN, [this, ams_id, nozzle_id](wxMouseEvent &e) {
|
||||
update_multi_extruder_filament_combobox(ams_id, nozzle_id);
|
||||
bool is_single = !obj->is_multi_extruders();
|
||||
preview_ams_item->Bind(wxEVT_LEFT_DOWN, [this, ams_id, nozzle_id, is_single](wxMouseEvent &e) {
|
||||
if(is_single){
|
||||
update_filament_combobox(ams_id);
|
||||
} else{
|
||||
update_multi_extruder_filament_combobox(ams_id, nozzle_id);
|
||||
}
|
||||
e.Skip();
|
||||
});
|
||||
ams_items_sizer->Add(preview_ams_item, 0, wxALIGN_CENTER | wxRIGHT, FromDIP(6));
|
||||
|
|
@ -2313,14 +2318,14 @@ void CalibrationPresetPage::sync_ams_info(MachineObject* obj)
|
|||
}
|
||||
|
||||
/* update ams preview */
|
||||
auto ams_items_sizer = create_ams_items_sizer(m_multi_ams_panel, m_ams_preview_list, ams_info, MAIN_EXTRUDER_ID);
|
||||
auto ams_items_sizer = create_ams_items_sizer(obj, m_multi_ams_panel, m_ams_preview_list, ams_info, MAIN_EXTRUDER_ID);
|
||||
auto multi_ams_sizer = new wxBoxSizer(wxVERTICAL);
|
||||
multi_ams_sizer->Add(ams_items_sizer, 0);
|
||||
multi_ams_sizer->AddSpacer(FromDIP(10));
|
||||
m_multi_ams_panel->SetSizer(multi_ams_sizer);
|
||||
|
||||
m_main_ams_preview_panel->SetSizer(create_ams_items_sizer(m_main_ams_preview_panel, m_main_ams_preview_list, main_ams_info, MAIN_EXTRUDER_ID));
|
||||
m_deputy_ams_preview_panel->SetSizer(create_ams_items_sizer(m_deputy_ams_preview_panel, m_deputy_ams_preview_list, deputy_ams_info, DEPUTY_EXTRUDER_ID));
|
||||
m_main_ams_preview_panel->SetSizer(create_ams_items_sizer(obj, m_main_ams_preview_panel, m_main_ams_preview_list, main_ams_info, MAIN_EXTRUDER_ID));
|
||||
m_deputy_ams_preview_panel->SetSizer(create_ams_items_sizer(obj, m_deputy_ams_preview_panel, m_deputy_ams_preview_list, deputy_ams_info, DEPUTY_EXTRUDER_ID));
|
||||
|
||||
Layout();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -234,7 +234,7 @@ public:
|
|||
protected:
|
||||
void create_selection_panel(wxWindow* parent);
|
||||
void create_filament_list_panel(wxWindow* parent);
|
||||
wxBoxSizer* create_ams_items_sizer(wxPanel* ams_preview_panel, std::vector<AMSPreview*> &ams_preview_list, std::vector<AMSinfo> &ams_info, int nozzle_id);
|
||||
wxBoxSizer* create_ams_items_sizer(MachineObject* obj, wxPanel* ams_preview_panel, std::vector<AMSPreview*> &ams_preview_list, std::vector<AMSinfo> &ams_info, int nozzle_id);
|
||||
|
||||
void init_selection_values();
|
||||
void update_filament_combobox(std::string ams_id = "");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue