Rename wipe tower ribs related options

This commit is contained in:
Noisyfox
2025-10-02 22:04:27 +08:00
parent 4943c31bd0
commit a932821168
12 changed files with 78 additions and 79 deletions

View File

@@ -2581,10 +2581,6 @@ void TabPrint::build()
optgroup->append_single_option_line("prime_tower_width", "multimaterial_settings_prime_tower#width");
optgroup->append_single_option_line("prime_tower_brim_width", "multimaterial_settings_prime_tower#brim-width");
optgroup->append_single_option_line("prime_tower_infill_gap","parameter/prime-tower");
optgroup->append_single_option_line("prime_tower_rib_wall", "parameter/prime-tower");
optgroup->append_single_option_line("prime_tower_extra_rib_length","parameter/prime-tower");
optgroup->append_single_option_line("prime_tower_rib_width","parameter/prime-tower");
optgroup->append_single_option_line("prime_tower_fillet_wall","parameter/prime-tower");
optgroup->append_single_option_line("wipe_tower_rotation_angle", "multimaterial_settings_prime_tower#wipe-tower-rotation-angle");
optgroup->append_single_option_line("wipe_tower_bridging", "multimaterial_settings_prime_tower#maximal-bridging-distance");
optgroup->append_single_option_line("wipe_tower_extra_spacing", "multimaterial_settings_prime_tower#wipe-tower-purge-lines-spacing");
@@ -2765,6 +2761,27 @@ void TabPrint::toggle_options()
}
cb->SetValue(n);
}
// BBL printers do not support cone wipe tower
field = m_active_page->get_field("wipe_tower_wall_type");
if (auto choice = dynamic_cast<Choice*>(field)) {
auto def = print_config_def.get("wipe_tower_wall_type");
std::vector<int> enum_set_bbl = {wtwRectangle, wtwRib};
std::vector<int> enum_set_none_bbl = {wtwRectangle, wtwCone, wtwRib};
auto& set = m_config_manipulation.get_is_BBL_Printer() ? enum_set_bbl : enum_set_none_bbl;
auto& opt = const_cast<ConfigOptionDef&>(field->m_opt);
auto cb = dynamic_cast<ComboBox*>(choice->window);
auto n = cb->GetValue();
opt.enum_values.clear();
opt.enum_labels.clear();
cb->Clear();
for (auto i : set) {
opt.enum_values.push_back(def->enum_values[i]);
opt.enum_labels.push_back(def->enum_labels[i]);
cb->Append(_(def->enum_labels[i]));
}
cb->SetValue(n);
}
}
void TabPrint::update()