ENH:add ext panel in upgrade
Change-Id: I2832bec3f2b035b3c4e812d61f7bb6efb4676a37 Signed-off-by: Stone Li <stone.li@bambulab.com>
This commit is contained in:
parent
402e03f763
commit
94dd1af6c6
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 172 KiB |
|
@ -111,8 +111,9 @@ MachineInfoPanel::MachineInfoPanel(wxWindow* parent, wxWindowID id, const wxPoin
|
||||||
m_ams_content_sizer->Add(m_ahb_panel, 0, wxEXPAND, 0);
|
m_ams_content_sizer->Add(m_ahb_panel, 0, wxEXPAND, 0);
|
||||||
|
|
||||||
|
|
||||||
m_ams_info_sizer = new wxGridSizer(0, 2, FromDIP(30), FromDIP(30));
|
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);
|
||||||
|
|
||||||
for (auto i = 0; i < 4; i++) {
|
for (auto i = 0; i < 4; i++) {
|
||||||
auto amspanel = new AmsPanel(this, wxID_ANY);
|
auto amspanel = new AmsPanel(this, wxID_ANY);
|
||||||
|
@ -133,6 +134,29 @@ MachineInfoPanel::MachineInfoPanel(wxWindow* parent, wxWindowID id, const wxPoin
|
||||||
//Hide ams
|
//Hide ams
|
||||||
show_ams(false, true);
|
show_ams(false, true);
|
||||||
|
|
||||||
|
|
||||||
|
m_staticline2 = new wxStaticLine(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL);
|
||||||
|
m_staticline2->SetBackgroundColour(wxColour(206, 206, 206));
|
||||||
|
//m_staticline2->Show(false);
|
||||||
|
m_main_left_sizer->Add(m_staticline2, 0, wxEXPAND | wxLEFT, FromDIP(40));
|
||||||
|
|
||||||
|
m_ext_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
|
||||||
|
m_ext_img = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(FromDIP(200), FromDIP(200)));
|
||||||
|
m_ext_img->SetBitmap(m_img_ext);
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
|
||||||
m_main_sizer->Add(m_main_left_sizer, 1, wxEXPAND, 0);
|
m_main_sizer->Add(m_main_left_sizer, 1, wxEXPAND, 0);
|
||||||
|
|
||||||
wxBoxSizer *m_main_right_sizer = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer *m_main_right_sizer = new wxBoxSizer(wxVERTICAL);
|
||||||
|
@ -250,6 +274,7 @@ void MachineInfoPanel::msw_rescale()
|
||||||
m_button_upgrade_firmware->SetMaxSize(wxSize(FromDIP(-1), FromDIP(24)));
|
m_button_upgrade_firmware->SetMaxSize(wxSize(FromDIP(-1), FromDIP(24)));
|
||||||
m_printer_img->SetBitmap(m_img_printer);
|
m_printer_img->SetBitmap(m_img_printer);
|
||||||
m_ams_img->SetBitmap(m_img_monitor_ams);
|
m_ams_img->SetBitmap(m_img_monitor_ams);
|
||||||
|
m_ext_img->SetBitmap(m_img_ext);
|
||||||
Layout();
|
Layout();
|
||||||
Fit();
|
Fit();
|
||||||
}
|
}
|
||||||
|
@ -258,6 +283,7 @@ void MachineInfoPanel::init_bitmaps()
|
||||||
{
|
{
|
||||||
m_img_printer = create_scaled_bitmap("monitor_upgrade_printer", nullptr, 200);
|
m_img_printer = create_scaled_bitmap("monitor_upgrade_printer", nullptr, 200);
|
||||||
m_img_monitor_ams = create_scaled_bitmap("monitor_upgrade_ams", nullptr, 200);
|
m_img_monitor_ams = create_scaled_bitmap("monitor_upgrade_ams", nullptr, 200);
|
||||||
|
m_img_ext = create_scaled_bitmap("monitor_upgrade_ext", nullptr, 200);
|
||||||
upgrade_green_icon = create_scaled_bitmap("monitor_upgrade_online", nullptr, 5);
|
upgrade_green_icon = create_scaled_bitmap("monitor_upgrade_online", nullptr, 5);
|
||||||
upgrade_gray_icon = create_scaled_bitmap("monitor_upgrade_offline", nullptr, 5);
|
upgrade_gray_icon = create_scaled_bitmap("monitor_upgrade_offline", nullptr, 5);
|
||||||
upgrade_yellow_icon = create_scaled_bitmap("monitor_upgrade_busy", nullptr, 5);
|
upgrade_yellow_icon = create_scaled_bitmap("monitor_upgrade_busy", nullptr, 5);
|
||||||
|
@ -307,8 +333,8 @@ void MachineInfoPanel::update(MachineObject* obj)
|
||||||
// update version
|
// update version
|
||||||
update_version_text(obj);
|
update_version_text(obj);
|
||||||
|
|
||||||
// update ams
|
// update ams and extension
|
||||||
update_ams(obj);
|
update_ams_ext(obj);
|
||||||
|
|
||||||
//update progress
|
//update progress
|
||||||
int upgrade_percent = obj->get_upgrade_percent();
|
int upgrade_percent = obj->get_upgrade_percent();
|
||||||
|
@ -389,7 +415,7 @@ void MachineInfoPanel::update_version_text(MachineObject* obj)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MachineInfoPanel::update_ams(MachineObject *obj)
|
void MachineInfoPanel::update_ams_ext(MachineObject *obj)
|
||||||
{
|
{
|
||||||
bool has_hub_model = false;
|
bool has_hub_model = false;
|
||||||
|
|
||||||
|
@ -577,7 +603,40 @@ void MachineInfoPanel::update_ams(MachineObject *obj)
|
||||||
if (!has_hub_model) { show_ams(false); }
|
if (!has_hub_model) { show_ams(false); }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//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);
|
||||||
|
}
|
||||||
|
|
||||||
this->Layout();
|
this->Layout();
|
||||||
|
this->Fit();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MachineInfoPanel::show_status(int status, std::string upgrade_status_str)
|
void MachineInfoPanel::show_status(int status, std::string upgrade_status_str)
|
||||||
|
@ -653,6 +712,17 @@ void MachineInfoPanel::show_ams(bool show, bool force_update)
|
||||||
m_last_ams_show = show;
|
m_last_ams_show = show;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
void MachineInfoPanel::upgrade_firmware_internal() {
|
void MachineInfoPanel::upgrade_firmware_internal() {
|
||||||
if (!m_obj)
|
if (!m_obj)
|
||||||
return;
|
return;
|
||||||
|
@ -954,5 +1024,72 @@ bool UpgradePanel::Show(bool show)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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)
|
||||||
|
{
|
||||||
|
auto upgrade_green_icon = create_scaled_bitmap("monitor_upgrade_online", nullptr, 5);
|
||||||
|
|
||||||
|
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)));
|
||||||
|
m_ext_new_version_img->SetBitmap(upgrade_green_icon);
|
||||||
|
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()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,26 @@
|
||||||
namespace Slic3r {
|
namespace Slic3r {
|
||||||
namespace GUI {
|
namespace GUI {
|
||||||
|
|
||||||
|
class ExtensionPanel : public wxPanel
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
wxStaticText* m_staticText_ext;
|
||||||
|
wxStaticText* m_staticText_ext_ver;
|
||||||
|
wxStaticText* m_staticText_ext_ver_val;
|
||||||
|
wxStaticText* m_staticText_ext_sn_val;
|
||||||
|
|
||||||
|
wxStaticBitmap* m_ext_new_version_img;
|
||||||
|
|
||||||
|
ExtensionPanel(wxWindow* parent,
|
||||||
|
wxWindowID id = wxID_ANY,
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
long style = wxTAB_TRAVERSAL,
|
||||||
|
const wxString& name = wxEmptyString);
|
||||||
|
~ExtensionPanel();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
class AmsPanel : public wxPanel
|
class AmsPanel : public wxPanel
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -50,14 +70,20 @@ protected:
|
||||||
wxStaticLine * m_staticline;
|
wxStaticLine * m_staticline;
|
||||||
wxStaticBitmap *m_ams_img;
|
wxStaticBitmap *m_ams_img;
|
||||||
AmsPanel* m_ahb_panel;
|
AmsPanel* m_ahb_panel;
|
||||||
|
wxStaticLine* m_staticline2;
|
||||||
|
wxStaticBitmap* m_ext_img;
|
||||||
|
ExtensionPanel* m_ext_panel;
|
||||||
|
|
||||||
|
wxFlexGridSizer* m_ams_info_sizer;
|
||||||
wxGridSizer * m_ams_info_sizer;
|
|
||||||
|
|
||||||
/* ams info */
|
/* ams info */
|
||||||
bool m_last_ams_show = true;
|
bool m_last_ams_show = true;
|
||||||
wxBoxSizer* m_ams_sizer;
|
wxBoxSizer* m_ams_sizer;
|
||||||
|
|
||||||
|
/* extension info */
|
||||||
|
bool m_last_ext_show = true;
|
||||||
|
wxBoxSizer* m_ext_sizer;
|
||||||
|
|
||||||
/* upgrade widgets */
|
/* upgrade widgets */
|
||||||
wxBoxSizer* m_upgrading_sizer;
|
wxBoxSizer* m_upgrading_sizer;
|
||||||
wxStaticText * m_staticText_upgrading_info;
|
wxStaticText * m_staticText_upgrading_info;
|
||||||
|
@ -70,6 +96,7 @@ protected:
|
||||||
wxPanel* create_caption_panel(wxWindow *parent);
|
wxPanel* create_caption_panel(wxWindow *parent);
|
||||||
AmsPanelHash m_amspanel_list;
|
AmsPanelHash m_amspanel_list;
|
||||||
|
|
||||||
|
wxBitmap m_img_ext;
|
||||||
wxBitmap m_img_monitor_ams;
|
wxBitmap m_img_monitor_ams;
|
||||||
wxBitmap m_img_printer;
|
wxBitmap m_img_printer;
|
||||||
wxBitmap upgrade_gray_icon;
|
wxBitmap upgrade_gray_icon;
|
||||||
|
@ -96,9 +123,10 @@ public:
|
||||||
void msw_rescale();
|
void msw_rescale();
|
||||||
void update(MachineObject *obj);
|
void update(MachineObject *obj);
|
||||||
void update_version_text(MachineObject *obj);
|
void update_version_text(MachineObject *obj);
|
||||||
void update_ams(MachineObject *obj);
|
void update_ams_ext(MachineObject *obj);
|
||||||
void show_status(int status, std::string upgrade_status_str = "");
|
void show_status(int status, std::string upgrade_status_str = "");
|
||||||
void show_ams(bool show = false, bool force_update = false);
|
void show_ams(bool show = false, bool force_update = false);
|
||||||
|
void show_ext(bool show = false, bool force_update = false);
|
||||||
|
|
||||||
void on_upgrade_firmware(wxCommandEvent &event);
|
void on_upgrade_firmware(wxCommandEvent &event);
|
||||||
void on_consisitency_upgrade_firmware(wxCommandEvent &event);
|
void on_consisitency_upgrade_firmware(wxCommandEvent &event);
|
||||||
|
|
Loading…
Reference in New Issue