ENH:folding filament loading area

jira:[STUDIO-9598]

Change-Id: If5c1bd12aa3307f0bda640361352f079a1851b91
This commit is contained in:
tao wang 2025-01-08 22:10:14 +08:00 committed by lane.wei
parent 1c1b366d00
commit ff4fc92c6c
4 changed files with 68 additions and 15 deletions

View File

@ -0,0 +1,3 @@
<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.1947 16.7016C12.8466 17.0497 12.2835 17.0497 11.9391 16.7016L4.82363 9.58984C4.47545 9.24166 4.47545 8.67865 4.82363 8.33417C5.17181 7.9897 5.73482 7.986 6.0793 8.33417L12.5613 14.8162L19.0471 8.33047C19.3953 7.98229 19.9583 7.98229 20.3028 8.33047C20.6472 8.67865 20.6509 9.24166 20.3028 9.58613L13.1947 16.7016Z" fill="#00AE42"/>
</svg>

After

Width:  |  Height:  |  Size: 448 B

View File

@ -0,0 +1,3 @@
<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M17.1947 11.4371C17.5429 11.7853 17.5429 12.3483 17.1947 12.6928L10.083 19.8082C9.73482 20.1564 9.17181 20.1564 8.82734 19.8082C8.48286 19.46 8.47916 18.897 8.82734 18.5525L15.3094 12.0705L8.82363 5.58475C8.47546 5.23657 8.47546 4.67356 8.82363 4.32908C9.17181 3.98461 9.73482 3.9809 10.0793 4.32908L17.1947 11.4371Z" fill="#00AE42"/>
</svg>

After

Width:  |  Height:  |  Size: 447 B

View File

