FIX: only display used filament on filament dialog

jira: none
Change-Id: Id643d1efad26eb2719f873543c2e451fe59dc5bb
(cherry picked from commit 1d4ce2bad5c4878f75208486d5862009154fc7ff)
This commit is contained in:
zhimin.zeng
2024-07-25 17:03:01 +08:00
committed by Noisyfox
parent ef7d233d93
commit 366701958c
3 changed files with 15 additions and 3 deletions

View File

@@ -41,7 +41,11 @@ wxColour hex_to_color(const std::string &hex)
return wxColour(r, g, b, a);
}
FilamentMapDialog::FilamentMapDialog(wxWindow *parent, const DynamicPrintConfig *config, const std::vector<int> &filament_map, bool is_auto)
FilamentMapDialog::FilamentMapDialog(wxWindow *parent,
const DynamicPrintConfig *config,
const std::vector<int> &filament_map,
const std::vector<int> &extruders,
bool is_auto)
: wxDialog(parent, wxID_ANY, _L("Filament arrangement method of plate"), wxDefaultPosition, wxSize(2000, 1500))
, m_config(config)
, m_filament_map(filament_map)
@@ -71,6 +75,10 @@ FilamentMapDialog::FilamentMapDialog(wxWindow *parent, const DynamicPrintConfig
std::vector<std::string> filament_color = config->option<ConfigOptionStrings>("filament_colour")->values;
for (size_t i = 0; i < filament_map.size(); ++i) {
auto iter = std::find(extruders.begin(), extruders.end(), i + 1);
if (iter == extruders.end())
continue;
if (filament_map[i] == 1) {
m_left_panel->AddColorBlock(hex_to_color(filament_color[i]), i + 1);
}