ENH: printer preset display multi_extruder

Change-Id: Ibf479140964e9b2c6105d947fe21684cfce4b589
This commit is contained in:
zhimin.zeng 2024-06-19 16:09:02 +08:00 committed by lane.wei
parent b0e3ab037e
commit faa2386b0d
1 changed files with 31 additions and 43 deletions

View File

@ -3708,7 +3708,7 @@ void TabPrinter::extruders_count_changed(size_t extruders_count)
is_count_changed = true; is_count_changed = true;
} }
// BBS // BBS
#if 0 #if 1
else if (m_extruders_count == 1 && else if (m_extruders_count == 1 &&
m_preset_bundle->project_config.option<ConfigOptionFloats>("flush_volumes_matrix")->values.size()>1) m_preset_bundle->project_config.option<ConfigOptionFloats>("flush_volumes_matrix")->values.size()>1)
m_preset_bundle->update_multi_material_filament_presets(); m_preset_bundle->update_multi_material_filament_presets();
@ -3840,51 +3840,41 @@ void TabPrinter::build_unregular_pages(bool from_initial_build/* = false*/)
n_before_extruders++; n_before_extruders++;
size_t n_after_single_extruder_MM = 2; // Count of pages after single_extruder_multi_material page size_t n_after_single_extruder_MM = 2; // Count of pages after single_extruder_multi_material page
//if (m_extruders_count_old == m_extruders_count || #if 0
// (m_has_single_extruder_MM_page && m_extruders_count == 1)) if (m_extruders_count_old == m_extruders_count ||
//{ (m_has_single_extruder_MM_page && m_extruders_count == 1))
// // if we have a single extruder MM setup, add a page with configuration options: {
// for (size_t i = 0; i < m_pages.size(); ++i) // first make sure it's not there already // if we have a single extruder MM setup, add a page with configuration options:
// if (m_pages[i]->title().find(L("Single extruder MM setup")) != std::string::npos) { for (size_t i = 0; i < m_pages.size(); ++i) // first make sure it's not there already
// m_pages.erase(m_pages.begin() + i); if (m_pages[i]->title().find(L("Single extruder MM setup")) != std::string::npos) {
// break; m_pages.erase(m_pages.begin() + i);
// } break;
// m_has_single_extruder_MM_page = false; }
//} m_has_single_extruder_MM_page = false;
}
//BBS: please add our single extruder multimaterial parameters here. Currently //BBS: please add our single extruder multimaterial parameters here. Currently
//comment this part because we have no such config in this page. //comment this part because we have no such config in this page.
#if 0 if (from_initial_build ||
//if (from_initial_build || (m_extruders_count > 1 && m_config->opt_bool("single_extruder_multi_material") && !m_has_single_extruder_MM_page)) {
// (m_extruders_count > 1 && m_config->opt_bool("single_extruder_multi_material") && !m_has_single_extruder_MM_page)) { // create a page, but pretend it's an extruder page, so we can add it to m_pages ourselves
// // create a page, but pretend it's an extruder page, so we can add it to m_pages ourselves auto page = add_options_page(L("Single extruder MM setup"), "printer", true);
// auto page = add_options_page(L("Single extruder MM setup"), "printer", true); auto optgroup = page->new_optgroup(L("Single extruder multimaterial parameters"));
// auto optgroup = page->new_optgroup(L("Single extruder multimaterial parameters"));
// if (from_initial_build)
// if (from_initial_build) page->clear();
// page->clear(); else {
// else { m_pages.insert(m_pages.end() - n_after_single_extruder_MM, page);
// m_pages.insert(m_pages.end() - n_after_single_extruder_MM, page); m_has_single_extruder_MM_page = true;
// m_has_single_extruder_MM_page = true; }
// } }
//}
#endif #endif
// BBS. Just create one extruder page because BBL machine has only on physical extruder. // BBS. Just create one extruder page because BBL machine has only on physical extruder.
// Build missed extruder pages // Build missed extruder pages
//for (auto extruder_idx = m_extruders_count_old; extruder_idx < m_extruders_count; ++extruder_idx) for (auto extruder_idx = m_extruders_count_old; extruder_idx < m_extruders_count; ++extruder_idx) {
auto extruder_idx = 0; const wxString& page_name = (m_extruders_count > 1) ? wxString::Format("Extruder %d", int(extruder_idx + 1)) : wxString::Format("Extruder");
const wxString& page_name = (m_extruders_count > 1) ? wxString::Format("Extruder %d", int(extruder_idx + 1)) : wxString::Format("Extruder");
bool page_exist = false;
for (auto page_temp : m_pages) {
if (page_temp->title() == page_name) {
page_exist = true;
break;
}
}
if (!page_exist)
{
//# build page //# build page
//const wxString& page_name = wxString::Format("Extruder %d", int(extruder_idx + 1)); //const wxString& page_name = wxString::Format("Extruder %d", int(extruder_idx + 1));
auto page = add_options_page(page_name, "empty", true); auto page = add_options_page(page_name, "empty", true);
@ -3994,10 +3984,9 @@ void TabPrinter::build_unregular_pages(bool from_initial_build/* = false*/)
//optgroup->append_line(line); //optgroup->append_line(line);
#endif #endif
} }
// BBS. No extra extruder page for single physical extruder machine // BBS. No extra extruder page for single physical extruder machine
// # remove extra pages // # remove extra pages
#if 0 #if 1
if (m_extruders_count < m_extruders_count_old) if (m_extruders_count < m_extruders_count_old)
m_pages.erase( m_pages.begin() + n_before_extruders + m_extruders_count, m_pages.erase( m_pages.begin() + n_before_extruders + m_extruders_count,
m_pages.begin() + n_before_extruders + m_extruders_count_old); m_pages.begin() + n_before_extruders + m_extruders_count_old);
@ -4023,13 +4012,12 @@ void TabPrinter::build_unregular_pages(bool from_initial_build/* = false*/)
void TabPrinter::on_preset_loaded() void TabPrinter::on_preset_loaded()
{ {
// BBS // BBS
#if 0
// update the extruders count field // update the extruders count field
auto *nozzle_diameter = dynamic_cast<const ConfigOptionFloats*>(m_config->option("nozzle_diameter")); auto *nozzle_diameter = dynamic_cast<const ConfigOptionFloats*>(m_config->option("nozzle_diameter"));
size_t extruders_count = nozzle_diameter->values.size(); size_t extruders_count = nozzle_diameter->values.size();
// update the GUI field according to the number of nozzle diameters supplied // update the GUI field according to the number of nozzle diameters supplied
extruders_count_changed(extruders_count); if (m_extruders_count != extruders_count)
#endif extruders_count_changed(extruders_count);
} }
void TabPrinter::update_pages() void TabPrinter::update_pages()