diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index 37b2037540..979121d667 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -2286,6 +2286,9 @@ bool MachineObject::is_function_supported(PrinterFunction func) case FUNC_VIRTUAL_TYAY: func_name = "FUNC_VIRTUAL_TYAY"; break; + case FUNC_FILAMENT_BACKUP: + func_name = "FUNC_FILAMENT_BACKUP"; + break; default: return true; } diff --git a/src/slic3r/GUI/DeviceManager.hpp b/src/slic3r/GUI/DeviceManager.hpp index 7756dfcc6c..df13853e73 100644 --- a/src/slic3r/GUI/DeviceManager.hpp +++ b/src/slic3r/GUI/DeviceManager.hpp @@ -93,6 +93,7 @@ enum PrinterFunction { FUNC_EXTRUSION_CALI, FUNC_VIRTUAL_TYAY, FUNC_PRINT_ALL, + FUNC_FILAMENT_BACKUP, FUNC_MAX }; diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index e4415ad4e7..f10580da0f 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -1116,6 +1116,7 @@ SelectMachineDialog::SelectMachineDialog(Plater *plater) m_sizer_material_area->Add(m_sizer_material_tips, 0, wxALIGN_CENTER|wxLEFT, FromDIP(8)); m_sizer_material_area->Add(m_sizer_material, 0, wxLEFT, FromDIP(15)); +#ifdef FILAMENT_BACKUP auto m_sizer_backup = new wxBoxSizer(wxHORIZONTAL); auto m_ams_backup_tip = new Label(this, _L("Ams filament backup")); m_ams_backup_tip->SetFont(::Label::Head_12); @@ -1136,6 +1137,7 @@ SelectMachineDialog::SelectMachineDialog(Plater *plater) m_ams_backup_tip->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {popup_filament_backup(); on_rename_enter(); }); img_ams_backup->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {popup_filament_backup(); }); +#endif m_statictext_ams_msg = new wxStaticText(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER_HORIZONTAL); m_statictext_ams_msg->SetFont(::Label::Body_13); @@ -1317,7 +1319,11 @@ SelectMachineDialog::SelectMachineDialog(Plater *plater) m_sizer_main->Add(m_line_top, 0, wxEXPAND, 0); m_sizer_main->Add(0, 0, 0, wxTOP, FromDIP(22)); m_sizer_main->Add(m_scrollable_view, 0, wxALIGN_CENTER_HORIZONTAL, 0); + +#ifdef FILAMENT_BACKUP m_sizer_main->Add(m_sizer_backup, 0, wxALIGN_CENTER_HORIZONTAL, 0); +#endif + m_sizer_main->Add(0, 0, 0, wxEXPAND | wxTOP, FromDIP(8)); m_sizer_main->Add(m_statictext_ams_msg, 0, wxALIGN_CENTER_HORIZONTAL, 0); m_sizer_main->Add(0, 0, 0, wxEXPAND | wxTOP, FromDIP(8)); diff --git a/src/slic3r/GUI/StatusPanel.cpp b/src/slic3r/GUI/StatusPanel.cpp index eee5ea66d5..36e6a329a7 100644 --- a/src/slic3r/GUI/StatusPanel.cpp +++ b/src/slic3r/GUI/StatusPanel.cpp @@ -1935,6 +1935,9 @@ void StatusPanel::update_ams(MachineObject *obj) bool is_support_extrusion_cali = obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI); bool is_support_virtual_tray = obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY); + bool is_support_filament_backup = obj->is_function_supported(PrinterFunction::FUNC_FILAMENT_BACKUP); + + m_ams_control->show_filament_backup(is_support_filament_backup); if (is_support_virtual_tray) { m_ams_control->update_vams_kn_value(obj->vt_tray, obj); diff --git a/src/slic3r/GUI/Widgets/AMSControl.cpp b/src/slic3r/GUI/Widgets/AMSControl.cpp index 03c4459f92..f6e8741297 100644 --- a/src/slic3r/GUI/Widgets/AMSControl.cpp +++ b/src/slic3r/GUI/Widgets/AMSControl.cpp @@ -1817,25 +1817,30 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons //backup tips + +#ifdef FILAMENT_BACKUP auto m_ams_backup_tip = new Label(m_amswin, _L("Ams filament backup")); m_ams_backup_tip->SetFont(::Label::Head_12); m_ams_backup_tip->SetForegroundColour(wxColour(0x00AE42)); m_ams_backup_tip->SetBackgroundColour(*wxWHITE); - auto img_ams_backup = new wxStaticBitmap(m_amswin, wxID_ANY, create_scaled_bitmap("automatic_material_renewal", this, 16), wxDefaultPosition, wxSize(FromDIP(16), FromDIP(16)), 0); - img_ams_backup->SetBackgroundColour(*wxWHITE); + auto m_img_ams_backup = new wxStaticBitmap(m_amswin, wxID_ANY, create_scaled_bitmap("automatic_material_renewal", this, 16), wxDefaultPosition, wxSize(FromDIP(16), FromDIP(16)), 0); + m_img_ams_backup->SetBackgroundColour(*wxWHITE); - m_sizer_ams_tips->Add( 0, 0, 1, wxEXPAND, 0 ); - m_sizer_ams_tips->Add(img_ams_backup, 0, wxALL, FromDIP(3)); + m_sizer_ams_tips->Add(0, 0, 1, wxEXPAND, 0); + m_sizer_ams_tips->Add(m_img_ams_backup, 0, wxALL, FromDIP(3)); m_sizer_ams_tips->Add(m_ams_backup_tip, 0, wxTOP, FromDIP(5)); - m_ams_backup_tip->Bind(wxEVT_ENTER_WINDOW, [this, img_amsmapping_tip](auto& e) {SetCursor(wxCURSOR_HAND);}); - img_ams_backup->Bind(wxEVT_ENTER_WINDOW, [this, img_amsmapping_tip](auto& e) {SetCursor(wxCURSOR_HAND);}); + m_ams_backup_tip->Bind(wxEVT_ENTER_WINDOW, [this, img_amsmapping_tip](auto& e) {SetCursor(wxCURSOR_HAND); }); + m_img_ams_backup->Bind(wxEVT_ENTER_WINDOW, [this, img_amsmapping_tip](auto& e) {SetCursor(wxCURSOR_HAND); }); - m_ams_backup_tip->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {SetCursor(wxCURSOR_ARROW);}); - img_ams_backup->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {SetCursor(wxCURSOR_ARROW);}); + m_ams_backup_tip->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {SetCursor(wxCURSOR_ARROW); }); + m_img_ams_backup->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {SetCursor(wxCURSOR_ARROW); }); - m_ams_backup_tip->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {post_event(SimpleEvent(EVT_AMS_FILAMENT_BACKUP));}); - img_ams_backup->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {post_event(SimpleEvent(EVT_AMS_FILAMENT_BACKUP));}); + m_ams_backup_tip->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {post_event(SimpleEvent(EVT_AMS_FILAMENT_BACKUP)); }); + m_img_ams_backup->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {post_event(SimpleEvent(EVT_AMS_FILAMENT_BACKUP)); }); +#endif // FILAMENT_BACKUP + + //ams cans @@ -2578,6 +2583,10 @@ void AMSControl::update_vams_kn_value(AmsTray tray, MachineObject* obj) m_vams_lib->Refresh(); } +void AMSControl::show_filament_backup(bool show) +{ +} + void AMSControl::reset_vams() { m_vams_lib->m_info.k = 0; diff --git a/src/slic3r/GUI/Widgets/AMSControl.hpp b/src/slic3r/GUI/Widgets/AMSControl.hpp index 779c6b28ac..bfed45e39d 100644 --- a/src/slic3r/GUI/Widgets/AMSControl.hpp +++ b/src/slic3r/GUI/Widgets/AMSControl.hpp @@ -621,6 +621,7 @@ public: void show_vams(bool show); void show_vams_kn_value(bool show); void update_vams_kn_value(AmsTray tray, MachineObject* obj); + void show_filament_backup(bool show); void reset_vams(); void post_event(wxEvent&& event);