2022-07-15 15:37:19 +00:00
# include "UpgradePanel.hpp"
2023-07-03 13:48:19 +00:00
# include <slic3r/GUI/Widgets/SideTools.hpp>
2022-07-15 15:37:19 +00:00
# include <slic3r/GUI/Widgets/Label.hpp>
# include <slic3r/GUI/I18N.hpp>
# include "GUI.hpp"
# include "GUI_App.hpp"
# include "libslic3r/Thread.hpp"
namespace Slic3r {
namespace GUI {
static const wxColour TEXT_NORMAL_CLR = wxColour ( 0 , 174 , 66 ) ;
static const wxColour TEXT_FAILED_CLR = wxColour ( 255 , 111 , 0 ) ;
MachineInfoPanel : : MachineInfoPanel ( wxWindow * parent , wxWindowID id , const wxPoint & pos , const wxSize & size , long style , const wxString & name )
: wxPanel ( parent , id , pos , size , style )
{
this - > SetBackgroundColour ( wxColour ( 255 , 255 , 255 ) ) ;
init_bitmaps ( ) ;
wxBoxSizer * m_top_sizer = new wxBoxSizer ( wxVERTICAL ) ;
m_panel_caption = create_caption_panel ( this ) ;
m_top_sizer - > Add ( m_panel_caption , 0 , wxEXPAND | wxALL , 0 ) ;
wxBoxSizer * m_main_sizer = new wxBoxSizer ( wxHORIZONTAL ) ;
wxBoxSizer * m_main_left_sizer = new wxBoxSizer ( wxVERTICAL ) ;
2023-08-07 07:40:54 +00:00
// ota
2022-07-15 15:37:19 +00:00
wxBoxSizer * m_ota_sizer = new wxBoxSizer ( wxHORIZONTAL ) ;
m_printer_img = new wxStaticBitmap ( this , wxID_ANY , wxNullBitmap , wxDefaultPosition , wxSize ( FromDIP ( 200 ) , FromDIP ( 200 ) ) ) ;
2023-05-31 06:55:39 +00:00
m_printer_img - > SetBitmap ( m_img_printer . bmp ( ) ) ;
2022-07-15 15:37:19 +00:00
m_ota_sizer - > Add ( m_printer_img , 0 , wxALIGN_CENTER_VERTICAL | wxALL , 0 ) ;
wxBoxSizer * m_ota_content_sizer = new wxBoxSizer ( wxVERTICAL ) ;
m_ota_content_sizer - > Add ( 0 , 0 , 1 , wxEXPAND , 0 ) ;
wxFlexGridSizer * m_ota_info_sizer = new wxFlexGridSizer ( 0 , 2 , 0 , 0 ) ;
m_ota_info_sizer - > AddGrowableCol ( 1 ) ;
m_ota_info_sizer - > SetFlexibleDirection ( wxHORIZONTAL ) ;
m_ota_info_sizer - > SetNonFlexibleGrowMode ( wxFLEX_GROWMODE_SPECIFIED ) ;
m_staticText_model_id = new wxStaticText ( this , wxID_ANY , _L ( " Model: " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_staticText_model_id - > Wrap ( - 1 ) ;
m_staticText_model_id - > SetFont ( Label : : Head_14 ) ;
m_ota_info_sizer - > Add ( m_staticText_model_id , 0 , wxALIGN_RIGHT | wxALL , FromDIP ( 5 ) ) ;
m_staticText_model_id_val = new wxStaticText ( this , wxID_ANY , " - " , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_staticText_model_id_val - > Wrap ( - 1 ) ;
m_ota_info_sizer - > Add ( m_staticText_model_id_val , 0 , wxALL | wxEXPAND , FromDIP ( 5 ) ) ;
m_staticText_sn = new wxStaticText ( this , wxID_ANY , _L ( " Serial: " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_staticText_sn - > Wrap ( - 1 ) ;
m_staticText_sn - > SetFont ( Label : : Head_14 ) ;
m_ota_info_sizer - > Add ( m_staticText_sn , 0 , wxALIGN_RIGHT | wxALL | wxEXPAND , FromDIP ( 5 ) ) ;
m_staticText_sn_val = new wxStaticText ( this , wxID_ANY , " - " , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_staticText_sn_val - > Wrap ( - 1 ) ;
m_ota_info_sizer - > Add ( m_staticText_sn_val , 0 , wxALL | wxEXPAND , FromDIP ( 5 ) ) ;
wxBoxSizer * m_ota_ver_sizer = new wxBoxSizer ( wxHORIZONTAL ) ;
m_ota_ver_sizer - > Add ( 0 , 0 , 1 , wxEXPAND , 0 ) ;
m_ota_new_version_img = new wxStaticBitmap ( this , wxID_ANY , wxNullBitmap , wxDefaultPosition , wxSize ( FromDIP ( 5 ) , FromDIP ( 5 ) ) ) ;
2023-05-31 06:55:39 +00:00
m_ota_new_version_img - > SetBitmap ( upgrade_green_icon . bmp ( ) ) ;
2022-07-15 15:37:19 +00:00
m_ota_ver_sizer - > Add ( m_ota_new_version_img , 0 , wxALIGN_CENTER_VERTICAL | wxALL , FromDIP ( 5 ) ) ;
m_staticText_ver = new wxStaticText ( this , wxID_ANY , _L ( " Version: " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_staticText_ver - > Wrap ( - 1 ) ;
m_staticText_ver - > SetFont ( Label : : Head_14 ) ;
2022-08-05 06:38:19 +00:00
m_ota_ver_sizer - > Add ( m_staticText_ver , 0 , wxALL , FromDIP ( 5 ) ) ;
2022-07-15 15:37:19 +00:00
m_ota_info_sizer - > Add ( m_ota_ver_sizer , 0 , wxEXPAND , 0 ) ;
m_staticText_ver_val = new wxStaticText ( this , wxID_ANY , " - " , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_staticText_ver_val - > Wrap ( - 1 ) ;
m_ota_info_sizer - > Add ( m_staticText_ver_val , 0 , wxALL | wxEXPAND , FromDIP ( 5 ) ) ;
m_ota_content_sizer - > Add ( m_ota_info_sizer , 0 , wxEXPAND , 0 ) ;
m_ota_content_sizer - > Add ( 0 , 0 , 1 , wxEXPAND , 0 ) ;
m_ota_sizer - > Add ( m_ota_content_sizer , 1 , wxEXPAND , 0 ) ;
m_main_left_sizer - > Add ( m_ota_sizer , 0 , wxEXPAND , 0 ) ;
m_staticline = new wxStaticLine ( this , wxID_ANY , wxDefaultPosition , wxDefaultSize , wxLI_HORIZONTAL ) ;
m_staticline - > SetBackgroundColour ( wxColour ( 206 , 206 , 206 ) ) ;
m_staticline - > Show ( false ) ;
m_main_left_sizer - > Add ( m_staticline , 0 , wxEXPAND | wxLEFT , FromDIP ( 40 ) ) ;
2023-08-07 07:40:54 +00:00
// ams
2022-07-15 15:37:19 +00:00
m_ams_sizer = new wxBoxSizer ( wxHORIZONTAL ) ;
m_ams_img = new wxStaticBitmap ( this , wxID_ANY , wxNullBitmap , wxDefaultPosition , wxSize ( FromDIP ( 200 ) , FromDIP ( 200 ) ) ) ;
2023-05-31 06:55:39 +00:00
m_ams_img - > SetBitmap ( m_img_monitor_ams . bmp ( ) ) ;
2022-07-15 15:37:19 +00:00
m_ams_sizer - > Add ( m_ams_img , 0 , wxALIGN_TOP | wxALL , FromDIP ( 5 ) ) ;
wxBoxSizer * m_ams_content_sizer = new wxBoxSizer ( wxVERTICAL ) ;
m_ams_content_sizer - > Add ( 0 , 40 , 0 , wxEXPAND , FromDIP ( 5 ) ) ;
2022-08-19 06:19:13 +00:00
m_ahb_panel = new AmsPanel ( this , wxID_ANY ) ;
m_ahb_panel - > m_staticText_ams - > SetLabel ( " AMS HUB " ) ;
m_ams_content_sizer - > Add ( m_ahb_panel , 0 , wxEXPAND , 0 ) ;
2022-12-08 02:50:56 +00:00
m_ams_info_sizer = new wxFlexGridSizer ( 0 , 2 , FromDIP ( 30 ) , FromDIP ( 30 ) ) ;
m_ams_info_sizer - > SetFlexibleDirection ( wxHORIZONTAL ) ;
m_ams_info_sizer - > SetNonFlexibleGrowMode ( wxFLEX_GROWMODE_ALL ) ;
2022-07-15 15:37:19 +00:00
for ( auto i = 0 ; i < 4 ; i + + ) {
auto amspanel = new AmsPanel ( this , wxID_ANY ) ;
m_ams_info_sizer - > Add ( amspanel , 1 , wxEXPAND , 5 ) ;
amspanel - > Hide ( ) ;
/*AmsPanelItem item = AmsPanelItem();
item . id = i ;
item . item = amspanel ; */
m_amspanel_list . Add ( amspanel ) ;
}
m_ams_content_sizer - > Add ( m_ams_info_sizer , 0 , wxEXPAND , 0 ) ;
m_ams_sizer - > Add ( m_ams_content_sizer , 1 , wxEXPAND , 0 ) ;
m_main_left_sizer - > Add ( m_ams_sizer , 0 , wxEXPAND , 0 ) ;
//Hide ams
show_ams ( false , true ) ;
2023-08-07 07:40:54 +00:00
//
m_extra_ams_sizer = new wxBoxSizer ( wxHORIZONTAL ) ;
m_extra_ams_img = new wxStaticBitmap ( this , wxID_ANY , wxNullBitmap , wxDefaultPosition , wxSize ( FromDIP ( 200 ) , FromDIP ( 200 ) ) ) ;
m_extra_ams_img - > SetBitmap ( m_img_extra_ams . bmp ( ) ) ;
m_extra_ams_sizer - > Add ( m_extra_ams_img , 0 , wxALIGN_TOP | wxALL , FromDIP ( 5 ) ) ;
wxBoxSizer * extra_ams_content_sizer = new wxBoxSizer ( wxVERTICAL ) ;
extra_ams_content_sizer - > Add ( 0 , 40 , 0 , wxEXPAND , FromDIP ( 5 ) ) ;
m_extra_ams_panel = new ExtraAmsPanel ( this ) ;
2023-08-08 06:10:36 +00:00
m_extra_ams_panel - > m_staticText_ams - > SetLabel ( " AMS Lite " ) ;
2023-08-07 07:40:54 +00:00
extra_ams_content_sizer - > Add ( m_extra_ams_panel , 0 , wxEXPAND , 0 ) ;
m_extra_ams_sizer - > Add ( extra_ams_content_sizer , 1 , wxEXPAND , 0 ) ;
m_main_left_sizer - > Add ( m_extra_ams_sizer , 0 , wxEXPAND , 0 ) ;
show_extra_ams ( false , true ) ;
2022-12-08 02:50:56 +00:00
m_staticline2 = new wxStaticLine ( this , wxID_ANY , wxDefaultPosition , wxDefaultSize , wxLI_HORIZONTAL ) ;
m_staticline2 - > SetBackgroundColour ( wxColour ( 206 , 206 , 206 ) ) ;
m_main_left_sizer - > Add ( m_staticline2 , 0 , wxEXPAND | wxLEFT , FromDIP ( 40 ) ) ;
2023-08-07 07:40:54 +00:00
// ext
2022-12-08 02:50:56 +00:00
m_ext_sizer = new wxBoxSizer ( wxHORIZONTAL ) ;
m_ext_img = new wxStaticBitmap ( this , wxID_ANY , wxNullBitmap , wxDefaultPosition , wxSize ( FromDIP ( 200 ) , FromDIP ( 200 ) ) ) ;
2023-05-31 06:55:39 +00:00
m_ext_img - > SetBitmap ( m_img_ext . bmp ( ) ) ;
2022-12-08 02:50:56 +00:00
m_ext_sizer - > Add ( m_ext_img , 0 , wxALIGN_TOP | wxALL , FromDIP ( 5 ) ) ;
wxBoxSizer * ext_content_sizer = new wxBoxSizer ( wxVERTICAL ) ;
ext_content_sizer - > Add ( 0 , 40 , 0 , wxEXPAND , FromDIP ( 5 ) ) ;
m_ext_panel = new ExtensionPanel ( this , wxID_ANY ) ;
ext_content_sizer - > Add ( m_ext_panel , 0 , wxEXPAND , 0 ) ;
m_ext_sizer - > Add ( ext_content_sizer , 1 , wxEXPAND , 0 ) ;
m_main_left_sizer - > Add ( m_ext_sizer , 0 , wxEXPAND , 0 ) ;
2023-08-07 07:40:54 +00:00
2022-07-15 15:37:19 +00:00
m_main_sizer - > Add ( m_main_left_sizer , 1 , wxEXPAND , 0 ) ;
wxBoxSizer * m_main_right_sizer = new wxBoxSizer ( wxVERTICAL ) ;
m_main_right_sizer - > SetMinSize ( wxSize ( FromDIP ( 137 ) , - 1 ) ) ;
m_main_right_sizer - > Add ( 0 , FromDIP ( 50 ) , 0 , wxEXPAND , FromDIP ( 5 ) ) ;
2022-10-21 06:35:18 +00:00
m_button_upgrade_firmware = new Button ( this , _L ( " Update firmware " ) ) ;
2022-07-15 15:37:19 +00:00
StateColor btn_bg ( std : : pair < wxColour , int > ( wxColour ( 255 , 255 , 255 ) , StateColor : : Disabled ) , std : : pair < wxColour , int > ( wxColour ( 27 , 136 , 68 ) , StateColor : : Pressed ) ,
std : : pair < wxColour , int > ( wxColour ( 61 , 203 , 115 ) , StateColor : : Hovered ) , std : : pair < wxColour , int > ( wxColour ( 0 , 174 , 66 ) , StateColor : : Enabled ) ,
std : : pair < wxColour , int > ( wxColour ( 0 , 174 , 66 ) , StateColor : : Normal ) ) ;
StateColor btn_bd ( std : : pair < wxColour , int > ( wxColour ( 144 , 144 , 144 ) , StateColor : : Disabled ) , std : : pair < wxColour , int > ( wxColour ( 0 , 174 , 66 ) , StateColor : : Enabled ) ) ;
StateColor btn_text ( std : : pair < wxColour , int > ( wxColour ( 144 , 144 , 144 ) , StateColor : : Disabled ) , std : : pair < wxColour , int > ( wxColour ( 255 , 255 , 255 ) , StateColor : : Enabled ) ) ;
m_button_upgrade_firmware - > SetBackgroundColor ( btn_bg ) ;
m_button_upgrade_firmware - > SetBorderColor ( btn_bd ) ;
2022-11-30 06:29:27 +00:00
m_button_upgrade_firmware - > SetTextColor ( btn_text ) ;
2022-07-15 15:37:19 +00:00
m_button_upgrade_firmware - > SetFont ( Label : : Body_10 ) ;
m_button_upgrade_firmware - > SetMinSize ( wxSize ( FromDIP ( - 1 ) , FromDIP ( 24 ) ) ) ;
m_button_upgrade_firmware - > SetCornerRadius ( FromDIP ( 12 ) ) ;
m_main_right_sizer - > Add ( m_button_upgrade_firmware , 0 , wxALIGN_CENTER_HORIZONTAL | wxALL , FromDIP ( 5 ) ) ;
m_staticText_upgrading_info = new wxStaticText ( this , wxID_ANY , " " , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_staticText_upgrading_info - > Wrap ( - 1 ) ;
m_main_right_sizer - > Add ( m_staticText_upgrading_info , 0 , wxALIGN_CENTER_HORIZONTAL | wxALL , FromDIP ( 5 ) ) ;
m_upgrading_sizer = new wxBoxSizer ( wxHORIZONTAL ) ;
m_upgrading_sizer - > Add ( 0 , 0 , 1 , wxEXPAND , 0 ) ;
m_upgrade_progress = new ProgressBar ( this , wxID_ANY , 100 , wxDefaultPosition , wxDefaultSize ) ;
m_upgrade_progress - > SetValue ( 0 ) ;
m_upgrade_progress - > SetSize ( wxSize ( FromDIP ( 54 ) , FromDIP ( 14 ) ) ) ;
m_upgrade_progress - > SetMinSize ( wxSize ( FromDIP ( 54 ) , FromDIP ( 14 ) ) ) ;
m_upgrading_sizer - > Add ( m_upgrade_progress , 0 , wxALIGN_CENTER_VERTICAL | wxALL , FromDIP ( 5 ) ) ;
m_staticText_upgrading_percent = new wxStaticText ( this , wxID_ANY , " " , wxDefaultPosition , wxDefaultSize ) ;
m_staticText_upgrading_percent - > Wrap ( - 1 ) ;
m_upgrading_sizer - > Add ( m_staticText_upgrading_percent , 0 , wxALIGN_CENTER_VERTICAL | wxALL , FromDIP ( 5 ) ) ;
m_upgrade_retry_img = new wxStaticBitmap ( this , wxID_ANY , wxNullBitmap , wxDefaultPosition , wxDefaultSize ) ;
m_upgrading_sizer - > Add ( m_upgrade_retry_img , 0 , wxALIGN_CENTER_VERTICAL | wxALL , FromDIP ( 5 ) ) ;
m_upgrading_sizer - > Add ( 0 , 0 , 1 , wxEXPAND , 0 ) ;
m_main_right_sizer - > Add ( m_upgrading_sizer , 0 , wxEXPAND , 0 ) ;
wxBoxSizer * sizer_release_note = new wxBoxSizer ( wxVERTICAL ) ;
m_staticText_release_note = new wxStaticText ( this , wxID_ANY , _L ( " Release Note " ) , wxDefaultPosition , wxDefaultSize ) ;
m_staticText_release_note - > Wrap ( - 1 ) ;
m_staticText_release_note - > SetForegroundColour ( wxColour ( 0x1F , 0x8E , 0xEA ) ) ;
auto line_release_note = new wxPanel ( this , wxID_ANY , wxDefaultPosition , wxSize ( - 1 , 1 ) , wxTAB_TRAVERSAL ) ;
line_release_note - > SetBackgroundColour ( wxColour ( 0x1F , 0x8E , 0xEA ) ) ;
sizer_release_note - > Add ( m_staticText_release_note , 0 , wxALL , 0 ) ;
sizer_release_note - > Add ( line_release_note , 1 , wxEXPAND | wxALL , 0 ) ;
m_main_right_sizer - > Add ( sizer_release_note , 0 , wxALIGN_CENTER_HORIZONTAL | wxALL , 0 ) ;
m_main_right_sizer - > Add ( 0 , 0 , 1 , wxEXPAND , 0 ) ;
m_main_sizer - > Add ( m_main_right_sizer , 0 , wxEXPAND , 0 ) ;
m_top_sizer - > Add ( m_main_sizer , 1 , wxEXPAND , 0 ) ;
this - > SetSizer ( m_top_sizer ) ;
this - > Layout ( ) ;
// Connect Events
m_upgrade_retry_img - > Bind ( wxEVT_LEFT_UP , [ this ] ( auto & e ) {
upgrade_firmware_internal ( ) ;
} ) ;
m_staticText_release_note - > Bind ( wxEVT_LEFT_DOWN , & MachineInfoPanel : : on_show_release_note , this ) ;
m_button_upgrade_firmware - > Connect ( wxEVT_COMMAND_BUTTON_CLICKED , wxCommandEventHandler ( MachineInfoPanel : : on_upgrade_firmware ) , NULL , this ) ;
2022-11-04 03:28:05 +00:00
wxGetApp ( ) . UpdateDarkUIWin ( this ) ;
2022-07-15 15:37:19 +00:00
}
wxPanel * MachineInfoPanel : : create_caption_panel ( wxWindow * parent )
{
auto caption_panel = new wxPanel ( parent , wxID_ANY , wxDefaultPosition , wxDefaultSize , wxTAB_TRAVERSAL ) ;
caption_panel - > SetBackgroundColour ( wxColour ( 248 , 248 , 248 ) ) ;
caption_panel - > SetMinSize ( wxSize ( FromDIP ( 925 ) , FromDIP ( 36 ) ) ) ;
wxBoxSizer * m_caption_sizer = new wxBoxSizer ( wxHORIZONTAL ) ;
m_caption_sizer - > Add ( 17 , 0 , 0 , wxEXPAND , 0 ) ;
m_upgrade_status_img = new wxStaticBitmap ( caption_panel , wxID_ANY , wxNullBitmap , wxDefaultPosition , wxSize ( FromDIP ( 5 ) , FromDIP ( 5 ) ) ) ;
2023-05-31 06:55:39 +00:00
m_upgrade_status_img - > SetBitmap ( upgrade_gray_icon . bmp ( ) ) ;
2022-10-18 13:53:56 +00:00
m_upgrade_status_img - > Hide ( ) ;
2022-07-15 15:37:19 +00:00
m_caption_sizer - > Add ( m_upgrade_status_img , 0 , wxALIGN_CENTER_VERTICAL | wxALL , FromDIP ( 5 ) ) ;
m_caption_text = new wxStaticText ( caption_panel , wxID_ANY , wxEmptyString , wxDefaultPosition , wxDefaultSize ) ;
2022-11-04 03:28:05 +00:00
m_caption_text - > SetForegroundColour ( " #262E30 " ) ;
2022-07-15 15:37:19 +00:00
m_caption_text - > Wrap ( - 1 ) ;
m_caption_sizer - > Add ( m_caption_text , 1 , wxALIGN_CENTER_VERTICAL | wxALL , FromDIP ( 5 ) ) ;
caption_panel - > SetSizer ( m_caption_sizer ) ;
caption_panel - > Layout ( ) ;
m_caption_sizer - > Fit ( caption_panel ) ;
return caption_panel ;
}
void MachineInfoPanel : : msw_rescale ( )
{
2023-05-31 06:55:39 +00:00
rescale_bitmaps ( ) ;
2022-07-15 15:37:19 +00:00
m_button_upgrade_firmware - > SetSize ( wxSize ( FromDIP ( - 1 ) , FromDIP ( 24 ) ) ) ;
m_button_upgrade_firmware - > SetMinSize ( wxSize ( FromDIP ( - 1 ) , FromDIP ( 24 ) ) ) ;
m_button_upgrade_firmware - > SetMaxSize ( wxSize ( FromDIP ( - 1 ) , FromDIP ( 24 ) ) ) ;
2023-05-31 06:55:39 +00:00
m_button_upgrade_firmware - > SetCornerRadius ( FromDIP ( 12 ) ) ;
m_ahb_panel - > msw_rescale ( ) ;
for ( auto & amspanel : m_amspanel_list ) {
amspanel - > msw_rescale ( ) ;
}
m_ext_panel - > msw_rescale ( ) ;
2022-07-15 15:37:19 +00:00
Layout ( ) ;
Fit ( ) ;
}
void MachineInfoPanel : : init_bitmaps ( )
{
2023-05-31 06:55:39 +00:00
m_img_printer = ScalableBitmap ( this , " printer_thumbnail " , 160 ) ;
m_img_monitor_ams = ScalableBitmap ( this , " monitor_upgrade_ams " , 200 ) ;
m_img_ext = ScalableBitmap ( this , " monitor_upgrade_ext " , 200 ) ;
2023-10-31 09:33:29 +00:00
if ( wxGetApp ( ) . dark_mode ( ) ) {
m_img_extra_ams = ScalableBitmap ( this , " extra_icon_dark " , 160 ) ;
}
else {
m_img_extra_ams = ScalableBitmap ( this , " extra_icon " , 160 ) ;
}
2023-05-31 06:55:39 +00:00
upgrade_green_icon = ScalableBitmap ( this , " monitor_upgrade_online " , 5 ) ;
upgrade_gray_icon = ScalableBitmap ( this , " monitor_upgrade_offline " , 5 ) ;
upgrade_yellow_icon = ScalableBitmap ( this , " monitor_upgrade_busy " , 5 ) ;
}
void MachineInfoPanel : : rescale_bitmaps ( )
{
m_img_printer . msw_rescale ( ) ;
m_printer_img - > SetBitmap ( m_img_printer . bmp ( ) ) ;
m_img_monitor_ams . msw_rescale ( ) ;
m_ams_img - > SetBitmap ( m_img_monitor_ams . bmp ( ) ) ;
m_img_ext . msw_rescale ( ) ;
m_ext_img - > SetBitmap ( m_img_ext . bmp ( ) ) ;
upgrade_green_icon . msw_rescale ( ) ;
upgrade_gray_icon . msw_rescale ( ) ;
upgrade_yellow_icon . msw_rescale ( ) ;
m_ota_new_version_img - > SetBitmap ( upgrade_green_icon . bmp ( ) ) ;
2022-07-15 15:37:19 +00:00
}
MachineInfoPanel : : ~ MachineInfoPanel ( )
{
// Disconnect Events
m_button_upgrade_firmware - > Disconnect ( wxEVT_COMMAND_BUTTON_CLICKED , wxCommandEventHandler ( MachineInfoPanel : : on_upgrade_firmware ) , NULL , this ) ;
2022-11-26 02:49:42 +00:00
if ( confirm_dlg ! = nullptr )
delete confirm_dlg ;
2022-07-15 15:37:19 +00:00
}
2022-12-09 10:34:28 +00:00
void MachineInfoPanel : : Update_printer_img ( MachineObject * obj )
{
if ( ! obj ) { return ; }
auto img = obj - > get_printer_thumbnail_img_str ( ) ;
2023-10-31 09:33:29 +00:00
if ( wxGetApp ( ) . dark_mode ( ) ) {
img + = " _dark " ;
m_img_extra_ams = ScalableBitmap ( this , " extra_icon_dark " , 160 ) ;
}
else {
m_img_extra_ams = ScalableBitmap ( this , " extra_icon " , 160 ) ;
}
2023-05-31 06:55:39 +00:00
m_img_printer = ScalableBitmap ( this , img , 160 ) ;
m_printer_img - > SetBitmap ( m_img_printer . bmp ( ) ) ;
2022-12-09 10:34:28 +00:00
m_printer_img - > Refresh ( ) ;
2023-10-31 09:33:29 +00:00
m_extra_ams_img - > SetBitmap ( m_img_extra_ams . bmp ( ) ) ;
m_extra_ams_img - > Refresh ( ) ;
2022-12-09 10:34:28 +00:00
}
2022-07-15 15:37:19 +00:00
void MachineInfoPanel : : update ( MachineObject * obj )
{
2022-12-09 10:34:28 +00:00
if ( m_obj ! = obj )
Update_printer_img ( obj ) ;
2022-07-15 15:37:19 +00:00
m_obj = obj ;
if ( obj ) {
this - > Freeze ( ) ;
//update online status img
m_panel_caption - > Freeze ( ) ;
if ( ! obj - > is_connected ( ) ) {
2023-05-31 06:55:39 +00:00
m_upgrade_status_img - > SetBitmap ( upgrade_gray_icon . bmp ( ) ) ;
2022-07-15 15:37:19 +00:00
wxString caption_text = wxString : : Format ( " %s(%s) " , from_u8 ( obj - > dev_name ) , _L ( " Offline " ) ) ;
m_caption_text - > SetLabelText ( caption_text ) ;
show_status ( MachineObject : : UpgradingDisplayState : : UpgradingUnavaliable ) ;
} else {
2022-08-19 06:19:13 +00:00
show_status ( obj - > upgrade_display_state , obj - > upgrade_status ) ;
2022-07-15 15:37:19 +00:00
if ( obj - > upgrade_display_state = = ( int ) MachineObject : : UpgradingDisplayState : : UpgradingUnavaliable ) {
if ( obj - > can_abort ( ) ) {
wxString caption_text = wxString : : Format ( " %s(%s) " , from_u8 ( obj - > dev_name ) , _L ( " Printing " ) ) ;
m_caption_text - > SetLabelText ( caption_text ) ;
} else {
wxString caption_text = wxString : : Format ( " %s " , from_u8 ( obj - > dev_name ) ) ;
m_caption_text - > SetLabelText ( caption_text ) ;
}
2023-05-31 06:55:39 +00:00
m_upgrade_status_img - > SetBitmap ( upgrade_yellow_icon . bmp ( ) ) ;
2022-07-15 15:37:19 +00:00
} else {
wxString caption_text = wxString : : Format ( " %s(%s) " , from_u8 ( obj - > dev_name ) , _L ( " Idle " ) ) ;
m_caption_text - > SetLabelText ( caption_text ) ;
2023-05-31 06:55:39 +00:00
m_upgrade_status_img - > SetBitmap ( upgrade_green_icon . bmp ( ) ) ;
2022-07-15 15:37:19 +00:00
}
}
m_panel_caption - > Layout ( ) ;
m_panel_caption - > Thaw ( ) ;
// update version
update_version_text ( obj ) ;
2022-12-08 02:50:56 +00:00
// update ams and extension
update_ams_ext ( obj ) ;
2022-07-15 15:37:19 +00:00
//update progress
int upgrade_percent = obj - > get_upgrade_percent ( ) ;
if ( obj - > upgrade_display_state = = ( int ) MachineObject : : UpgradingDisplayState : : UpgradingInProgress ) {
m_upgrade_progress - > SetValue ( upgrade_percent ) ;
m_staticText_upgrading_percent - > SetLabelText ( wxString : : Format ( " %d%% " , upgrade_percent ) ) ;
} else if ( obj - > upgrade_display_state = = ( int ) MachineObject : : UpgradingDisplayState : : UpgradingFinished ) {
wxString result_text = obj - > get_upgrade_result_str ( obj - > upgrade_err_code ) ;
m_upgrade_progress - > SetValue ( upgrade_percent ) ;
m_staticText_upgrading_percent - > SetLabelText ( wxString : : Format ( " %d%% " , upgrade_percent ) ) ;
}
wxString model_id_text = obj - > get_printer_type_display_str ( ) ;
m_staticText_model_id_val - > SetLabelText ( model_id_text ) ;
wxString sn_text = obj - > dev_id ;
m_staticText_sn_val - > SetLabelText ( sn_text . MakeUpper ( ) ) ;
this - > Layout ( ) ;
this - > Thaw ( ) ;
}
}
void MachineInfoPanel : : update_version_text ( MachineObject * obj )
{
if ( obj - > upgrade_display_state = = ( int ) MachineObject : : UpgradingDisplayState : : UpgradingInProgress ) {
m_staticText_ver_val - > SetLabelText ( " - " ) ;
//m_staticText_ams_ver_val->SetLabelText("-");
m_ota_new_version_img - > Hide ( ) ;
} else {
// update version text
auto it = obj - > module_vers . find ( " ota " ) ;
2022-08-31 01:19:02 +00:00
// old protocol
if ( obj - > new_ver_list . empty ( ) & & ! obj - > m_new_ver_list_exist ) {
if ( obj - > upgrade_new_version
& & ! obj - > ota_new_version_number . empty ( ) ) {
if ( it ! = obj - > module_vers . end ( ) ) {
wxString ver_text = wxString : : Format ( " %s->%s " , it - > second . sw_ver , obj - > ota_new_version_number ) ;
m_staticText_ver_val - > SetLabelText ( ver_text ) ;
}
else {
m_staticText_ver_val - > SetLabelText ( " - " ) ;
}
m_ota_new_version_img - > Show ( ) ;
2022-07-15 15:37:19 +00:00
}
else {
2022-08-31 01:19:02 +00:00
if ( it ! = obj - > module_vers . end ( ) ) {
wxString ver_text = wxString : : Format ( " %s(%s) " , it - > second . sw_ver , _L ( " Latest version " ) ) ;
m_staticText_ver_val - > SetLabelText ( ver_text ) ;
}
else {
m_staticText_ver_val - > SetLabelText ( " - " ) ;
}
m_ota_new_version_img - > Hide ( ) ;
2022-07-15 15:37:19 +00:00
}
2022-08-31 01:19:02 +00:00
} else {
auto ota_it = obj - > new_ver_list . find ( " ota " ) ;
if ( ota_it = = obj - > new_ver_list . end ( ) ) {
2022-12-01 12:27:05 +00:00
if ( it ! = obj - > module_vers . end ( ) ) {
wxString ver_text = wxString : : Format ( " %s(%s) " , it - > second . sw_ver , _L ( " Latest version " ) ) ;
m_staticText_ver_val - > SetLabelText ( ver_text ) ;
m_ota_new_version_img - > Hide ( ) ;
}
2022-08-31 01:19:02 +00:00
} else {
if ( ota_it - > second . sw_new_ver ! = ota_it - > second . sw_ver ) {
m_ota_new_version_img - > Show ( ) ;
wxString ver_text = wxString : : Format ( " %s->%s " , ota_it - > second . sw_ver , ota_it - > second . sw_new_ver ) ;
m_staticText_ver_val - > SetLabelText ( ver_text ) ;
} else {
2022-12-01 12:27:05 +00:00
if ( it ! = obj - > module_vers . end ( ) ) {
m_ota_new_version_img - > Hide ( ) ;
wxString ver_text = wxString : : Format ( " %s(%s) " , it - > second . sw_ver , _L ( " Latest version " ) ) ;
m_staticText_ver_val - > SetLabelText ( ver_text ) ;
}
2022-08-31 01:19:02 +00:00
}
2022-07-15 15:37:19 +00:00
}
}
}
}
2022-12-08 02:50:56 +00:00
void MachineInfoPanel : : update_ams_ext ( MachineObject * obj )
2022-07-15 15:37:19 +00:00
{
2022-08-19 06:19:13 +00:00
bool has_hub_model = false ;
//hub
2023-08-07 07:40:54 +00:00
if ( ! obj - > online_ahb | | obj - > module_vers . find ( " ahb " ) = = obj - > module_vers . end ( ) )
2022-08-19 06:19:13 +00:00
m_ahb_panel - > Hide ( ) ;
else {
has_hub_model = true ;
show_ams ( true ) ;
for ( auto i = 0 ; i < m_amspanel_list . GetCount ( ) ; i + + ) {
AmsPanel * amspanel = m_amspanel_list [ i ] ;
amspanel - > Hide ( ) ;
}
m_ahb_panel - > Show ( ) ;
wxString hub_sn = " - " ;
if ( ! obj - > module_vers . find ( " ahb " ) - > second . sn . empty ( ) ) {
wxString sn_text = obj - > module_vers . find ( " ahb " ) - > second . sn ;
hub_sn = sn_text . MakeUpper ( ) ;
}
wxString hub_ver = " - " ;
if ( ! obj - > module_vers . find ( " ahb " ) - > second . sw_ver . empty ( ) ) {
wxString sn_text = obj - > module_vers . find ( " ahb " ) - > second . sw_ver ;
hub_ver = sn_text . MakeUpper ( ) ;
}
/* auto ver_item = obj->new_ver_list.find("ahb");
if ( ver_item ! = obj - > new_ver_list . end ( ) ) {
m_ahb_panel - > m_ams_new_version_img - > Show ( ) ;
hub_ver = wxString : : Format ( " %s->%s " , hub_ver , ver_item - > second . sw_new_ver ) ;
} else {
m_ahb_panel - > m_ams_new_version_img - > Hide ( ) ;
hub_ver = wxString : : Format ( " %s(%s) " , hub_ver , _L ( " Latest version " ) ) ;
} */
if ( obj - > new_ver_list . empty ( ) & & ! obj - > m_new_ver_list_exist ) {
if ( obj - > upgrade_new_version & & obj - > ahb_new_version_number . compare ( obj - > module_vers . find ( " ahb " ) - > second . sw_ver ) ! = 0 ) {
m_ahb_panel - > m_ams_new_version_img - > Show ( ) ;
if ( obj - > ahb_new_version_number . empty ( ) ) {
hub_ver = wxString : : Format ( " %s " , obj - > module_vers . find ( " ahb " ) - > second . sw_ver ) ;
} else {
hub_ver = wxString : : Format ( " %s->%s " , obj - > module_vers . find ( " ahb " ) - > second . sw_ver , obj - > ahb_new_version_number ) ;
}
} else {
m_ahb_panel - > m_ams_new_version_img - > Hide ( ) ;
if ( obj - > ahb_new_version_number . empty ( ) ) {
wxString ver_text = wxString : : Format ( " %s " , obj - > module_vers . find ( " ahb " ) - > second . sw_ver ) ;
hub_ver = ver_text ;
} else {
wxString ver_text = wxString : : Format ( " %s(%s) " , obj - > module_vers . find ( " ahb " ) - > second . sw_ver , _L ( " Latest version " ) ) ;
hub_ver = ver_text ;
}
}
} else {
auto ver_item = obj - > new_ver_list . find ( " ahb " ) ;
if ( ver_item = = obj - > new_ver_list . end ( ) ) {
m_ahb_panel - > m_ams_new_version_img - > Hide ( ) ;
wxString ver_text = wxString : : Format ( " %s(%s) " , obj - > module_vers . find ( " ahb " ) - > second . sw_ver , _L ( " Latest version " ) ) ;
hub_ver = ver_text ;
} else {
if ( ver_item - > second . sw_new_ver ! = ver_item - > second . sw_ver ) {
m_ahb_panel - > m_ams_new_version_img - > Show ( ) ;
wxString ver_text = wxString : : Format ( " %s->%s " , ver_item - > second . sw_ver , ver_item - > second . sw_new_ver ) ;
hub_ver = ver_text ;
} else {
m_ahb_panel - > m_ams_new_version_img - > Hide ( ) ;
wxString ver_text = wxString : : Format ( " %s(%s) " , ver_item - > second . sw_ver , _L ( " Latest version " ) ) ;
hub_ver = ver_text ;
}
}
}
m_ahb_panel - > m_staticText_ams_sn_val - > SetLabelText ( hub_sn ) ;
m_ahb_panel - > m_staticText_ams_ver_val - > SetLabelText ( hub_ver ) ;
}
//ams
2022-07-15 15:37:19 +00:00
if ( obj - > ams_exist_bits ! = 0 ) {
2023-08-08 06:10:36 +00:00
std : : string extra_ams_str = ( boost : : format ( " ams_f1/%1% " ) % 0 ) . str ( ) ;
2023-08-07 07:40:54 +00:00
auto extra_ams_it = obj - > module_vers . find ( extra_ams_str ) ;
if ( extra_ams_it ! = obj - > module_vers . end ( ) ) {
wxString sn_text = extra_ams_it - > second . sn ;
sn_text = sn_text . MakeUpper ( ) ;
wxString ver_text = extra_ams_it - > second . sw_ver ;
bool has_new_version = false ;
auto new_extra_ams_ver = obj - > new_ver_list . find ( extra_ams_str ) ;
if ( new_extra_ams_ver ! = obj - > new_ver_list . end ( ) )
has_new_version = true ;
extra_ams_it - > second . sw_new_ver ;
if ( has_new_version ) {
m_extra_ams_panel - > m_ams_new_version_img - > Show ( ) ;
ver_text = wxString : : Format ( " %s->%s " , new_extra_ams_ver - > second . sw_ver , new_extra_ams_ver - > second . sw_new_ver ) ;
}
else {
m_extra_ams_panel - > m_ams_new_version_img - > Hide ( ) ;
ver_text = wxString : : Format ( " %s(%s) " , extra_ams_it - > second . sw_ver , _L ( " Latest version " ) ) ;
}
m_extra_ams_panel - > m_staticText_ams_sn_val - > SetLabelText ( sn_text ) ;
m_extra_ams_panel - > m_staticText_ams_ver_val - > SetLabelText ( ver_text ) ;
show_ams ( false ) ;
show_extra_ams ( true ) ;
}
else {
show_extra_ams ( false ) ;
show_ams ( true ) ;
std : : map < int , MachineObject : : ModuleVersionInfo > ver_list = obj - > get_ams_version ( ) ;
2022-07-15 15:37:19 +00:00
2023-08-07 07:40:54 +00:00
AmsPanelHash : : iterator iter = m_amspanel_list . begin ( ) ;
2022-07-15 15:37:19 +00:00
2023-08-07 07:40:54 +00:00
for ( auto i = 0 ; i < m_amspanel_list . GetCount ( ) ; i + + ) {
AmsPanel * amspanel = m_amspanel_list [ i ] ;
amspanel - > Hide ( ) ;
}
2022-07-15 15:37:19 +00:00
2023-08-07 07:40:54 +00:00
auto ams_index = 0 ;
for ( std : : map < std : : string , Ams * > : : iterator iter = obj - > amsList . begin ( ) ; iter ! = obj - > amsList . end ( ) ; iter + + ) {
wxString ams_name ;
wxString ams_sn ;
wxString ams_ver ;
2022-07-15 15:37:19 +00:00
2023-08-07 07:40:54 +00:00
AmsPanel * amspanel = m_amspanel_list [ ams_index ] ;
amspanel - > Show ( ) ;
2022-07-15 15:37:19 +00:00
2023-08-07 07:40:54 +00:00
auto it = ver_list . find ( atoi ( iter - > first . c_str ( ) ) ) ;
auto ams_id = std : : stoi ( iter - > second - > id ) ;
2022-08-16 05:12:48 +00:00
2023-08-07 07:40:54 +00:00
wxString ams_text = wxString : : Format ( " AMS%s " , std : : to_string ( ams_id + 1 ) ) ;
ams_name = ams_text ;
2022-08-16 05:12:48 +00:00
2023-08-07 07:40:54 +00:00
if ( it = = ver_list . end ( ) ) {
// hide this ams
ams_sn = " - " ;
2022-09-28 04:28:29 +00:00
ams_ver = " - " ;
}
else {
2023-08-07 07:40:54 +00:00
// update ams img
if ( m_obj - > upgrade_display_state = = ( int ) MachineObject : : UpgradingDisplayState : : UpgradingInProgress ) {
ams_ver = " - " ;
amspanel - > m_ams_new_version_img - > Hide ( ) ;
}
else {
if ( obj - > new_ver_list . empty ( ) & & ! obj - > m_new_ver_list_exist ) {
if ( obj - > upgrade_new_version
& & obj - > ams_new_version_number . compare ( it - > second . sw_ver ) ! = 0 ) {
amspanel - > m_ams_new_version_img - > Show ( ) ;
if ( obj - > ams_new_version_number . empty ( ) ) {
ams_ver = wxString : : Format ( " %s " , it - > second . sw_ver ) ;
}
else {
ams_ver = wxString : : Format ( " %s->%s " , it - > second . sw_ver , obj - > ams_new_version_number ) ;
}
2022-09-28 04:28:29 +00:00
}
2023-08-07 07:40:54 +00:00
else {
amspanel - > m_ams_new_version_img - > Hide ( ) ;
if ( obj - > ams_new_version_number . empty ( ) ) {
wxString ver_text = wxString : : Format ( " %s " , it - > second . sw_ver ) ;
ams_ver = ver_text ;
}
else {
wxString ver_text = wxString : : Format ( " %s(%s) " , it - > second . sw_ver , _L ( " Latest version " ) ) ;
ams_ver = ver_text ;
}
2022-09-28 04:28:29 +00:00
}
2022-08-19 06:19:13 +00:00
}
2023-08-07 07:40:54 +00:00
else {
std : : string ams_idx = ( boost : : format ( " ams/%1% " ) % ams_id ) . str ( ) ;
auto ver_item = obj - > new_ver_list . find ( ams_idx ) ;
if ( ver_item = = obj - > new_ver_list . end ( ) ) {
2022-09-28 04:28:29 +00:00
amspanel - > m_ams_new_version_img - > Hide ( ) ;
2023-08-07 07:40:54 +00:00
wxString ver_text = wxString : : Format ( " %s(%s) " , it - > second . sw_ver , _L ( " Latest version " ) ) ;
ams_ver = ver_text ;
}
else {
if ( ver_item - > second . sw_new_ver ! = ver_item - > second . sw_ver ) {
amspanel - > m_ams_new_version_img - > Show ( ) ;
wxString ver_text = wxString : : Format ( " %s->%s " , ver_item - > second . sw_ver , ver_item - > second . sw_new_ver ) ;
ams_ver = ver_text ;
}
else {
amspanel - > m_ams_new_version_img - > Hide ( ) ;
wxString ver_text = wxString : : Format ( " %s(%s) " , ver_item - > second . sw_ver , _L ( " Latest version " ) ) ;
ams_ver = ver_text ;
}
2022-09-28 04:28:29 +00:00
}
2022-08-01 07:59:15 +00:00
}
}
2023-08-07 07:40:54 +00:00
// update ams sn
if ( it - > second . sn . empty ( ) ) {
ams_sn = " - " ;
}
else {
wxString sn_text = it - > second . sn ;
ams_sn = sn_text . MakeUpper ( ) ;
}
2022-08-01 07:59:15 +00:00
}
2022-07-15 15:37:19 +00:00
2023-08-07 07:40:54 +00:00
amspanel - > m_staticText_ams - > SetLabelText ( ams_name ) ;
amspanel - > m_staticText_ams_sn_val - > SetLabelText ( ams_sn ) ;
amspanel - > m_staticText_ams_ver_val - > SetLabelText ( ams_ver ) ;
2022-07-15 15:37:19 +00:00
2023-08-07 07:40:54 +00:00
ams_index + + ;
}
2022-07-15 15:37:19 +00:00
}
} else {
2022-08-19 06:19:13 +00:00
if ( ! has_hub_model ) { show_ams ( false ) ; }
2023-08-07 07:40:54 +00:00
show_extra_ams ( false ) ;
2022-07-15 15:37:19 +00:00
}
2023-08-07 07:40:54 +00:00
2022-12-08 02:50:56 +00:00
//ext
auto ext_module = obj - > module_vers . find ( " ext " ) ;
if ( ext_module = = obj - > module_vers . end ( ) )
show_ext ( false ) ;
else {
wxString sn_text = ext_module - > second . sn ;
sn_text = sn_text . MakeUpper ( ) ;
wxString ext_ver = " " ;
// has new version
bool has_new_version = false ;
auto new_ext_ver = obj - > new_ver_list . find ( " ext " ) ;
if ( new_ext_ver ! = obj - > new_ver_list . end ( ) )
has_new_version = true ;
if ( has_new_version ) {
m_ext_panel - > m_ext_new_version_img - > Show ( ) ;
ext_ver = wxString : : Format ( " %s->%s " , new_ext_ver - > second . sw_ver , new_ext_ver - > second . sw_new_ver ) ;
} else {
m_ext_panel - > m_ext_new_version_img - > Hide ( ) ;
ext_ver = wxString : : Format ( " %s(%s) " , ext_module - > second . sw_ver , _L ( " Latest version " ) ) ;
}
// set sn and version
m_ext_panel - > m_staticText_ext_sn_val - > SetLabelText ( sn_text ) ;
m_ext_panel - > m_staticText_ext_ver_val - > SetLabelText ( ext_ver ) ;
show_ext ( true ) ;
}
2022-07-15 15:37:19 +00:00
this - > Layout ( ) ;
2022-12-08 02:50:56 +00:00
this - > Fit ( ) ;
2022-07-15 15:37:19 +00:00
}
2022-08-19 06:19:13 +00:00
void MachineInfoPanel : : show_status ( int status , std : : string upgrade_status_str )
2022-07-15 15:37:19 +00:00
{
2022-08-19 06:19:13 +00:00
if ( last_status = = status & & last_status_str = = upgrade_status_str ) return ;
last_status = status ;
last_status_str = upgrade_status_str ;
2022-07-15 15:37:19 +00:00
2022-08-19 06:19:13 +00:00
BOOST_LOG_TRIVIAL ( trace ) < < " MachineInfoPanel: show_status = " < < status < < " , str = " < < upgrade_status_str ;
2022-07-15 15:37:19 +00:00
Freeze ( ) ;
2022-09-16 02:26:20 +00:00
2022-07-15 15:37:19 +00:00
if ( status = = ( int ) MachineObject : : UpgradingDisplayState : : UpgradingUnavaliable ) {
m_button_upgrade_firmware - > Show ( ) ;
m_button_upgrade_firmware - > Disable ( ) ;
for ( size_t i = 0 ; i < m_upgrading_sizer - > GetItemCount ( ) ; i + + ) {
m_upgrading_sizer - > Show ( false ) ;
}
m_upgrade_retry_img - > Hide ( ) ;
m_staticText_upgrading_info - > Hide ( ) ;
m_staticText_upgrading_percent - > Hide ( ) ;
} else if ( status = = ( int ) MachineObject : : UpgradingDisplayState : : UpgradingAvaliable ) {
m_button_upgrade_firmware - > Show ( ) ;
m_button_upgrade_firmware - > Enable ( ) ;
for ( size_t i = 0 ; i < m_upgrading_sizer - > GetItemCount ( ) ; i + + ) { m_upgrading_sizer - > Show ( false ) ; }
m_upgrade_retry_img - > Hide ( ) ;
m_staticText_upgrading_info - > Hide ( ) ;
m_staticText_upgrading_percent - > Hide ( ) ;
} else if ( status = = ( int ) MachineObject : : UpgradingDisplayState : : UpgradingInProgress ) {
2022-09-16 02:26:20 +00:00
m_button_upgrade_firmware - > Disable ( ) ;
2022-07-15 15:37:19 +00:00
for ( size_t i = 0 ; i < m_upgrading_sizer - > GetItemCount ( ) ; i + + ) { m_upgrading_sizer - > Show ( true ) ; }
m_upgrade_retry_img - > Hide ( ) ;
m_staticText_upgrading_info - > Show ( ) ;
2022-10-21 06:35:18 +00:00
m_staticText_upgrading_info - > SetLabel ( _L ( " Updating " ) ) ;
2022-07-15 15:37:19 +00:00
m_staticText_upgrading_info - > SetForegroundColour ( TEXT_NORMAL_CLR ) ;
m_staticText_upgrading_percent - > SetForegroundColour ( TEXT_NORMAL_CLR ) ;
m_staticText_upgrading_percent - > Show ( ) ;
} else if ( status = = ( int ) MachineObject : : UpgradingDisplayState : : UpgradingFinished ) {
2022-08-19 06:19:13 +00:00
if ( upgrade_status_str = = " UPGRADE_FAIL " ) {
2022-10-21 06:35:18 +00:00
m_staticText_upgrading_info - > SetLabel ( _L ( " Updating failed " ) ) ;
2022-07-15 15:37:19 +00:00
m_staticText_upgrading_info - > SetForegroundColour ( TEXT_FAILED_CLR ) ;
for ( size_t i = 0 ; i < m_upgrading_sizer - > GetItemCount ( ) ; i + + ) { m_upgrading_sizer - > Show ( true ) ; }
2022-09-16 02:26:20 +00:00
m_button_upgrade_firmware - > Disable ( ) ;
2022-07-15 15:37:19 +00:00
m_staticText_upgrading_info - > Show ( ) ;
2022-09-16 02:26:20 +00:00
m_staticText_upgrading_percent - > Show ( ) ;
2022-07-15 15:37:19 +00:00
m_upgrade_retry_img - > Show ( ) ;
2022-08-19 06:19:13 +00:00
} else {
2022-10-21 06:35:18 +00:00
m_staticText_upgrading_info - > SetLabel ( _L ( " Updating successful " ) ) ;
2022-08-19 06:19:13 +00:00
m_staticText_upgrading_info - > Show ( ) ;
2022-09-16 02:26:20 +00:00
for ( size_t i = 0 ; i < m_upgrading_sizer - > GetItemCount ( ) ; i + + ) { m_upgrading_sizer - > Show ( true ) ; }
m_button_upgrade_firmware - > Disable ( ) ;
2022-08-19 06:19:13 +00:00
m_staticText_upgrading_info - > SetForegroundColour ( TEXT_NORMAL_CLR ) ;
m_staticText_upgrading_percent - > SetForegroundColour ( TEXT_NORMAL_CLR ) ;
2022-09-16 02:26:20 +00:00
m_staticText_upgrading_percent - > Show ( ) ;
2022-08-19 06:19:13 +00:00
m_upgrade_retry_img - > Hide ( ) ;
2022-07-15 15:37:19 +00:00
}
} else {
;
}
Layout ( ) ;
Thaw ( ) ;
}
void MachineInfoPanel : : show_ams ( bool show , bool force_update )
{
if ( m_last_ams_show ! = show | | force_update ) {
m_ams_img - > Show ( show ) ;
m_ams_sizer - > Show ( show ) ;
m_staticline - > Show ( show ) ;
BOOST_LOG_TRIVIAL ( trace ) < < " upgrade: show_ams = " < < show ;
}
m_last_ams_show = show ;
}
2022-12-08 02:50:56 +00:00
void MachineInfoPanel : : show_ext ( bool show , bool force_update )
{
if ( m_last_ext_show ! = show | | force_update ) {
m_ext_img - > Show ( show ) ;
m_ext_sizer - > Show ( show ) ;
m_staticline2 - > Show ( show ) ;
BOOST_LOG_TRIVIAL ( trace ) < < " upgrade: show_ext = " < < show ;
}
m_last_ext_show = show ;
}
2023-08-07 07:40:54 +00:00
void MachineInfoPanel : : show_extra_ams ( bool show , bool force_update ) {
if ( m_last_extra_ams_show ! = show | | force_update ) {
m_extra_ams_img - > Show ( show ) ;
m_extra_ams_sizer - > Show ( show ) ;
m_staticline - > Show ( show ) ;
BOOST_LOG_TRIVIAL ( trace ) < < " upgrade: show_extra_ams = " < < show ;
}
m_last_extra_ams_show = show ;
}
2022-12-09 10:34:28 +00:00
void MachineInfoPanel : : on_sys_color_changed ( )
{
2022-12-10 06:02:29 +00:00
if ( m_obj ) {
Update_printer_img ( m_obj ) ;
}
2022-12-09 10:34:28 +00:00
}
2023-01-11 01:26:01 +00:00
void MachineInfoPanel : : confirm_upgrade ( MachineObject * obj )
{
if ( obj ) {
obj - > command_upgrade_confirm ( ) ;
obj - > upgrade_display_state = MachineObject : : UpgradingDisplayState : : UpgradingInProgress ;
obj - > upgrade_display_hold_count = HOLD_COUNT_MAX ;
// enter in progress status first
this - > show_status ( MachineObject : : UpgradingDisplayState : : UpgradingInProgress ) ;
}
}
2022-07-15 15:37:19 +00:00
void MachineInfoPanel : : upgrade_firmware_internal ( ) {
if ( ! m_obj )
return ;
if ( panel_type = = ptOtaPanel ) {
m_obj - > command_upgrade_firmware ( m_ota_info ) ;
} else if ( panel_type = = ptAmsPanel ) {
m_obj - > command_upgrade_firmware ( m_ams_info ) ;
} else if ( panel_type = = ptPushPanel ) {
2023-01-11 01:26:01 +00:00
confirm_upgrade ( ) ;
2022-07-15 15:37:19 +00:00
}
}
void MachineInfoPanel : : on_upgrade_firmware ( wxCommandEvent & event )
{
2022-11-26 02:49:42 +00:00
if ( confirm_dlg = = nullptr ) {
confirm_dlg = new SecondaryCheckDialog ( this - > GetParent ( ) , wxID_ANY , _L ( " Update firmware " ) ) ;
confirm_dlg - > Bind ( EVT_SECONDARY_CHECK_CONFIRM , [ this ] ( wxCommandEvent & e ) {
2023-01-11 01:26:01 +00:00
this - > confirm_upgrade ( m_obj ) ;
2022-11-26 02:49:42 +00:00
} ) ;
2022-10-19 08:10:19 +00:00
}
2022-11-26 02:49:42 +00:00
confirm_dlg - > update_text ( _L ( " Are you sure you want to update? This will take about 10 minutes. Do not turn off the power while the printer is updating. " ) ) ;
confirm_dlg - > on_show ( ) ;
2022-09-16 02:26:20 +00:00
}
void MachineInfoPanel : : on_consisitency_upgrade_firmware ( wxCommandEvent & event )
{
2022-11-26 02:49:42 +00:00
if ( confirm_dlg = = nullptr ) {
confirm_dlg = new SecondaryCheckDialog ( this - > GetParent ( ) , wxID_ANY , _L ( " Update firmware " ) ) ;
confirm_dlg - > Bind ( EVT_SECONDARY_CHECK_CONFIRM , [ this ] ( wxCommandEvent & e ) {
if ( m_obj ) {
m_obj - > command_consistency_upgrade_confirm ( ) ;
}
} ) ;
2022-10-19 08:10:19 +00:00
}
2022-11-26 02:49:42 +00:00
confirm_dlg - > update_text ( _L ( " Are you sure you want to update? This will take about 10 minutes. Do not turn off the power while the printer is updating. " ) ) ;
confirm_dlg - > on_show ( ) ;
2022-07-15 15:37:19 +00:00
}
void MachineInfoPanel : : on_show_release_note ( wxMouseEvent & event )
{
DeviceManager * dev = wxGetApp ( ) . getDeviceManager ( ) ;
if ( ! dev ) return ;
2022-08-11 08:08:29 +00:00
wxString next_version_release_note ;
wxString now_version_release_note ;
2022-07-15 15:37:19 +00:00
std : : string version_number = " " ;
for ( auto iter : m_obj - > firmware_list ) {
if ( iter . version = = m_obj - > ota_new_version_number ) {
version_number = m_obj - > ota_new_version_number ;
2022-08-11 08:08:29 +00:00
next_version_release_note = wxString : : FromUTF8 ( iter . description ) ;
2022-07-15 15:37:19 +00:00
}
if ( iter . version = = m_obj - > get_ota_version ( ) ) {
version_number = m_obj - > get_ota_version ( ) ;
2022-08-11 08:08:29 +00:00
now_version_release_note = wxString : : FromUTF8 ( iter . description ) ;
2022-07-15 15:37:19 +00:00
}
}
ReleaseNoteDialog dlg ;
2023-02-22 02:43:17 +00:00
if ( ! m_obj - > ota_new_version_number . empty ( ) ) {
2022-07-15 15:37:19 +00:00
dlg . update_release_note ( next_version_release_note , version_number ) ;
dlg . ShowModal ( ) ;
return ;
}
2023-02-22 02:43:17 +00:00
if ( ! m_obj - > get_ota_version ( ) . empty ( ) ) {
2022-07-15 15:37:19 +00:00
dlg . update_release_note ( now_version_release_note , version_number ) ;
dlg . ShowModal ( ) ;
return ;
}
}
UpgradePanel : : UpgradePanel ( wxWindow * parent , wxWindowID id , const wxPoint & pos , const wxSize & size , long style )
: wxPanel ( parent , id , pos , size , style )
{
this - > SetBackgroundColour ( wxColour ( 238 , 238 , 238 ) ) ;
auto m_main_sizer = new wxBoxSizer ( wxVERTICAL ) ;
m_scrolledWindow = new wxScrolledWindow ( this , wxID_ANY , wxDefaultPosition , wxDefaultSize , wxVSCROLL ) ;
m_scrolledWindow - > SetScrollRate ( 5 , 5 ) ;
m_machine_list_sizer = new wxBoxSizer ( wxVERTICAL ) ;
m_scrolledWindow - > SetSizerAndFit ( m_machine_list_sizer ) ;
2022-08-05 06:38:19 +00:00
m_main_sizer - > Add ( m_scrolledWindow , 1 , wxEXPAND , 0 ) ;
2022-07-15 15:37:19 +00:00
this - > SetSizerAndFit ( m_main_sizer ) ;
Layout ( ) ;
}
UpgradePanel : : ~ UpgradePanel ( )
{
2022-11-26 02:49:42 +00:00
if ( force_dlg ! = nullptr )
delete force_dlg ;
2022-07-15 15:37:19 +00:00
2022-11-26 02:49:42 +00:00
if ( consistency_dlg ! = nullptr )
delete consistency_dlg ;
2022-07-15 15:37:19 +00:00
}
void UpgradePanel : : msw_rescale ( )
{
2023-03-22 06:24:37 +00:00
if ( m_push_upgrade_panel )
m_push_upgrade_panel - > msw_rescale ( ) ;
2022-07-15 15:37:19 +00:00
}
void UpgradePanel : : clean_push_upgrade_panel ( )
{
if ( m_push_upgrade_panel ) {
delete m_push_upgrade_panel ;
m_push_upgrade_panel = nullptr ;
}
}
void UpgradePanel : : refresh_version_and_firmware ( MachineObject * obj )
{
BOOST_LOG_TRIVIAL ( trace ) < < " refresh version " ;
if ( obj ) {
obj - > command_get_version ( ) ;
obj - > get_firmware_info ( ) ;
m_need_update = true ;
}
}
void UpgradePanel : : update ( MachineObject * obj )
{
if ( m_obj ! = obj ) {
m_obj = obj ;
refresh_version_and_firmware ( obj ) ;
}
Freeze ( ) ;
if ( m_obj & & m_need_update ) {
if ( m_obj - > is_firmware_info_valid ( ) ) {
clean_push_upgrade_panel ( ) ;
m_push_upgrade_panel = new MachineInfoPanel ( m_scrolledWindow ) ;
m_machine_list_sizer - > Add ( m_push_upgrade_panel , 0 , wxTOP | wxALIGN_CENTER_HORIZONTAL , FromDIP ( 8 ) ) ;
m_need_update = false ;
}
}
2022-09-16 02:26:20 +00:00
//force upgrade
//unlock hint
if ( m_obj & & ( m_obj - > upgrade_display_state = = ( int ) MachineObject : : UpgradingDisplayState : : UpgradingFinished ) & & ( last_forced_hint_status ! = m_obj - > upgrade_display_state ) ) {
last_forced_hint_status = m_obj - > upgrade_display_state ;
m_show_forced_hint = true ;
}
if ( m_obj & & m_show_forced_hint ) {
if ( m_obj - > upgrade_force_upgrade ) {
m_show_forced_hint = false ; //lock hint
2022-11-26 02:49:42 +00:00
if ( force_dlg = = nullptr ) {
force_dlg = new SecondaryCheckDialog ( this - > GetParent ( ) , wxID_ANY , _L ( " Update firmware " ) , SecondaryCheckDialog : : ButtonStyle : : CONFIRM_AND_CANCEL , wxDefaultPosition , wxDefaultSize ) ;
force_dlg - > Bind ( EVT_SECONDARY_CHECK_CONFIRM , [ this ] ( wxCommandEvent & e ) {
if ( m_obj ) {
m_obj - > command_upgrade_confirm ( ) ;
2023-03-22 06:24:37 +00:00
m_obj - > upgrade_display_state = MachineObject : : UpgradingDisplayState : : UpgradingInProgress ;
2023-01-11 01:26:01 +00:00
m_obj - > upgrade_display_hold_count = HOLD_COUNT_MAX ;
2022-11-26 02:49:42 +00:00
}
} ) ;
2022-10-19 08:10:19 +00:00
}
2022-11-26 02:49:42 +00:00
force_dlg - > update_text ( _L (
" An important update was detected and needs to be run before printing can continue. Do you want to update now? You can also update later from 'Upgrade firmware'. "
) ) ;
force_dlg - > on_show ( ) ;
2022-09-16 02:26:20 +00:00
}
}
//consistency upgrade
if ( m_obj & & ( m_obj - > upgrade_display_state = = ( int ) MachineObject : : UpgradingDisplayState : : UpgradingFinished ) & & ( last_consistency_hint_status ! = m_obj - > upgrade_display_state ) ) {
last_consistency_hint_status = m_obj - > upgrade_display_state ;
m_show_consistency_hint = true ;
}
if ( m_obj & & m_show_consistency_hint ) {
if ( m_obj - > upgrade_consistency_request ) {
m_show_consistency_hint = false ;
2022-11-26 02:49:42 +00:00
if ( consistency_dlg = = nullptr ) {
consistency_dlg = new SecondaryCheckDialog ( this - > GetParent ( ) , wxID_ANY , _L ( " Update firmware " ) , SecondaryCheckDialog : : ButtonStyle : : CONFIRM_AND_CANCEL , wxDefaultPosition , wxDefaultSize ) ;
consistency_dlg - > Bind ( EVT_SECONDARY_CHECK_CONFIRM , [ this ] ( wxCommandEvent & e ) {
if ( m_obj ) {
m_obj - > command_consistency_upgrade_confirm ( ) ;
}
} ) ;
2022-10-19 08:10:19 +00:00
}
2022-11-26 02:49:42 +00:00
consistency_dlg - > update_text ( _L (
" The firmware version is abnormal. Repairing and updating are required before printing. Do you want to update now? You can also update later on printer or update next time starting the studio. "
) ) ;
consistency_dlg - > on_show ( ) ;
2022-09-16 02:26:20 +00:00
}
}
2022-07-15 15:37:19 +00:00
//update panels
if ( m_push_upgrade_panel ) {
m_push_upgrade_panel - > update ( obj ) ;
}
if ( ! obj )
clean_push_upgrade_panel ( ) ;
this - > Layout ( ) ;
Thaw ( ) ;
m_obj = obj ;
}
2022-11-30 06:29:27 +00:00
void UpgradePanel : : show_status ( int status )
{
if ( last_status = = status ) return ;
last_status = status ;
if ( ( ( status & ( int ) MonitorStatus : : MONITOR_DISCONNECTED ) ! = 0 )
| | ( ( status & ( int ) MonitorStatus : : MONITOR_DISCONNECTED_SERVER ) ! = 0 )
| | ( ( status & ( int ) MonitorStatus : : MONITOR_CONNECTING ) ! = 0 )
| | ( ( status & ( int ) MonitorStatus : : MONITOR_NO_PRINTER ) ! = 0 )
) {
;
}
else if ( ( status & ( int ) MonitorStatus : : MONITOR_NORMAL ) ! = 0 ) {
;
}
}
2022-12-09 10:34:28 +00:00
void UpgradePanel : : on_sys_color_changed ( )
{
2022-12-10 07:15:56 +00:00
//add some protection for Dark mode
if ( m_push_upgrade_panel ) {
m_push_upgrade_panel - > on_sys_color_changed ( ) ;
}
2022-12-09 10:34:28 +00:00
}
2022-07-15 15:37:19 +00:00
bool UpgradePanel : : Show ( bool show )
{
if ( show ) {
DeviceManager * dev = wxGetApp ( ) . getDeviceManager ( ) ;
if ( dev ) {
MachineObject * obj = dev - > get_default_machine ( ) ;
refresh_version_and_firmware ( obj ) ;
}
}
return wxPanel : : Show ( show ) ;
}
AmsPanel : : AmsPanel ( wxWindow * parent ,
wxWindowID id /*= wxID_ANY*/ ,
const wxPoint & pos /*= wxDefaultPosition*/ ,
const wxSize & size /*= wxDefaultSize*/ ,
long style /*= wxTAB_TRAVERSAL*/ ,
const wxString & name /*= wxEmptyString*/ )
: wxPanel ( parent , id , pos , size , style )
{
2023-05-31 06:55:39 +00:00
upgrade_green_icon = ScalableBitmap ( this , " monitor_upgrade_online " , 5 ) ;
2022-07-15 15:37:19 +00:00
auto ams_sizer = new wxFlexGridSizer ( 0 , 2 , 0 , 0 ) ;
ams_sizer - > AddGrowableCol ( 1 ) ;
ams_sizer - > SetFlexibleDirection ( wxHORIZONTAL ) ;
ams_sizer - > SetNonFlexibleGrowMode ( wxFLEX_GROWMODE_SPECIFIED ) ;
m_staticText_ams = new wxStaticText ( this , wxID_ANY , " - " , wxDefaultPosition , wxDefaultSize , 0 ) ;
2022-11-04 03:28:05 +00:00
m_staticText_ams - > SetForegroundColour ( " #262E30 " ) ;
2022-07-15 15:37:19 +00:00
m_staticText_ams - > SetFont ( Label : : Head_14 ) ;
m_staticText_ams - > Wrap ( - 1 ) ;
auto m_staticText_ams_sn = new wxStaticText ( this , wxID_ANY , _L ( " Serial: " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2022-11-04 03:28:05 +00:00
m_staticText_ams_sn - > SetForegroundColour ( " #262E30 " ) ;
2022-07-15 15:37:19 +00:00
m_staticText_ams_sn - > Wrap ( - 1 ) ;
m_staticText_ams_sn - > SetFont ( Label : : Head_14 ) ;
m_staticText_ams_sn_val = new wxStaticText ( this , wxID_ANY , " - " , wxDefaultPosition , wxDefaultSize , 0 ) ;
2022-11-04 03:28:05 +00:00
m_staticText_ams_sn_val - > SetForegroundColour ( " #262E30 " ) ;
2022-07-15 15:37:19 +00:00
m_staticText_ams_sn_val - > Wrap ( - 1 ) ;
wxBoxSizer * m_ams_ver_sizer = new wxBoxSizer ( wxHORIZONTAL ) ;
m_ams_ver_sizer - > Add ( 0 , 0 , 1 , wxEXPAND , 0 ) ;
m_ams_new_version_img = new wxStaticBitmap ( this , wxID_ANY , wxNullBitmap , wxDefaultPosition , wxSize ( FromDIP ( 5 ) , FromDIP ( 5 ) ) ) ;
2023-05-31 06:55:39 +00:00
m_ams_new_version_img - > SetBitmap ( upgrade_green_icon . bmp ( ) ) ;
2022-07-15 15:37:19 +00:00
m_ams_ver_sizer - > Add ( m_ams_new_version_img , 0 , wxALIGN_CENTER_VERTICAL | wxALL , FromDIP ( 5 ) ) ;
m_ams_new_version_img - > Hide ( ) ;
auto m_staticText_ams_ver = new wxStaticText ( this , wxID_ANY , _L ( " Version: " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_staticText_ams_ver - > Wrap ( - 1 ) ;
m_staticText_ams_ver - > SetFont ( Label : : Head_14 ) ;
2022-11-04 03:28:05 +00:00
m_staticText_ams_ver - > SetForegroundColour ( " #262E30 " ) ;
2022-08-05 06:38:19 +00:00
m_ams_ver_sizer - > Add ( m_staticText_ams_ver , 0 , wxALL , FromDIP ( 5 ) ) ;
2022-07-15 15:37:19 +00:00
m_staticText_ams_ver_val = new wxStaticText ( this , wxID_ANY , " - " , wxDefaultPosition , wxDefaultSize , 0 ) ;
2022-11-04 03:28:05 +00:00
m_staticText_ams_ver_val - > SetForegroundColour ( " #262E30 " ) ;
2022-07-15 15:37:19 +00:00
m_staticText_ams_ver_val - > Wrap ( - 1 ) ;
ams_sizer - > Add ( m_staticText_ams , 0 , wxALIGN_RIGHT | wxALL , FromDIP ( 5 ) ) ;
ams_sizer - > Add ( 0 , 0 , 1 , wxEXPAND , 5 ) ;
ams_sizer - > Add ( m_staticText_ams_sn , 0 , wxALIGN_RIGHT | wxALL , FromDIP ( 5 ) ) ;
ams_sizer - > Add ( m_staticText_ams_sn_val , 0 , wxALL | wxEXPAND , FromDIP ( 5 ) ) ;
ams_sizer - > Add ( m_ams_ver_sizer , 1 , wxEXPAND , 5 ) ;
ams_sizer - > Add ( m_staticText_ams_ver_val , 0 , wxALL | wxEXPAND , FromDIP ( 5 ) ) ;
ams_sizer - > Add ( 0 , 0 , 1 , wxEXPAND , 0 ) ;
SetSizer ( ams_sizer ) ;
Layout ( ) ;
}
AmsPanel : : ~ AmsPanel ( )
{
}
2023-05-31 06:55:39 +00:00
void AmsPanel : : msw_rescale ( ) {
upgrade_green_icon . msw_rescale ( ) ;
m_ams_new_version_img - > SetBitmap ( upgrade_green_icon . bmp ( ) ) ;
}
2022-12-08 02:50:56 +00:00
ExtensionPanel : : ExtensionPanel ( wxWindow * parent ,
wxWindowID id /*= wxID_ANY*/ ,
const wxPoint & pos /*= wxDefaultPosition*/ ,
const wxSize & size /*= wxDefaultSize*/ ,
long style /*= wxTAB_TRAVERSAL*/ ,
const wxString & name /*= wxEmptyString*/ )
: wxPanel ( parent , id , pos , size , style )
{
2023-05-31 06:55:39 +00:00
upgrade_green_icon = ScalableBitmap ( this , " monitor_upgrade_online " , 5 ) ;
2022-12-08 02:50:56 +00:00
auto top_sizer = new wxBoxSizer ( wxVERTICAL ) ;
auto ext_sizer = new wxFlexGridSizer ( 0 , 2 , 0 , 0 ) ;
ext_sizer - > AddGrowableCol ( 1 ) ;
ext_sizer - > SetFlexibleDirection ( wxHORIZONTAL ) ;
ext_sizer - > SetNonFlexibleGrowMode ( wxFLEX_GROWMODE_SPECIFIED ) ;
auto title_sizer = new wxBoxSizer ( wxHORIZONTAL ) ;
m_staticText_ext = new wxStaticText ( this , wxID_ANY , _L ( " Extension Board " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_staticText_ext - > SetForegroundColour ( " #262E30 " ) ;
m_staticText_ext - > SetFont ( Label : : Head_14 ) ;
m_staticText_ext - > Wrap ( - 1 ) ;
title_sizer - > Add ( m_staticText_ext , 0 , wxALL , FromDIP ( 5 ) ) ;
auto m_staticText_ext_sn = new wxStaticText ( this , wxID_ANY , _L ( " Serial: " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_staticText_ext_sn - > SetForegroundColour ( " #262E30 " ) ;
m_staticText_ext_sn - > Wrap ( - 1 ) ;
m_staticText_ext_sn - > SetFont ( Label : : Head_14 ) ;
m_staticText_ext_sn_val = new wxStaticText ( this , wxID_ANY , " - " , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_staticText_ext_sn_val - > SetForegroundColour ( " #262E30 " ) ;
m_staticText_ext_sn_val - > Wrap ( - 1 ) ;
wxBoxSizer * m_ext_ver_sizer = new wxBoxSizer ( wxHORIZONTAL ) ;
m_ext_ver_sizer - > Add ( 0 , 0 , 1 , wxEXPAND , 0 ) ;
m_ext_new_version_img = new wxStaticBitmap ( this , wxID_ANY , wxNullBitmap , wxDefaultPosition , wxSize ( FromDIP ( 5 ) , FromDIP ( 5 ) ) ) ;
2023-05-31 06:55:39 +00:00
m_ext_new_version_img - > SetBitmap ( upgrade_green_icon . bmp ( ) ) ;
2022-12-08 02:50:56 +00:00
m_ext_ver_sizer - > Add ( m_ext_new_version_img , 0 , wxALIGN_CENTER_VERTICAL | wxALL , FromDIP ( 5 ) ) ;
m_ext_new_version_img - > Hide ( ) ;
m_staticText_ext_ver = new wxStaticText ( this , wxID_ANY , _L ( " Version: " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_staticText_ext_ver - > Wrap ( - 1 ) ;
m_staticText_ext_ver - > SetFont ( Label : : Head_14 ) ;
m_staticText_ext_ver - > SetForegroundColour ( " #262E30 " ) ;
m_ext_ver_sizer - > Add ( m_staticText_ext_ver , 0 , wxALL , FromDIP ( 5 ) ) ;
m_staticText_ext_ver_val = new wxStaticText ( this , wxID_ANY , " - " , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_staticText_ext_ver_val - > SetForegroundColour ( " #262E30 " ) ;
m_staticText_ext_ver_val - > Wrap ( - 1 ) ;
ext_sizer - > Add ( m_staticText_ext_sn , 0 , wxALIGN_RIGHT | wxALL , FromDIP ( 5 ) ) ;
ext_sizer - > Add ( m_staticText_ext_sn_val , 0 , wxALL | wxEXPAND , FromDIP ( 5 ) ) ;
ext_sizer - > Add ( m_ext_ver_sizer , 1 , wxEXPAND , FromDIP ( 5 ) ) ;
ext_sizer - > Add ( m_staticText_ext_ver_val , 0 , wxALL | wxEXPAND , FromDIP ( 5 ) ) ;
ext_sizer - > Add ( 0 , 0 , 1 , wxEXPAND , 0 ) ;
top_sizer - > Add ( title_sizer ) ;
top_sizer - > Add ( ext_sizer ) ;
SetSizer ( top_sizer ) ;
Layout ( ) ;
}
ExtensionPanel : : ~ ExtensionPanel ( )
{
}
2023-05-31 06:55:39 +00:00
void ExtensionPanel : : msw_rescale ( )
{
upgrade_green_icon . msw_rescale ( ) ;
m_ext_new_version_img - > SetBitmap ( upgrade_green_icon . bmp ( ) ) ;
}
2023-08-07 07:40:54 +00:00
ExtraAmsPanel : : ExtraAmsPanel ( wxWindow * parent ,
wxWindowID id /*= wxID_ANY*/ ,
const wxPoint & pos /*= wxDefaultPosition*/ ,
const wxSize & size /*= wxDefaultSize*/ ,
long style /*= wxTAB_TRAVERSAL*/ ,
const wxString & name /*= wxEmptyString*/ )
: AmsPanel ( parent , id , pos , size , style )
{
}
2022-07-15 15:37:19 +00:00
}
2022-11-03 02:12:31 +00:00
}