ENH: add thumbnail for printer and bed type
2. modify ams color style jira: none Change-Id: Ibc4cc21c4bcbd2e3c35f81c574f24786f41b9e62
This commit is contained in:
parent
7ff9b96837
commit
b391241a0b
Binary file not shown.
After Width: | Height: | Size: 23 KiB |
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
|
@ -218,6 +218,26 @@ void Plater::show_illegal_characters_warning(wxWindow* parent)
|
||||||
show_error(parent, _L("Invalid name, the following characters are not allowed:") + " <>:/\\|?*\"" +_L("(Including its escape characters)"));
|
show_error(parent, _L("Invalid name, the following characters are not allowed:") + " <>:/\\|?*\"" +_L("(Including its escape characters)"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static std::map<BedType, std::string> bed_type_thumbnails = {
|
||||||
|
{BedType::btPC, "bed_cool"},
|
||||||
|
{BedType::btEP, "bed_engineering"},
|
||||||
|
{BedType::btPEI, "bed_pei"},
|
||||||
|
{BedType::btPTE, "bed_high_templ"},
|
||||||
|
{BedType::btSuperTack, "bed_cool_supertack"}
|
||||||
|
};
|
||||||
|
|
||||||
|
// print_model_id
|
||||||
|
static std::map<std::string, std::string> printer_thumbnails = {
|
||||||
|
{"N1", "printer_preview_N1"},
|
||||||
|
{"N2S", "printer_preview_N2S"},
|
||||||
|
{"C11", "printer_preview_C11"},
|
||||||
|
{"C12", "printer_preview_C12"},
|
||||||
|
{"C13", "printer_preview_C13"},
|
||||||
|
{"BL-P001", "printer_preview_BL-P001"},
|
||||||
|
{"BL-P002", "printer_preview_BL-P002"},
|
||||||
|
{"O1D", "printer_preview_O1D"},
|
||||||
|
};
|
||||||
|
|
||||||
enum SlicedInfoIdx
|
enum SlicedInfoIdx
|
||||||
{
|
{
|
||||||
siFilament_m,
|
siFilament_m,
|
||||||
|
@ -944,6 +964,13 @@ void ExtruderGroup::update_ams()
|
||||||
if (ams_n4 * 4 + ams_n1 * 2 <= 8)
|
if (ams_n4 * 4 + ams_n1 * 2 <= 8)
|
||||||
is_upward = false;
|
is_upward = false;
|
||||||
|
|
||||||
|
std::vector<wxColour> colors = {
|
||||||
|
wxColour(255, 110, 100),
|
||||||
|
wxColour(97, 27, 22),
|
||||||
|
wxColour(7, 134, 219),
|
||||||
|
wxColour(170, 111, 252)
|
||||||
|
};
|
||||||
|
|
||||||
bool display_front_ams = !is_upward;
|
bool display_front_ams = !is_upward;
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
for (; i < ams_n4 && i < 4; ++i) {
|
for (; i < ams_n4 && i < 4; ++i) {
|
||||||
|
@ -953,7 +980,11 @@ void ExtruderGroup::update_ams()
|
||||||
if (show_this_ams) {
|
if (show_this_ams) {
|
||||||
AMSinfo ams_info;
|
AMSinfo ams_info;
|
||||||
ams_info.ams_type = AMSModel::GENERIC_AMS;
|
ams_info.ams_type = AMSModel::GENERIC_AMS;
|
||||||
for (size_t i = 0; i < 4; ++i) ams_info.cans.emplace_back(Caninfo());
|
for (size_t i = 0; i < 4; ++i) {
|
||||||
|
Caninfo can_info;
|
||||||
|
can_info.material_colour = colors[i];
|
||||||
|
ams_info.cans.push_back(can_info);
|
||||||
|
}
|
||||||
ams[i]->Update(ams_info);
|
ams[i]->Update(ams_info);
|
||||||
ams[i]->Refresh();
|
ams[i]->Refresh();
|
||||||
ams[i]->Open();
|
ams[i]->Open();
|
||||||
|
@ -969,7 +1000,9 @@ void ExtruderGroup::update_ams()
|
||||||
if (show_this_ams) {
|
if (show_this_ams) {
|
||||||
AMSinfo ams_info;
|
AMSinfo ams_info;
|
||||||
ams_info.ams_type = AMSModel::N3S_AMS;
|
ams_info.ams_type = AMSModel::N3S_AMS;
|
||||||
ams_info.cans.emplace_back(Caninfo());
|
Caninfo can_info;
|
||||||
|
can_info.material_colour = wxColour(255, 110, 100);
|
||||||
|
ams_info.cans.push_back(can_info);
|
||||||
ams[i]->Update(ams_info);
|
ams[i]->Update(ams_info);
|
||||||
ams[i]->Refresh();
|
ams[i]->Refresh();
|
||||||
ams[i]->Open();
|
ams[i]->Open();
|
||||||
|
@ -1431,6 +1464,11 @@ Sidebar::Sidebar(Plater *parent)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
p->combo_printer_bed->Bind(wxEVT_COMBOBOX, [this](auto &e) {
|
||||||
|
int selection = p->combo_printer_bed->GetSelection();
|
||||||
|
p->image_printer_bed->SetBitmap(create_scaled_bitmap(bed_type_thumbnails[BedType(selection + 1)], this, 48));
|
||||||
|
});
|
||||||
|
|
||||||
{
|
{
|
||||||
auto hovered = std::make_shared<wxWindow *>();
|
auto hovered = std::make_shared<wxWindow *>();
|
||||||
for (wxWindow *w : std::initializer_list<wxWindow *>{p->panel_printer_bed, wiki_bed, p->image_printer_bed, p->combo_printer_bed}) {
|
for (wxWindow *w : std::initializer_list<wxWindow *>{p->panel_printer_bed, wiki_bed, p->image_printer_bed, p->combo_printer_bed}) {
|
||||||
|
@ -1980,8 +2018,10 @@ void Sidebar::update_all_preset_comboboxes()
|
||||||
cb->update();
|
cb->update();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p->combo_printer)
|
if (p->combo_printer) {
|
||||||
p->combo_printer->update();
|
p->combo_printer->update();
|
||||||
|
update_printer_thumbnail();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Sidebar::update_presets(Preset::Type preset_type)
|
void Sidebar::update_presets(Preset::Type preset_type)
|
||||||
|
@ -2912,6 +2952,17 @@ void Sidebar::set_is_gcode_file(bool flag)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Sidebar::update_printer_thumbnail()
|
||||||
|
{
|
||||||
|
auto& preset_bundle = wxGetApp().preset_bundle;
|
||||||
|
Preset & selected_preset = preset_bundle->printers.get_edited_preset();
|
||||||
|
std::string printer_type = selected_preset.get_current_printer_type(preset_bundle);
|
||||||
|
if (printer_thumbnails.find(printer_type) != printer_thumbnails.end())
|
||||||
|
p->image_printer->SetBitmap(create_scaled_bitmap(printer_thumbnails[printer_type], this, 48));
|
||||||
|
else
|
||||||
|
p->image_printer->SetBitmap(create_scaled_bitmap("printer_placeholder", this, 48));
|
||||||
|
}
|
||||||
|
|
||||||
void Sidebar::auto_calc_flushing_volumes(const int modify_id)
|
void Sidebar::auto_calc_flushing_volumes(const int modify_id)
|
||||||
{
|
{
|
||||||
auto& preset_bundle = wxGetApp().preset_bundle;
|
auto& preset_bundle = wxGetApp().preset_bundle;
|
||||||
|
@ -7454,6 +7505,7 @@ void Plater::priv::on_combobox_select(wxCommandEvent &evt)
|
||||||
PlaterPresetComboBox* preset_combo_box = dynamic_cast<PlaterPresetComboBox*>(evt.GetEventObject());
|
PlaterPresetComboBox* preset_combo_box = dynamic_cast<PlaterPresetComboBox*>(evt.GetEventObject());
|
||||||
if (preset_combo_box) {
|
if (preset_combo_box) {
|
||||||
this->on_select_preset(evt);
|
this->on_select_preset(evt);
|
||||||
|
sidebar->update_printer_thumbnail();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
this->on_select_bed_type(evt);
|
this->on_select_bed_type(evt);
|
||||||
|
|
|
@ -199,6 +199,7 @@ public:
|
||||||
void update_soft_first_start_state() { m_soft_first_start = false; }
|
void update_soft_first_start_state() { m_soft_first_start = false; }
|
||||||
void cancel_update_3d_state() { m_update_3d_state = false; }
|
void cancel_update_3d_state() { m_update_3d_state = false; }
|
||||||
bool get_update_3d_state() { return m_update_3d_state; }
|
bool get_update_3d_state() { return m_update_3d_state; }
|
||||||
|
void update_printer_thumbnail();
|
||||||
private:
|
private:
|
||||||
struct priv;
|
struct priv;
|
||||||
std::unique_ptr<priv> p;
|
std::unique_ptr<priv> p;
|
||||||
|
|
Loading…
Reference in New Issue