2022-07-15 15:37:19 +00:00
# include "AMSSetting.hpp"
2022-11-04 03:28:05 +00:00
# include "GUI_App.hpp"
2022-07-15 15:37:19 +00:00
# include "I18N.hpp"
namespace Slic3r { namespace GUI {
AMSSetting : : AMSSetting ( wxWindow * parent , wxWindowID id , const wxPoint & pos , const wxSize & size , long style )
: DPIDialog ( parent , id , wxEmptyString , pos , size , style )
{
create ( ) ;
2022-11-04 03:28:05 +00:00
wxGetApp ( ) . UpdateDlgDarkUI ( this ) ;
2022-07-15 15:37:19 +00:00
}
AMSSetting : : ~ AMSSetting ( ) { }
void AMSSetting : : create ( )
{
wxBoxSizer * m_sizer_main ;
m_sizer_main = new wxBoxSizer ( wxVERTICAL ) ;
2022-11-04 03:28:05 +00:00
SetBackgroundColour ( * wxWHITE ) ;
2022-07-15 15:37:19 +00:00
auto m_static_ams_settings = new wxStaticText ( this , wxID_ANY , _L ( " AMS Settings " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_static_ams_settings - > SetFont ( : : Label : : Head_14 ) ;
m_static_ams_settings - > SetForegroundColour ( AMS_SETTING_GREY800 ) ;
2024-02-02 03:39:42 +00:00
2022-07-15 15:37:19 +00:00
m_panel_body = new wxPanel ( this , wxID_ANY , wxDefaultPosition , wxSize ( - 1 , - 1 ) , wxTAB_TRAVERSAL ) ;
2022-11-04 03:28:05 +00:00
m_panel_body - > SetBackgroundColour ( * wxWHITE ) ;
2022-11-24 07:28:01 +00:00
wxBoxSizer * m_sizerl_body = new wxBoxSizer ( wxVERTICAL ) ;
2022-07-15 15:37:19 +00:00
2024-03-20 04:03:13 +00:00
m_panel_Insert_material = new wxPanel ( m_panel_body , wxID_ANY , wxDefaultPosition , wxSize ( - 1 , - 1 ) , wxTAB_TRAVERSAL ) ;
2024-02-02 03:39:42 +00:00
m_panel_Insert_material - > SetBackgroundColour ( * wxWHITE ) ;
wxBoxSizer * m_sizer_main_Insert_material = new wxBoxSizer ( wxVERTICAL ) ;
2022-07-15 15:37:19 +00:00
// checkbox area 1
wxBoxSizer * m_sizer_Insert_material = new wxBoxSizer ( wxHORIZONTAL ) ;
2024-03-20 04:03:13 +00:00
m_checkbox_Insert_material_auto_read = new : : CheckBox ( m_panel_Insert_material ) ;
2022-07-15 15:37:19 +00:00
m_checkbox_Insert_material_auto_read - > Bind ( wxEVT_TOGGLEBUTTON , & AMSSetting : : on_insert_material_read , this ) ;
m_sizer_Insert_material - > Add ( m_checkbox_Insert_material_auto_read , 0 , wxTOP , 1 ) ;
m_sizer_Insert_material - > Add ( 0 , 0 , 0 , wxLEFT , 12 ) ;
2024-03-20 04:03:13 +00:00
m_title_Insert_material_auto_read = new wxStaticText ( m_panel_Insert_material , wxID_ANY , _L ( " Insertion update " ) ,
2022-07-15 15:37:19 +00:00
wxDefaultPosition , wxDefaultSize , 0 ) ;
m_title_Insert_material_auto_read - > SetFont ( : : Label : : Head_13 ) ;
m_title_Insert_material_auto_read - > SetForegroundColour ( AMS_SETTING_GREY800 ) ;
m_title_Insert_material_auto_read - > Wrap ( AMS_SETTING_BODY_WIDTH ) ;
2024-02-02 03:39:42 +00:00
m_sizer_Insert_material - > Add ( m_title_Insert_material_auto_read , 0 , wxALL | wxEXPAND , 0 ) ;
2022-07-15 15:37:19 +00:00
2025-01-20 01:26:56 +00:00
2022-07-15 15:37:19 +00:00
wxBoxSizer * m_sizer_Insert_material_tip = new wxBoxSizer ( wxHORIZONTAL ) ;
m_sizer_Insert_material_tip_inline = new wxBoxSizer ( wxVERTICAL ) ;
m_sizer_Insert_material_tip - > Add ( 0 , 0 , 0 , wxLEFT , 10 ) ;
// tip line1
2024-03-20 04:03:13 +00:00
m_tip_Insert_material_line1 = new Label ( m_panel_Insert_material ,
2022-12-29 03:42:42 +00:00
_L ( " The AMS will automatically read the filament information when inserting a new Bambu Lab filament. This takes about 20 seconds. " )
) ;
2022-07-15 15:37:19 +00:00
m_tip_Insert_material_line1 - > SetFont ( : : Label : : Body_13 ) ;
m_tip_Insert_material_line1 - > SetForegroundColour ( AMS_SETTING_GREY700 ) ;
m_tip_Insert_material_line1 - > SetSize ( wxSize ( AMS_SETTING_BODY_WIDTH , - 1 ) ) ;
m_tip_Insert_material_line1 - > Wrap ( AMS_SETTING_BODY_WIDTH ) ;
m_tip_Insert_material_line1 - > Hide ( ) ;
m_sizer_Insert_material_tip_inline - > Add ( m_tip_Insert_material_line1 , 0 , wxEXPAND , 0 ) ;
// tip line2
2024-03-20 04:03:13 +00:00
m_tip_Insert_material_line2 = new Label ( m_panel_Insert_material ,
2024-01-04 12:21:38 +00:00
_L ( " Note: if a new filament is inserted during printing, the AMS will not automatically read any information until printing is completed. " )
2022-12-29 03:42:42 +00:00
) ;
2022-07-15 15:37:19 +00:00
m_tip_Insert_material_line2 - > SetFont ( : : Label : : Body_13 ) ;
m_tip_Insert_material_line2 - > SetForegroundColour ( AMS_SETTING_GREY700 ) ;
m_tip_Insert_material_line2 - > SetSize ( wxSize ( AMS_SETTING_BODY_WIDTH , - 1 ) ) ;
m_tip_Insert_material_line2 - > Wrap ( AMS_SETTING_BODY_WIDTH ) ;
m_tip_Insert_material_line2 - > Hide ( ) ;
m_sizer_Insert_material_tip_inline - > Add ( m_tip_Insert_material_line2 , 0 , wxEXPAND | wxTOP , 8 ) ;
2024-02-02 03:39:42 +00:00
// tip line3
2024-03-20 04:03:13 +00:00
m_tip_Insert_material_line3 = new Label ( m_panel_Insert_material ,
2022-12-29 03:42:42 +00:00
_L ( " When inserting a new filament, the AMS will not automatically read its information, leaving it blank for you to enter manually. " )
) ;
2022-07-15 15:37:19 +00:00
m_tip_Insert_material_line3 - > SetFont ( : : Label : : Body_13 ) ;
m_tip_Insert_material_line3 - > SetForegroundColour ( AMS_SETTING_GREY700 ) ;
m_tip_Insert_material_line3 - > SetSize ( wxSize ( AMS_SETTING_BODY_WIDTH , - 1 ) ) ;
m_tip_Insert_material_line3 - > Wrap ( AMS_SETTING_BODY_WIDTH ) ;
m_tip_Insert_material_line3 - > Hide ( ) ;
m_sizer_Insert_material_tip_inline - > Add ( m_tip_Insert_material_line3 , 0 , wxEXPAND , 0 ) ;
m_sizer_Insert_material_tip - > Add ( m_sizer_Insert_material_tip_inline , 1 , wxALIGN_CENTER , 0 ) ;
2024-03-20 04:03:13 +00:00
m_sizer_main_Insert_material - > Add ( m_sizer_Insert_material , 0 , wxEXPAND | wxTOP , FromDIP ( 4 ) ) ;
m_sizer_main_Insert_material - > Add ( m_sizer_Insert_material_tip , 0 , wxEXPAND | wxLEFT | wxTOP , 18 ) ;
2024-02-02 03:39:42 +00:00
m_panel_Insert_material - > SetSizer ( m_sizer_main_Insert_material ) ;
2022-07-15 15:37:19 +00:00
// checkbox area 2
wxBoxSizer * m_sizer_starting = new wxBoxSizer ( wxHORIZONTAL ) ;
m_checkbox_starting_auto_read = new : : CheckBox ( m_panel_body ) ;
m_checkbox_starting_auto_read - > Bind ( wxEVT_TOGGLEBUTTON , & AMSSetting : : on_starting_read , this ) ;
m_sizer_starting - > Add ( m_checkbox_starting_auto_read , 0 , wxTOP , 1 ) ;
m_sizer_starting - > Add ( 0 , 0 , 0 , wxLEFT , 12 ) ;
2022-11-24 07:28:01 +00:00
m_title_starting_auto_read = new wxStaticText ( m_panel_body , wxID_ANY , _L ( " Power on update " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2022-07-15 15:37:19 +00:00
m_title_starting_auto_read - > SetFont ( : : Label : : Head_13 ) ;
m_title_starting_auto_read - > SetForegroundColour ( AMS_SETTING_GREY800 ) ;
m_title_starting_auto_read - > Wrap ( AMS_SETTING_BODY_WIDTH ) ;
m_sizer_starting - > Add ( m_title_starting_auto_read , 1 , wxEXPAND , 0 ) ;
2025-01-20 01:26:56 +00:00
2022-07-15 15:37:19 +00:00
wxBoxSizer * m_sizer_starting_tip = new wxBoxSizer ( wxHORIZONTAL ) ;
m_sizer_starting_tip - > Add ( 0 , 0 , 0 , wxLEFT , 10 ) ;
// tip line
m_sizer_starting_tip_inline = new wxBoxSizer ( wxVERTICAL ) ;
2022-12-29 03:42:42 +00:00
m_tip_starting_line1 = new Label ( m_panel_body ,
_L ( " The AMS will automatically read the information of inserted filament on start-up. It will take about 1 minute.The reading process will roll filament spools. " )
) ;
2022-07-15 15:37:19 +00:00
m_tip_starting_line1 - > SetFont ( : : Label : : Body_13 ) ;
m_tip_starting_line1 - > SetForegroundColour ( AMS_SETTING_GREY700 ) ;
m_tip_starting_line1 - > SetSize ( wxSize ( AMS_SETTING_BODY_WIDTH , - 1 ) ) ;
m_tip_starting_line1 - > Wrap ( AMS_SETTING_BODY_WIDTH ) ;
m_sizer_starting_tip_inline - > Add ( m_tip_starting_line1 , 0 , wxEXPAND , 0 ) ;
2022-12-29 03:42:42 +00:00
m_tip_starting_line2 = new Label ( m_panel_body ,
_L ( " The AMS will not automatically read information from inserted filament during startup and will continue to use the information recorded before the last shutdown. " )
) ;
2022-07-15 15:37:19 +00:00
m_tip_starting_line2 - > SetFont ( : : Label : : Body_13 ) ;
m_tip_starting_line2 - > SetForegroundColour ( AMS_SETTING_GREY700 ) ;
m_tip_starting_line2 - > SetSize ( wxSize ( AMS_SETTING_BODY_WIDTH , - 1 ) ) ;
m_tip_starting_line2 - > Wrap ( AMS_SETTING_BODY_WIDTH ) ;
m_sizer_starting_tip_inline - > Add ( m_tip_starting_line2 , 0 , wxEXPAND , 0 ) ;
m_sizer_starting_tip - > Add ( m_sizer_starting_tip_inline , 1 , wxALIGN_CENTER , 0 ) ;
2022-11-24 07:28:01 +00:00
// checkbox area 3
wxBoxSizer * m_sizer_remain = new wxBoxSizer ( wxHORIZONTAL ) ;
m_checkbox_remain = new : : CheckBox ( m_panel_body ) ;
m_checkbox_remain - > Bind ( wxEVT_TOGGLEBUTTON , & AMSSetting : : on_remain , this ) ;
m_sizer_remain - > Add ( m_checkbox_remain , 0 , wxTOP , 1 ) ;
m_sizer_remain - > Add ( 0 , 0 , 0 , wxLEFT , 12 ) ;
m_title_remain = new wxStaticText ( m_panel_body , wxID_ANY , _L ( " Update remaining capacity " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_title_remain - > SetFont ( : : Label : : Head_13 ) ;
m_title_remain - > SetForegroundColour ( AMS_SETTING_GREY800 ) ;
m_title_remain - > Wrap ( AMS_SETTING_BODY_WIDTH ) ;
m_sizer_remain - > Add ( m_title_remain , 1 , wxEXPAND , 0 ) ;
2022-07-15 15:37:19 +00:00
2022-11-24 07:28:01 +00:00
wxBoxSizer * m_sizer_remain_tip = new wxBoxSizer ( wxHORIZONTAL ) ;
m_sizer_remain_tip - > Add ( 0 , 0 , 0 , wxLEFT , 10 ) ;
// tip line
m_sizer_remain_inline = new wxBoxSizer ( wxVERTICAL ) ;
2025-01-20 01:26:56 +00:00
m_tip_remain_line1 = new Label ( m_panel_body , _L ( " AMS will attempt to estimate the remaining capacity of the Bambu Lab filaments. " ) ) ;
2022-11-24 07:28:01 +00:00
m_tip_remain_line1 - > SetFont ( : : Label : : Body_13 ) ;
m_tip_remain_line1 - > SetForegroundColour ( AMS_SETTING_GREY700 ) ;
m_tip_remain_line1 - > SetSize ( wxSize ( AMS_SETTING_BODY_WIDTH , - 1 ) ) ;
m_tip_remain_line1 - > Wrap ( AMS_SETTING_BODY_WIDTH ) ;
m_sizer_remain_inline - > Add ( m_tip_remain_line1 , 0 , wxEXPAND , 0 ) ;
m_sizer_remain_tip - > Add ( m_sizer_remain_inline , 1 , wxALIGN_CENTER , 0 ) ;
// checkbox area 4
wxBoxSizer * m_sizer_switch_filament = new wxBoxSizer ( wxHORIZONTAL ) ;
m_checkbox_switch_filament = new : : CheckBox ( m_panel_body ) ;
m_checkbox_switch_filament - > Bind ( wxEVT_TOGGLEBUTTON , & AMSSetting : : on_switch_filament , this ) ;
m_sizer_switch_filament - > Add ( m_checkbox_switch_filament , 0 , wxTOP , 1 ) ;
m_sizer_switch_filament - > Add ( 0 , 0 , 0 , wxLEFT , 12 ) ;
2023-02-27 02:13:40 +00:00
m_title_switch_filament = new wxStaticText ( m_panel_body , wxID_ANY , _L ( " AMS filament backup " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2022-11-24 07:28:01 +00:00
m_title_switch_filament - > SetFont ( : : Label : : Head_13 ) ;
m_title_switch_filament - > SetForegroundColour ( AMS_SETTING_GREY800 ) ;
m_title_switch_filament - > Wrap ( AMS_SETTING_BODY_WIDTH ) ;
m_sizer_switch_filament - > Add ( m_title_switch_filament , 1 , wxEXPAND , 0 ) ;
wxBoxSizer * m_sizer_switch_filament_tip = new wxBoxSizer ( wxHORIZONTAL ) ;
m_sizer_switch_filament_tip - > Add ( 0 , 0 , 0 , wxLEFT , 10 ) ;
// tip line
m_sizer_switch_filament_inline = new wxBoxSizer ( wxVERTICAL ) ;
2022-12-29 03:42:42 +00:00
m_tip_switch_filament_line1 = new Label ( m_panel_body ,
_L ( " AMS will continue to another spool with the same properties of filament automatically when current filament runs out " )
) ;
2022-11-24 07:28:01 +00:00
m_tip_switch_filament_line1 - > SetFont ( : : Label : : Body_13 ) ;
m_tip_switch_filament_line1 - > SetForegroundColour ( AMS_SETTING_GREY700 ) ;
m_tip_switch_filament_line1 - > SetSize ( wxSize ( AMS_SETTING_BODY_WIDTH , - 1 ) ) ;
m_tip_switch_filament_line1 - > Wrap ( AMS_SETTING_BODY_WIDTH ) ;
m_sizer_switch_filament_inline - > Add ( m_tip_switch_filament_line1 , 0 , wxEXPAND , 0 ) ;
m_sizer_switch_filament_tip - > Add ( m_sizer_switch_filament_inline , 1 , wxALIGN_CENTER , 0 ) ;
2025-01-20 01:26:56 +00:00
2022-07-15 15:37:19 +00:00
2024-04-01 02:30:27 +00:00
// checkbox area 5
wxBoxSizer * m_sizer_air_print = new wxBoxSizer ( wxHORIZONTAL ) ;
m_checkbox_air_print = new : : CheckBox ( m_panel_body ) ;
m_checkbox_air_print - > Bind ( wxEVT_TOGGLEBUTTON , & AMSSetting : : on_air_print_detect , this ) ;
m_sizer_air_print - > Add ( m_checkbox_air_print , 0 , wxTOP , 1 ) ;
m_sizer_air_print - > Add ( 0 , 0 , 0 , wxLEFT , 12 ) ;
m_title_air_print = new wxStaticText ( m_panel_body , wxID_ANY , _L ( " Air Printing Detection " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_title_air_print - > SetFont ( : : Label : : Head_13 ) ;
m_title_air_print - > SetForegroundColour ( AMS_SETTING_GREY800 ) ;
m_title_air_print - > Wrap ( AMS_SETTING_BODY_WIDTH ) ;
m_sizer_air_print - > Add ( m_title_air_print , 1 , wxEXPAND , 0 ) ;
wxBoxSizer * m_sizer_air_print_tip = new wxBoxSizer ( wxHORIZONTAL ) ;
m_sizer_air_print_tip - > Add ( 0 , 0 , 0 , wxLEFT , 10 ) ;
// tip line
auto m_sizer_air_print_inline = new wxBoxSizer ( wxVERTICAL ) ;
m_tip_air_print_line = new Label ( m_panel_body ,
_L ( " Detects clogging and filament grinding, halting printing immediately to conserve time and filament. " )
) ;
m_tip_air_print_line - > SetFont ( : : Label : : Body_13 ) ;
m_tip_air_print_line - > SetForegroundColour ( AMS_SETTING_GREY700 ) ;
m_tip_air_print_line - > SetSize ( wxSize ( AMS_SETTING_BODY_WIDTH , - 1 ) ) ;
m_tip_air_print_line - > Wrap ( AMS_SETTING_BODY_WIDTH ) ;
m_sizer_air_print_inline - > Add ( m_tip_air_print_line , 0 , wxEXPAND , 0 ) ;
m_sizer_air_print_tip - > Add ( m_sizer_air_print_inline , 1 , wxALIGN_CENTER , 0 ) ;
2024-04-22 03:03:20 +00:00
m_checkbox_air_print - > Hide ( ) ;
m_title_air_print - > Hide ( ) ;
m_tip_air_print_line - > Hide ( ) ;
2024-04-01 02:30:27 +00:00
2022-07-15 15:37:19 +00:00
// panel img
2022-11-24 07:28:01 +00:00
wxPanel * m_panel_img = new wxPanel ( m_panel_body , wxID_ANY , wxDefaultPosition , wxDefaultSize ) ;
2022-07-15 15:37:19 +00:00
m_panel_img - > SetBackgroundColour ( AMS_SETTING_GREY200 ) ;
wxBoxSizer * m_sizer_img = new wxBoxSizer ( wxVERTICAL ) ;
2023-08-25 06:39:46 +00:00
m_am_img = new wxStaticBitmap ( m_panel_img , wxID_ANY , create_scaled_bitmap ( " ams_icon " , nullptr , 126 ) , wxDefaultPosition , wxDefaultSize ) ;
m_sizer_img - > Add ( m_am_img , 0 , wxALIGN_CENTER | wxTOP , 26 ) ;
2022-07-15 15:37:19 +00:00
m_sizer_img - > Add ( 0 , 0 , 0 , wxTOP , 18 ) ;
m_panel_img - > SetSizer ( m_sizer_img ) ;
m_panel_img - > Layout ( ) ;
m_sizer_img - > Fit ( m_panel_img ) ;
2022-11-24 07:28:01 +00:00
2025-01-20 01:26:56 +00:00
m_sizer_remain_block = new wxBoxSizer ( wxVERTICAL ) ;
2022-12-16 07:55:10 +00:00
m_sizer_remain_block - > Add ( m_sizer_remain , 0 , wxEXPAND | wxTOP , FromDIP ( 8 ) ) ;
m_sizer_remain_block - > Add ( 0 , 0 , 0 , wxTOP , 8 ) ;
m_sizer_remain_block - > Add ( m_sizer_remain_tip , 0 , wxLEFT , 18 ) ;
m_sizer_remain_block - > Add ( 0 , 0 , 0 , wxTOP , 15 ) ;
2022-11-24 07:28:01 +00:00
2024-02-02 03:39:42 +00:00
m_sizerl_body - > Add ( m_panel_Insert_material , 0 , 0 , 0 ) ;
2022-11-24 07:28:01 +00:00
m_sizerl_body - > Add ( m_sizer_starting , 0 , wxEXPAND | wxTOP , FromDIP ( 8 ) ) ;
m_sizerl_body - > Add ( 0 , 0 , 0 , wxTOP , 8 ) ;
m_sizerl_body - > Add ( m_sizer_starting_tip , 0 , wxLEFT , 18 ) ;
m_sizerl_body - > Add ( 0 , 0 , 0 , wxTOP , 15 ) ;
2022-12-16 07:55:10 +00:00
m_sizerl_body - > Add ( m_sizer_remain_block , 0 , wxEXPAND , 0 ) ;
2022-11-24 07:28:01 +00:00
m_sizerl_body - > Add ( m_sizer_switch_filament , 0 , wxEXPAND | wxTOP , FromDIP ( 8 ) ) ;
m_sizerl_body - > Add ( 0 , 0 , 0 , wxTOP , 8 ) ;
m_sizerl_body - > Add ( m_sizer_switch_filament_tip , 0 , wxLEFT , 18 ) ;
m_sizerl_body - > Add ( 0 , 0 , 0 , wxTOP , 6 ) ;
m_sizerl_body - > Add ( 0 , 0 , 0 , wxTOP , FromDIP ( 5 ) ) ;
2024-04-01 02:30:27 +00:00
m_sizerl_body - > Add ( m_sizer_air_print , 0 , wxEXPAND | wxTOP , FromDIP ( 8 ) ) ;
m_sizerl_body - > Add ( 0 , 0 , 0 , wxTOP , 8 ) ;
m_sizerl_body - > Add ( m_sizer_air_print_tip , 0 , wxLEFT , 18 ) ;
m_sizerl_body - > Add ( 0 , 0 , 0 , wxTOP , 6 ) ;
m_sizerl_body - > Add ( 0 , 0 , 0 , wxTOP , FromDIP ( 5 ) ) ;
2022-07-15 15:37:19 +00:00
m_sizerl_body - > Add ( m_panel_img , 1 , wxEXPAND | wxALL , FromDIP ( 5 ) ) ;
m_panel_body - > SetSizer ( m_sizerl_body ) ;
m_panel_body - > Layout ( ) ;
m_sizerl_body - > Fit ( m_panel_body ) ;
2024-02-02 03:39:42 +00:00
m_sizer_main - > Add ( 0 , 0 , 0 , wxTOP , FromDIP ( 10 ) ) ;
m_sizer_main - > Add ( m_static_ams_settings , 0 , wxEXPAND | wxLEFT | wxRIGHT , FromDIP ( 24 ) ) ;
2024-03-20 04:03:13 +00:00
m_sizer_main - > Add ( 0 , 0 , 0 , wxTOP , FromDIP ( 10 ) ) ;
m_sizer_main - > Add ( m_panel_body , 1 , wxBottom | wxLEFT | wxRIGHT | wxEXPAND , FromDIP ( 24 ) ) ;
2022-07-15 15:37:19 +00:00
this - > SetSizer ( m_sizer_main ) ;
this - > Layout ( ) ;
m_sizer_main - > Fit ( this ) ;
this - > Centre ( wxBOTH ) ;
2022-11-04 03:28:05 +00:00
wxGetApp ( ) . UpdateDlgDarkUI ( this ) ;
2022-12-16 07:55:10 +00:00
Bind ( wxEVT_SHOW , [ this ] ( auto & e ) {
if ( this - > IsShown ( ) ) {
if ( ams_support_remain ) {
m_sizer_remain_block - > Show ( true ) ;
}
else {
m_sizer_remain_block - > Show ( false ) ;
}
2025-01-20 01:26:56 +00:00
}
2022-12-16 07:55:10 +00:00
} ) ;
2022-07-15 15:37:19 +00:00
}
2024-02-02 03:39:42 +00:00
void AMSSetting : : update_insert_material_read_mode ( bool selected , std : : string version )
2022-07-15 15:37:19 +00:00
{
2024-03-20 04:03:13 +00:00
if ( ! version . empty ( ) & & version > = AMS_F1_SUPPORT_INSERTION_UPDATE_DEFAULT ) {
2024-02-02 03:39:42 +00:00
m_checkbox_Insert_material_auto_read - > SetValue ( true ) ;
m_checkbox_Insert_material_auto_read - > Hide ( ) ;
m_title_Insert_material_auto_read - > Hide ( ) ;
2022-07-15 15:37:19 +00:00
m_tip_Insert_material_line1 - > Hide ( ) ;
m_tip_Insert_material_line2 - > Hide ( ) ;
2024-02-02 03:39:42 +00:00
m_tip_Insert_material_line3 - > Hide ( ) ;
m_panel_Insert_material - > Hide ( ) ;
}
else {
m_panel_Insert_material - > Show ( ) ;
m_checkbox_Insert_material_auto_read - > SetValue ( selected ) ;
m_checkbox_Insert_material_auto_read - > Show ( ) ;
m_title_Insert_material_auto_read - > Show ( ) ;
if ( selected ) {
m_tip_Insert_material_line1 - > Show ( ) ;
m_tip_Insert_material_line2 - > Show ( ) ;
m_tip_Insert_material_line3 - > Hide ( ) ;
}
else {
m_tip_Insert_material_line1 - > Hide ( ) ;
m_tip_Insert_material_line2 - > Hide ( ) ;
m_tip_Insert_material_line3 - > Show ( ) ;
}
2022-07-15 15:37:19 +00:00
}
2024-02-02 03:39:42 +00:00
m_panel_Insert_material - > Layout ( ) ;
2022-07-15 15:37:19 +00:00
m_sizer_Insert_material_tip_inline - > Layout ( ) ;
Layout ( ) ;
Fit ( ) ;
}
2023-08-25 06:39:46 +00:00
void AMSSetting : : update_ams_img ( std : : string ams_icon_str )
{
2024-01-05 08:30:28 +00:00
if ( wxGetApp ( ) . dark_mode ( ) & & ams_icon_str = = " extra_icon " ) {
ams_icon_str + = " _dark " ;
}
2023-08-25 06:39:46 +00:00
m_am_img - > SetBitmap ( create_scaled_bitmap ( ams_icon_str , nullptr , 126 ) ) ;
}
2022-07-15 15:37:19 +00:00
void AMSSetting : : update_starting_read_mode ( bool selected )
{
m_checkbox_starting_auto_read - > SetValue ( selected ) ;
if ( selected ) { // selected
m_tip_starting_line1 - > Show ( ) ;
m_tip_starting_line2 - > Hide ( ) ;
} else { // unselected
m_tip_starting_line1 - > Hide ( ) ;
m_tip_starting_line2 - > Show ( ) ;
}
m_sizer_starting_tip_inline - > Layout ( ) ;
Layout ( ) ;
Fit ( ) ;
}
2022-11-24 07:28:01 +00:00
void AMSSetting : : update_remain_mode ( bool selected )
{
2023-08-17 04:47:46 +00:00
if ( obj - > is_support_update_remain ) {
m_checkbox_remain - > Show ( ) ;
m_title_remain - > Show ( ) ;
m_tip_remain_line1 - > Show ( ) ;
Layout ( ) ;
}
else {
m_checkbox_remain - > Hide ( ) ;
m_title_remain - > Hide ( ) ;
m_tip_remain_line1 - > Hide ( ) ;
Layout ( ) ;
}
2022-11-24 07:28:01 +00:00
m_checkbox_remain - > SetValue ( selected ) ;
}
void AMSSetting : : update_switch_filament ( bool selected )
{
2023-08-17 04:47:46 +00:00
if ( obj - > is_support_filament_backup ) {
2022-12-07 03:07:37 +00:00
m_checkbox_switch_filament - > Show ( ) ;
m_title_switch_filament - > Show ( ) ;
m_tip_switch_filament_line1 - > Show ( ) ;
Layout ( ) ;
} else {
m_checkbox_switch_filament - > Hide ( ) ;
m_title_switch_filament - > Hide ( ) ;
m_tip_switch_filament_line1 - > Hide ( ) ;
Layout ( ) ;
}
2022-11-24 07:28:01 +00:00
m_checkbox_switch_filament - > SetValue ( selected ) ;
}
2024-04-01 02:30:27 +00:00
void AMSSetting : : update_air_printing_detection ( bool selected )
{
2024-04-22 03:03:20 +00:00
if ( false /*obj->is_support_air_print_detection*/ ) {
2024-04-01 02:30:27 +00:00
m_checkbox_air_print - > Show ( ) ;
m_title_air_print - > Show ( ) ;
m_tip_air_print_line - > Show ( ) ;
}
else {
m_checkbox_air_print - > Hide ( ) ;
m_title_air_print - > Hide ( ) ;
m_tip_air_print_line - > Hide ( ) ;
}
Layout ( ) ;
m_checkbox_air_print - > SetValue ( selected ) ;
}
2022-11-24 07:28:01 +00:00
2022-07-15 15:37:19 +00:00
void AMSSetting : : on_select_ok ( wxMouseEvent & event )
{
if ( obj ) {
obj - > command_ams_calibrate ( ams_id ) ;
}
}
void AMSSetting : : on_insert_material_read ( wxCommandEvent & event )
{
// send command
if ( m_checkbox_Insert_material_auto_read - > GetValue ( ) ) {
// checked
m_tip_Insert_material_line1 - > Show ( ) ;
m_tip_Insert_material_line2 - > Show ( ) ;
m_tip_Insert_material_line3 - > Hide ( ) ;
} else {
// unchecked
m_tip_Insert_material_line1 - > Hide ( ) ;
m_tip_Insert_material_line2 - > Hide ( ) ;
m_tip_Insert_material_line3 - > Show ( ) ;
}
m_checkbox_Insert_material_auto_read - > SetValue ( event . GetInt ( ) ) ;
bool start_read_opt = m_checkbox_starting_auto_read - > GetValue ( ) ;
bool tray_read_opt = m_checkbox_Insert_material_auto_read - > GetValue ( ) ;
2022-11-24 07:28:01 +00:00
bool remain_opt = m_checkbox_remain - > GetValue ( ) ;
2022-07-15 15:37:19 +00:00
2022-11-24 07:28:01 +00:00
obj - > command_ams_user_settings ( ams_id , start_read_opt , tray_read_opt , remain_opt ) ;
2022-07-15 15:37:19 +00:00
m_sizer_Insert_material_tip_inline - > Layout ( ) ;
Layout ( ) ;
Fit ( ) ;
2022-09-06 11:58:01 +00:00
event . Skip ( ) ;
2022-07-15 15:37:19 +00:00
}
void AMSSetting : : on_starting_read ( wxCommandEvent & event )
{
if ( m_checkbox_starting_auto_read - > GetValue ( ) ) {
// checked
m_tip_starting_line1 - > Show ( ) ;
m_tip_starting_line2 - > Hide ( ) ;
} else {
// unchecked
m_tip_starting_line1 - > Hide ( ) ;
m_tip_starting_line2 - > Show ( ) ;
}
m_checkbox_starting_auto_read - > SetValue ( event . GetInt ( ) ) ;
bool start_read_opt = m_checkbox_starting_auto_read - > GetValue ( ) ;
bool tray_read_opt = m_checkbox_Insert_material_auto_read - > GetValue ( ) ;
2022-11-24 07:28:01 +00:00
bool remain_opt = m_checkbox_remain - > GetValue ( ) ;
2022-07-15 15:37:19 +00:00
2022-11-24 07:28:01 +00:00
obj - > command_ams_user_settings ( ams_id , start_read_opt , tray_read_opt , remain_opt ) ;
2022-07-15 15:37:19 +00:00
m_sizer_starting_tip_inline - > Layout ( ) ;
Layout ( ) ;
Fit ( ) ;
2022-09-06 11:58:01 +00:00
event . Skip ( ) ;
2022-07-15 15:37:19 +00:00
}
2022-11-24 07:28:01 +00:00
void AMSSetting : : on_remain ( wxCommandEvent & event )
{
bool start_read_opt = m_checkbox_starting_auto_read - > GetValue ( ) ;
bool tray_read_opt = m_checkbox_Insert_material_auto_read - > GetValue ( ) ;
bool remain_opt = m_checkbox_remain - > GetValue ( ) ;
obj - > command_ams_user_settings ( ams_id , start_read_opt , tray_read_opt , remain_opt ) ;
event . Skip ( ) ;
}
void AMSSetting : : on_switch_filament ( wxCommandEvent & event )
{
bool switch_filament = m_checkbox_switch_filament - > GetValue ( ) ;
obj - > command_ams_switch_filament ( switch_filament ) ;
event . Skip ( ) ;
}
2024-04-01 02:30:27 +00:00
void AMSSetting : : on_air_print_detect ( wxCommandEvent & event )
{
bool air_print_detect = m_checkbox_air_print - > GetValue ( ) ;
obj - > command_ams_air_print_detect ( air_print_detect ) ;
event . Skip ( ) ;
}
2022-07-15 15:37:19 +00:00
wxString AMSSetting : : append_title ( wxString text )
{
wxString lab ;
auto * widget = new wxStaticText ( m_panel_body , wxID_ANY , text , wxDefaultPosition , wxDefaultSize , wxALIGN_LEFT ) ;
2022-12-21 03:58:15 +00:00
widget - > SetForegroundColour ( * wxBLACK ) ;
2022-07-15 15:37:19 +00:00
widget - > Wrap ( AMS_SETTING_BODY_WIDTH ) ;
widget - > SetMinSize ( wxSize ( AMS_SETTING_BODY_WIDTH , - 1 ) ) ;
lab = widget - > GetLabel ( ) ;
widget - > Destroy ( ) ;
return lab ;
}
wxStaticText * AMSSetting : : append_text ( wxString text )
{
auto * widget = new wxStaticText ( m_panel_body , wxID_ANY , text , wxDefaultPosition , wxDefaultSize , wxALIGN_LEFT ) ;
widget - > Wrap ( 250 ) ;
widget - > SetMinSize ( wxSize ( 250 , - 1 ) ) ;
return widget ;
}
2025-01-20 01:26:56 +00:00
void AMSSetting : : on_dpi_changed ( const wxRect & suggested_rect )
{
//m_button_auto_demarcate->SetMinSize(AMS_SETTING_BUTTON_SIZE);
2022-07-15 15:37:19 +00:00
}
} } // namespace Slic3r::GUI