mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-18 19:12:17 +00: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:
@@ -1002,7 +1002,7 @@ ExtruderType CalibrationPresetPage::get_extruder_type(int extruder_id) const
|
|||||||
return ExtruderType::etDirectDrive;
|
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 */
|
/* clear ams_preview_list */
|
||||||
for (auto &item : ams_preview_list) {
|
for (auto &item : ams_preview_list) {
|
||||||
delete item;
|
delete item;
|
||||||
@@ -1017,8 +1017,13 @@ wxBoxSizer* CalibrationPresetPage::create_ams_items_sizer(wxPanel* ams_preview_p
|
|||||||
preview_ams_item->Open();
|
preview_ams_item->Open();
|
||||||
ams_preview_list.push_back(preview_ams_item);
|
ams_preview_list.push_back(preview_ams_item);
|
||||||
std::string ams_id = preview_ams_item->get_ams_id();
|
std::string ams_id = preview_ams_item->get_ams_id();
|
||||||
preview_ams_item->Bind(wxEVT_LEFT_DOWN, [this, ams_id, nozzle_id](wxMouseEvent &e) {
|
bool is_single = !obj->is_multi_extruders();
|
||||||
update_multi_extruder_filament_combobox(ams_id, nozzle_id);
|
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();
|
e.Skip();
|
||||||
});
|
});
|
||||||
ams_items_sizer->Add(preview_ams_item, 0, wxALIGN_CENTER | wxRIGHT, FromDIP(6));
|
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 */
|
/* 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);
|
auto multi_ams_sizer = new wxBoxSizer(wxVERTICAL);
|
||||||
multi_ams_sizer->Add(ams_items_sizer, 0);
|
multi_ams_sizer->Add(ams_items_sizer, 0);
|
||||||
multi_ams_sizer->AddSpacer(FromDIP(10));
|
multi_ams_sizer->AddSpacer(FromDIP(10));
|
||||||
m_multi_ams_panel->SetSizer(multi_ams_sizer);
|
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_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(m_deputy_ams_preview_panel, m_deputy_ams_preview_list, deputy_ams_info, DEPUTY_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();
|
Layout();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -234,7 +234,7 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
void create_selection_panel(wxWindow* parent);
|
void create_selection_panel(wxWindow* parent);
|
||||||
void create_filament_list_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 init_selection_values();
|
||||||
void update_filament_combobox(std::string ams_id = "");
|
void update_filament_combobox(std::string ams_id = "");
|
||||||
|
|||||||
Reference in New Issue
Block a user