@ -1971,24 +1971,51 @@ wxBoxSizer *StatusBasePanel::create_ams_group(wxWindow *parent)
wxBoxSizer* StatusBasePanel::create_filament_group(wxWindow* parent)
{
auto sizer = new wxBoxSizer(wxVERTICAL);
auto sizer_box = new wxBoxSizer(wxVERTICAL);
m_filament_load_box = new StaticBox(parent);
auto sizer_scale_panel = new wxBoxSizer(wxHORIZONTAL);
m_scale_panel = new wxPanel(parent);
m_scale_panel->SetMinSize(wxSize(FromDIP(586), FromDIP(50)));
m_scale_panel->SetMaxSize(wxSize(FromDIP(586), FromDIP(50)));
m_scale_panel->SetBackgroundColour(*wxWHITE);
auto m_title_filament_loading = new Label(m_scale_panel, _L("Filament loading..."));
m_title_filament_loading->SetBackgroundColour(*wxWHITE);
m_title_filament_loading->SetForegroundColour(wxColour(27, 136, 68));
m_title_filament_loading->SetFont(::Label::Body_14);
m_img_filament_loading = new wxStaticBitmap(m_scale_panel, wxID_ANY, create_scaled_bitmap("filament_load_fold", this, 24), wxDefaultPosition, wxSize(FromDIP(24), FromDIP(24)), 0);
sizer_scale_panel->Add(0, 0, 0, wxLEFT, FromDIP(20));
sizer_scale_panel->Add(m_title_filament_loading, 0, wxALIGN_CENTER, 0);
sizer_scale_panel->Add(m_img_filament_loading, 0, wxALIGN_CENTER, 0);
m_scale_panel->SetSizer(sizer_scale_panel);
m_scale_panel->Layout();
m_scale_panel->Fit();
m_scale_panel->Hide();
m_title_filament_loading->Bind(wxEVT_LEFT_DOWN, &StatusBasePanel::expand_filament_loading, this);
m_scale_panel->Bind(wxEVT_LEFT_DOWN, &StatusBasePanel::expand_filament_loading, this);
auto sizer_box = new wxBoxSizer(wxVERTICAL);
StateColor box_colour(std::pair<wxColour, int>(*wxWHITE, StateColor::Normal));
StateColor box_border_colour(std::pair<wxColour, int>(STATUS_PANEL_BG, StateColor::Normal));
m_filament_load_box = new StaticBox(parent);
m_filament_load_box->SetBackgroundColor(box_colour);
m_filament_load_box->SetBorderColor(box_border_colour);
m_filament_load_box->SetCornerRadius(5);
m_filament_load_box->SetMinSize(wxSize(FromDIP(586), -1));
m_filament_load_box->SetMaxSize(wxSize(FromDIP(586), -1));
m_filament_load_box->SetBackgroundColour(*wxWHITE);
m_filament_load_box->SetSizer(sizer_box);
m_filament_step = new FilamentLoad(m_filament_load_box, wxID_ANY);
m_filament_step->SetDoubleBuffered(true);
m_filament_step->set_min_size(wxSize(wxSize(FromDIP(576), FromDIP(215))));
m_filament_step->set_max_size(wxSize(wxSize(FromDIP(576), FromDIP(215))));
m_filament_step->set_min_size(wxSize(wxSize(FromDIP(570), FromDIP(215))));
m_filament_step->set_max_size(wxSize(wxSize(FromDIP(570), FromDIP(215))));
m_filament_step->SetBackgroundColour(*wxWHITE);
StateColor btn_bd_white(std::pair<wxColour, int>(wxColour(255, 255, 254), StateColor::Disabled), std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Enabled));
@ -2003,6 +2030,7 @@ wxBoxSizer* StatusBasePanel::create_filament_group(wxWindow* parent)
m_button_retry->SetTextColor(btn_text_white);
m_button_retry->SetMinSize(wxSize(FromDIP(80), FromDIP(31)));
m_button_retry->SetBackgroundColor(btn_bg_white);
//m_button_retry->Hide();
m_button_retry->Bind(wxEVT_BUTTON, [this](wxCommandEvent &e) {
BOOST_LOG_TRIVIAL(info) << "on_ams_retry";
@ -2015,13 +2043,33 @@ wxBoxSizer* StatusBasePanel::create_filament_group(wxWindow* parent)
sizer_box->Add(m_button_retry, 0, wxLEFT, FromDIP(28));
sizer_box->Add(0, 0, 0, wxTOP, FromDIP(10));
m_filament_load_box->SetBackgroundColour(*wxWHITE);
m_filament_load_box->SetSizer(sizer_box);
m_filament_load_box->Layout();
m_filament_load_box->Fit();
m_filament_load_box->Hide();
sizer->Add(m_scale_panel, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 0);
sizer->Add(m_filament_load_box, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 0);
return sizer;
}
void StatusBasePanel::expand_filament_loading(wxMouseEvent& e)
{
auto tag_show = false;
if (m_filament_load_box->IsShown()) {
tag_show = false;
m_img_filament_loading->SetBitmap(create_scaled_bitmap("filament_load_fold", this, 24));
} else {
tag_show = true;
m_img_filament_loading->SetBitmap(create_scaled_bitmap("filament_load_expand", this, 24));
}
m_filament_load_box->Show(tag_show);
///m_button_retry->Show(tag_show);
m_filament_step->Show(tag_show);
Layout();
Fit();
wxGetApp().mainframe->m_monitor->get_status_panel()->Layout();
wxGetApp().mainframe->m_monitor->Layout();
}
void StatusBasePanel::show_ams_group(bool show)
{
if (m_ams_control->IsShown() != show) {
@ -2047,16 +2095,12 @@ void StatusBasePanel::show_ams_group(bool show)
void StatusBasePanel::show_filament_load_group(bool show)
{
if (m_filament_load_box->IsShown() != show) {
m_filament_load_box->Show(show);
m_button_retry->Show(show);
}
if (m_filament_step->IsShown() != show) {
m_filament_step->Show(show);
}
if (m_show_filament_group != show ) {
if (!show) {
m_filament_load_box->Show(show);
m_img_filament_loading->SetBitmap(create_scaled_bitmap("filament_load_fold", this, 24));
}
m_scale_panel->Show(show);
m_show_filament_group = show;
Layout();
Fit();

View File

@ -481,6 +481,8 @@ protected:
StepIndicator* m_calibration_flow;
wxPanel * m_machine_ctrl_panel;
wxPanel * m_scale_panel;
wxStaticBitmap* m_img_filament_loading;
PrintingTaskPanel * m_project_task_panel;
FilamentLoad* m_filament_step;
@ -534,7 +536,8 @@ public:
wxBoxSizer *create_settings_group(wxWindow *parent);
wxBoxSizer* create_filament_group(wxWindow* parent);
void show_ams_group(bool show = true);
void expand_filament_loading(wxMouseEvent &e);
void show_ams_group(bool show = true);
void show_filament_load_group(bool show = true);
MediaPlayCtrl* get_media_play_ctrl() {return m_media_play_ctrl;};
};