FIX: flowrate fine cali lacks a sending progressbar
Jira: STUDIO-4013 Change-Id: I794ce788fc6048e11abe762b54aaabe7a904d76f
This commit is contained in:
parent
0c1d536925
commit
47edbfb34f
|
@ -512,8 +512,8 @@ void CalibrationPanel::update_print_error_info(int code, std::string msg, std::s
|
|||
auto page = m_cali_panels[curr_selected]->get_curr_step()->page;
|
||||
if(page && page->get_page_type() == CaliPageType::CALI_PAGE_PRESET){
|
||||
auto preset_page = static_cast<CalibrationPresetPage*>(page);
|
||||
if (preset_page->get_page_status() == CaliPresetPageStatus::CaliPresetStatusSending)
|
||||
preset_page->update_print_error_info(code, msg, extra);
|
||||
//if (preset_page->get_page_status() == CaliPresetPageStatus::CaliPresetStatusSending)
|
||||
// ;// preset_page->update_print_error_info(code, msg, extra);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -754,6 +754,152 @@ void CaliPageActionPanel::enable_button(CaliPageActionType action_type, bool ena
|
|||
}
|
||||
}
|
||||
|
||||
CaliPageSendingPanel::CaliPageSendingPanel(wxWindow* parent, /*CalibMode cali_mode, CaliPageType page_type, */wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
|
||||
{
|
||||
SetBackgroundColour(*wxWHITE);
|
||||
SetMinSize({ FromDIP(475), FromDIP(200) });
|
||||
SetMaxSize({ FromDIP(475), FromDIP(200) });
|
||||
|
||||
create(this);
|
||||
|
||||
Bind(EVT_SHOW_ERROR_INFO, [this](auto& e) {
|
||||
show_send_failed_info(true);
|
||||
});
|
||||
}
|
||||
|
||||
void CaliPageSendingPanel::create(wxWindow* parent)
|
||||
{
|
||||
auto panel_sizer = new wxBoxSizer(wxVERTICAL);
|
||||
parent->SetSizer(panel_sizer);
|
||||
|
||||
m_send_progress_bar = std::shared_ptr<BBLStatusBarSend>(new BBLStatusBarSend(parent));
|
||||
panel_sizer->Add(m_send_progress_bar->get_panel(), 0, wxEXPAND);
|
||||
|
||||
m_sw_print_failed_info = new wxScrolledWindow(parent, wxID_ANY, wxDefaultPosition, wxSize(FromDIP(380), FromDIP(125)), wxVSCROLL);
|
||||
m_sw_print_failed_info->SetBackgroundColour(*wxWHITE);
|
||||
m_sw_print_failed_info->SetScrollRate(0, 5);
|
||||
m_sw_print_failed_info->SetMinSize(wxSize(FromDIP(380), FromDIP(125)));
|
||||
m_sw_print_failed_info->SetMaxSize(wxSize(FromDIP(380), FromDIP(125)));
|
||||
|
||||
m_sw_print_failed_info->Hide();
|
||||
|
||||
panel_sizer->Add(m_sw_print_failed_info, 0, wxEXPAND);
|
||||
|
||||
// create error info panel
|
||||
wxBoxSizer* sizer_print_failed_info = new wxBoxSizer(wxVERTICAL);
|
||||
m_sw_print_failed_info->SetSizer(sizer_print_failed_info);
|
||||
|
||||
wxBoxSizer* sizer_error_code = new wxBoxSizer(wxHORIZONTAL);
|
||||
wxBoxSizer* sizer_error_desc = new wxBoxSizer(wxHORIZONTAL);
|
||||
wxBoxSizer* sizer_extra_info = new wxBoxSizer(wxHORIZONTAL);
|
||||
|
||||
auto st_title_error_code = new Label(m_sw_print_failed_info, _L("Error code"));
|
||||
auto st_title_error_code_doc = new Label(m_sw_print_failed_info, ": ");
|
||||
m_st_txt_error_code = new Label(m_sw_print_failed_info, wxEmptyString);
|
||||
st_title_error_code->SetForegroundColour(0x909090);
|
||||
st_title_error_code_doc->SetForegroundColour(0x909090);
|
||||
m_st_txt_error_code->SetForegroundColour(0x909090);
|
||||
st_title_error_code->SetFont(::Label::Body_13);
|
||||
st_title_error_code_doc->SetFont(::Label::Body_13);
|
||||
m_st_txt_error_code->SetFont(::Label::Body_13);
|
||||
st_title_error_code->SetMinSize(wxSize(FromDIP(74), -1));
|
||||
st_title_error_code->SetMaxSize(wxSize(FromDIP(74), -1));
|
||||
m_st_txt_error_code->SetMinSize(wxSize(FromDIP(260), -1));
|
||||
m_st_txt_error_code->SetMaxSize(wxSize(FromDIP(260), -1));
|
||||
sizer_error_code->Add(st_title_error_code, 0, wxALL, 0);
|
||||
sizer_error_code->Add(st_title_error_code_doc, 0, wxALL, 0);
|
||||
sizer_error_code->Add(m_st_txt_error_code, 0, wxALL, 0);
|
||||
|
||||
auto st_title_error_desc = new Label(m_sw_print_failed_info, _L("Error desc"));
|
||||
auto st_title_error_desc_doc = new Label(m_sw_print_failed_info, ": ");
|
||||
m_st_txt_error_desc = new Label(m_sw_print_failed_info, wxEmptyString);
|
||||
st_title_error_desc->SetForegroundColour(0x909090);
|
||||
st_title_error_desc_doc->SetForegroundColour(0x909090);
|
||||
m_st_txt_error_desc->SetForegroundColour(0x909090);
|
||||
st_title_error_desc->SetFont(::Label::Body_13);
|
||||
st_title_error_desc_doc->SetFont(::Label::Body_13);
|
||||
m_st_txt_error_desc->SetFont(::Label::Body_13);
|
||||
st_title_error_desc->SetMinSize(wxSize(FromDIP(74), -1));
|
||||
st_title_error_desc->SetMaxSize(wxSize(FromDIP(74), -1));
|
||||
m_st_txt_error_desc->SetMinSize(wxSize(FromDIP(260), -1));
|
||||
m_st_txt_error_desc->SetMaxSize(wxSize(FromDIP(260), -1));
|
||||
sizer_error_desc->Add(st_title_error_desc, 0, wxALL, 0);
|
||||
sizer_error_desc->Add(st_title_error_desc_doc, 0, wxALL, 0);
|
||||
sizer_error_desc->Add(m_st_txt_error_desc, 0, wxALL, 0);
|
||||
|
||||
auto st_title_extra_info = new Label(m_sw_print_failed_info, _L("Extra info"));
|
||||
auto st_title_extra_info_doc = new Label(m_sw_print_failed_info, ": ");
|
||||
m_st_txt_extra_info = new Label(m_sw_print_failed_info, wxEmptyString);
|
||||
st_title_extra_info->SetForegroundColour(0x909090);
|
||||
st_title_extra_info_doc->SetForegroundColour(0x909090);
|
||||
m_st_txt_extra_info->SetForegroundColour(0x909090);
|
||||
st_title_extra_info->SetFont(::Label::Body_13);
|
||||
st_title_extra_info_doc->SetFont(::Label::Body_13);
|
||||
m_st_txt_extra_info->SetFont(::Label::Body_13);
|
||||
st_title_extra_info->SetMinSize(wxSize(FromDIP(74), -1));
|
||||
st_title_extra_info->SetMaxSize(wxSize(FromDIP(74), -1));
|
||||
m_st_txt_extra_info->SetMinSize(wxSize(FromDIP(260), -1));
|
||||
m_st_txt_extra_info->SetMaxSize(wxSize(FromDIP(260), -1));
|
||||
sizer_extra_info->Add(st_title_extra_info, 0, wxALL, 0);
|
||||
sizer_extra_info->Add(st_title_extra_info_doc, 0, wxALL, 0);
|
||||
sizer_extra_info->Add(m_st_txt_extra_info, 0, wxALL, 0);
|
||||
|
||||
sizer_print_failed_info->Add(sizer_error_code, 0, wxLEFT, 5);
|
||||
sizer_print_failed_info->Add(0, 0, 0, wxTOP, FromDIP(3));
|
||||
sizer_print_failed_info->Add(sizer_error_desc, 0, wxLEFT, 5);
|
||||
sizer_print_failed_info->Add(0, 0, 0, wxTOP, FromDIP(3));
|
||||
sizer_print_failed_info->Add(sizer_extra_info, 0, wxLEFT, 5);
|
||||
}
|
||||
|
||||
void CaliPageSendingPanel::update_print_error_info(int code, const std::string& msg, const std::string& extra)
|
||||
{
|
||||
m_print_error_code = code;
|
||||
m_print_error_msg = msg;
|
||||
m_print_error_extra = extra;
|
||||
}
|
||||
|
||||
void CaliPageSendingPanel::show_send_failed_info(bool show, int code, wxString description, wxString extra)
|
||||
{
|
||||
if (show) {
|
||||
if (!m_sw_print_failed_info->IsShown()) {
|
||||
m_sw_print_failed_info->Show(true);
|
||||
|
||||
m_st_txt_error_code->SetLabelText(wxString::Format("%d", m_print_error_code));
|
||||
m_st_txt_error_desc->SetLabelText(wxGetApp().filter_string(m_print_error_msg));
|
||||
m_st_txt_extra_info->SetLabelText(wxGetApp().filter_string(m_print_error_extra));
|
||||
|
||||
m_st_txt_error_code->Wrap(FromDIP(260));
|
||||
m_st_txt_error_desc->Wrap(FromDIP(260));
|
||||
m_st_txt_extra_info->Wrap(FromDIP(260));
|
||||
}
|
||||
else {
|
||||
m_sw_print_failed_info->Show(false);
|
||||
}
|
||||
Layout();
|
||||
Fit();
|
||||
}
|
||||
else {
|
||||
if (!m_sw_print_failed_info->IsShown()) { return; }
|
||||
m_sw_print_failed_info->Show(false);
|
||||
m_st_txt_error_code->SetLabelText(wxEmptyString);
|
||||
m_st_txt_error_desc->SetLabelText(wxEmptyString);
|
||||
m_st_txt_extra_info->SetLabelText(wxEmptyString);
|
||||
Layout();
|
||||
Fit();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<BBLStatusBarSend> CaliPageSendingPanel::get_sending_progress_bar()
|
||||
{
|
||||
return m_send_progress_bar;
|
||||
}
|
||||
|
||||
void CaliPageSendingPanel::reset()
|
||||
{
|
||||
m_send_progress_bar->reset();
|
||||
m_sw_print_failed_info->Show(false);
|
||||
}
|
||||
|
||||
CalibrationWizardPage::CalibrationWizardPage(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
|
||||
: wxPanel(parent, id, pos, size, style)
|
||||
, m_parent(parent)
|
||||
|
@ -771,4 +917,5 @@ void CalibrationWizardPage::on_sys_color_changed()
|
|||
m_page_caption->on_sys_color_changed();
|
||||
}
|
||||
|
||||
}}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -222,6 +222,33 @@ private:
|
|||
CaliPageActionType m_action_type;
|
||||
};
|
||||
|
||||
class CaliPageSendingPanel : public wxPanel
|
||||
{
|
||||
public:
|
||||
CaliPageSendingPanel(wxWindow* parent,
|
||||
//CalibMode cali_mode,
|
||||
//CaliPageType page_type,
|
||||
wxWindowID id = wxID_ANY,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxTAB_TRAVERSAL);
|
||||
void create(wxWindow* parent);
|
||||
void update_print_error_info(int code, const std::string& msg, const std::string& extra);
|
||||
void show_send_failed_info(bool show, int code = 0, wxString description = wxEmptyString, wxString extra = wxEmptyString);
|
||||
std::shared_ptr<BBLStatusBarSend> get_sending_progress_bar();
|
||||
void reset();
|
||||
|
||||
private:
|
||||
std::shared_ptr<BBLStatusBarSend> m_send_progress_bar;
|
||||
wxScrolledWindow* m_sw_print_failed_info{ nullptr };
|
||||
Label* m_st_txt_error_code{ nullptr };
|
||||
Label* m_st_txt_error_desc{ nullptr };
|
||||
Label* m_st_txt_extra_info{ nullptr };
|
||||
int m_print_error_code;
|
||||
std::string m_print_error_msg;
|
||||
std::string m_print_error_extra;
|
||||
};
|
||||
|
||||
class CaliPageActionPanel : public wxPanel
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -633,108 +633,6 @@ void CalibrationPresetPage::create_ext_spool_panel(wxWindow* parent)
|
|||
});
|
||||
}
|
||||
|
||||
void CalibrationPresetPage::create_sending_panel(wxWindow* parent)
|
||||
{
|
||||
parent->SetMinSize({ FromDIP(475), FromDIP(200) });
|
||||
parent->SetMaxSize({ FromDIP(475), FromDIP(200) });
|
||||
|
||||
auto panel_sizer = new wxBoxSizer(wxVERTICAL);
|
||||
parent->SetSizer(panel_sizer);
|
||||
|
||||
m_send_progress_bar = std::shared_ptr<BBLStatusBarSend>(new BBLStatusBarSend(parent));
|
||||
m_send_progress_bar->set_cancel_callback_fina([this]() {
|
||||
BOOST_LOG_TRIVIAL(info) << "CalibrationWizard::print_job: enter canceled";
|
||||
if (CalibUtils::print_job) {
|
||||
if (CalibUtils::print_job->is_running()) {
|
||||
BOOST_LOG_TRIVIAL(info) << "calibration_print_job: canceled";
|
||||
CalibUtils::print_job->cancel();
|
||||
}
|
||||
CalibUtils::print_job->join();
|
||||
}
|
||||
show_status(CaliPresetStatusNormal);
|
||||
});
|
||||
panel_sizer->Add(m_send_progress_bar->get_panel(), 0, wxEXPAND);
|
||||
|
||||
m_sw_print_failed_info = new wxScrolledWindow(parent, wxID_ANY, wxDefaultPosition, wxSize(FromDIP(380), FromDIP(125)), wxVSCROLL);
|
||||
m_sw_print_failed_info->SetBackgroundColour(*wxWHITE);
|
||||
m_sw_print_failed_info->SetScrollRate(0, 5);
|
||||
m_sw_print_failed_info->SetMinSize(wxSize(FromDIP(380), FromDIP(125)));
|
||||
m_sw_print_failed_info->SetMaxSize(wxSize(FromDIP(380), FromDIP(125)));
|
||||
|
||||
m_sw_print_failed_info->Hide();
|
||||
|
||||
panel_sizer->Add(m_sw_print_failed_info, 0, wxEXPAND);
|
||||
|
||||
// create error info panel
|
||||
wxBoxSizer* sizer_print_failed_info = new wxBoxSizer(wxVERTICAL);
|
||||
m_sw_print_failed_info->SetSizer(sizer_print_failed_info);
|
||||
|
||||
wxBoxSizer* sizer_error_code = new wxBoxSizer(wxHORIZONTAL);
|
||||
wxBoxSizer* sizer_error_desc = new wxBoxSizer(wxHORIZONTAL);
|
||||
wxBoxSizer* sizer_extra_info = new wxBoxSizer(wxHORIZONTAL);
|
||||
|
||||
auto st_title_error_code = new Label(m_sw_print_failed_info, _L("Error code"));
|
||||
auto st_title_error_code_doc = new Label(m_sw_print_failed_info, ": ");
|
||||
m_st_txt_error_code = new Label(m_sw_print_failed_info, wxEmptyString);
|
||||
st_title_error_code->SetForegroundColour(0x909090);
|
||||
st_title_error_code_doc->SetForegroundColour(0x909090);
|
||||
m_st_txt_error_code->SetForegroundColour(0x909090);
|
||||
st_title_error_code->SetFont(::Label::Body_13);
|
||||
st_title_error_code_doc->SetFont(::Label::Body_13);
|
||||
m_st_txt_error_code->SetFont(::Label::Body_13);
|
||||
st_title_error_code->SetMinSize(wxSize(FromDIP(74), -1));
|
||||
st_title_error_code->SetMaxSize(wxSize(FromDIP(74), -1));
|
||||
m_st_txt_error_code->SetMinSize(wxSize(FromDIP(260), -1));
|
||||
m_st_txt_error_code->SetMaxSize(wxSize(FromDIP(260), -1));
|
||||
sizer_error_code->Add(st_title_error_code, 0, wxALL, 0);
|
||||
sizer_error_code->Add(st_title_error_code_doc, 0, wxALL, 0);
|
||||
sizer_error_code->Add(m_st_txt_error_code, 0, wxALL, 0);
|
||||
|
||||
auto st_title_error_desc = new Label(m_sw_print_failed_info, _L("Error desc"));
|
||||
auto st_title_error_desc_doc = new Label(m_sw_print_failed_info, ": ");
|
||||
m_st_txt_error_desc = new Label(m_sw_print_failed_info, wxEmptyString);
|
||||
st_title_error_desc->SetForegroundColour(0x909090);
|
||||
st_title_error_desc_doc->SetForegroundColour(0x909090);
|
||||
m_st_txt_error_desc->SetForegroundColour(0x909090);
|
||||
st_title_error_desc->SetFont(::Label::Body_13);
|
||||
st_title_error_desc_doc->SetFont(::Label::Body_13);
|
||||
m_st_txt_error_desc->SetFont(::Label::Body_13);
|
||||
st_title_error_desc->SetMinSize(wxSize(FromDIP(74), -1));
|
||||
st_title_error_desc->SetMaxSize(wxSize(FromDIP(74), -1));
|
||||
m_st_txt_error_desc->SetMinSize(wxSize(FromDIP(260), -1));
|
||||
m_st_txt_error_desc->SetMaxSize(wxSize(FromDIP(260), -1));
|
||||
sizer_error_desc->Add(st_title_error_desc, 0, wxALL, 0);
|
||||
sizer_error_desc->Add(st_title_error_desc_doc, 0, wxALL, 0);
|
||||
sizer_error_desc->Add(m_st_txt_error_desc, 0, wxALL, 0);
|
||||
|
||||
auto st_title_extra_info = new Label(m_sw_print_failed_info, _L("Extra info"));
|
||||
auto st_title_extra_info_doc = new Label(m_sw_print_failed_info, ": ");
|
||||
m_st_txt_extra_info = new Label(m_sw_print_failed_info, wxEmptyString);
|
||||
st_title_extra_info->SetForegroundColour(0x909090);
|
||||
st_title_extra_info_doc->SetForegroundColour(0x909090);
|
||||
m_st_txt_extra_info->SetForegroundColour(0x909090);
|
||||
st_title_extra_info->SetFont(::Label::Body_13);
|
||||
st_title_extra_info_doc->SetFont(::Label::Body_13);
|
||||
m_st_txt_extra_info->SetFont(::Label::Body_13);
|
||||
st_title_extra_info->SetMinSize(wxSize(FromDIP(74), -1));
|
||||
st_title_extra_info->SetMaxSize(wxSize(FromDIP(74), -1));
|
||||
m_st_txt_extra_info->SetMinSize(wxSize(FromDIP(260), -1));
|
||||
m_st_txt_extra_info->SetMaxSize(wxSize(FromDIP(260), -1));
|
||||
sizer_extra_info->Add(st_title_extra_info, 0, wxALL, 0);
|
||||
sizer_extra_info->Add(st_title_extra_info_doc, 0, wxALL, 0);
|
||||
sizer_extra_info->Add(m_st_txt_extra_info, 0, wxALL, 0);
|
||||
|
||||
sizer_print_failed_info->Add(sizer_error_code, 0, wxLEFT, 5);
|
||||
sizer_print_failed_info->Add(0, 0, 0, wxTOP, FromDIP(3));
|
||||
sizer_print_failed_info->Add(sizer_error_desc, 0, wxLEFT, 5);
|
||||
sizer_print_failed_info->Add(0, 0, 0, wxTOP, FromDIP(3));
|
||||
sizer_print_failed_info->Add(sizer_extra_info, 0, wxLEFT, 5);
|
||||
|
||||
Bind(EVT_SHOW_ERROR_INFO, [this](auto& e) {
|
||||
show_send_failed_info(true);
|
||||
});
|
||||
}
|
||||
|
||||
void CalibrationPresetPage::create_page(wxWindow* parent)
|
||||
{
|
||||
m_page_caption = new CaliPageCaption(parent, m_cali_mode);
|
||||
|
@ -788,10 +686,18 @@ void CalibrationPresetPage::create_page(wxWindow* parent)
|
|||
|
||||
m_tips_panel = new CaliPresetTipsPanel(parent);
|
||||
|
||||
m_sending_panel = new wxPanel(parent);
|
||||
m_sending_panel->SetBackgroundColour(*wxWHITE);
|
||||
create_sending_panel(m_sending_panel);
|
||||
|
||||
m_sending_panel = new CaliPageSendingPanel(parent);
|
||||
m_sending_panel->get_sending_progress_bar()->set_cancel_callback_fina([this]() {
|
||||
BOOST_LOG_TRIVIAL(info) << "CalibrationWizard::print_job: enter canceled";
|
||||
if (CalibUtils::print_job) {
|
||||
if (CalibUtils::print_job->is_running()) {
|
||||
BOOST_LOG_TRIVIAL(info) << "calibration_print_job: canceled";
|
||||
CalibUtils::print_job->cancel();
|
||||
}
|
||||
CalibUtils::print_job->join();
|
||||
}
|
||||
on_cali_cancel_job();
|
||||
});
|
||||
m_sending_panel->Hide();
|
||||
|
||||
m_custom_range_panel = new CaliPresetCustomRangePanel(parent);
|
||||
|
@ -1189,12 +1095,6 @@ bool CalibrationPresetPage::is_blocking_printing()
|
|||
|
||||
void CalibrationPresetPage::update_show_status()
|
||||
{
|
||||
if (get_status() == CaliPresetPageStatus::CaliPresetStatusSending)
|
||||
return;
|
||||
|
||||
if (get_status() == CaliPresetPageStatus::CaliPresetStatusSendingCanceled)
|
||||
return;
|
||||
|
||||
NetworkAgent* agent = Slic3r::GUI::wxGetApp().getAgent();
|
||||
DeviceManager* dev = Slic3r::GUI::wxGetApp().getDeviceManager();
|
||||
if (!agent) {return;}
|
||||
|
@ -1307,13 +1207,6 @@ bool CalibrationPresetPage::need_check_sdcard(MachineObject* obj)
|
|||
|
||||
void CalibrationPresetPage::show_status(CaliPresetPageStatus status)
|
||||
{
|
||||
if (status == CaliPresetPageStatus::CaliPresetStatusSending) {
|
||||
sending_mode();
|
||||
}
|
||||
else {
|
||||
prepare_mode();
|
||||
}
|
||||
|
||||
if (m_page_status != status)
|
||||
//BOOST_LOG_TRIVIAL(info) << "CalibrationPresetPage: show_status = " << status << "(" << get_print_status_info(status) << ")";
|
||||
m_page_status = status;
|
||||
|
@ -1324,7 +1217,6 @@ void CalibrationPresetPage::show_status(CaliPresetPageStatus status)
|
|||
Enable_Send_Button(false);
|
||||
}
|
||||
else if (status == CaliPresetPageStatus::CaliPresetStatusNormal) {
|
||||
m_sending_panel->Show(false);
|
||||
update_print_status_msg(wxEmptyString, false);
|
||||
Enable_Send_Button(true);
|
||||
Layout();
|
||||
|
@ -1359,15 +1251,6 @@ void CalibrationPresetPage::show_status(CaliPresetPageStatus status)
|
|||
update_print_status_msg(msg_text, true);
|
||||
Enable_Send_Button(false);
|
||||
}
|
||||
else if (status == CaliPresetPageStatus::CaliPresetStatusSending) {
|
||||
m_sending_panel->Show();
|
||||
Enable_Send_Button(false);
|
||||
Layout();
|
||||
Fit();
|
||||
}
|
||||
else if (status == CaliPresetPageStatus::CaliPresetStatusSendingCanceled) {
|
||||
Enable_Send_Button(true);
|
||||
}
|
||||
else if (status == CaliPresetPageStatus::CaliPresetStatusLanModeNoSdcard) {
|
||||
wxString msg_text = _L("An SD card needs to be inserted before printing via LAN.");
|
||||
update_print_status_msg(msg_text, true);
|
||||
|
@ -1412,13 +1295,6 @@ void CalibrationPresetPage::prepare_mode()
|
|||
m_action_panel->show_button(CaliPageActionType::CALI_ACTION_CALI, true);
|
||||
}
|
||||
|
||||
void CalibrationPresetPage::sending_mode()
|
||||
{
|
||||
Enable_Send_Button(false);
|
||||
m_action_panel->show_button(CaliPageActionType::CALI_ACTION_CALI, false);
|
||||
}
|
||||
|
||||
|
||||
float CalibrationPresetPage::get_nozzle_value()
|
||||
{
|
||||
double nozzle_value = 0.0;
|
||||
|
@ -1448,44 +1324,6 @@ void CalibrationPresetPage::on_device_connected(MachineObject* obj)
|
|||
update_combobox_filaments(obj);
|
||||
}
|
||||
|
||||
void CalibrationPresetPage::update_print_error_info(int code, const std::string& msg, const std::string& extra)
|
||||
{
|
||||
m_print_error_code = code;
|
||||
m_print_error_msg = msg;
|
||||
m_print_error_extra = extra;
|
||||
}
|
||||
|
||||
void CalibrationPresetPage::show_send_failed_info(bool show, int code, wxString description, wxString extra)
|
||||
{
|
||||
if (show) {
|
||||
if (!m_sw_print_failed_info->IsShown()) {
|
||||
m_sw_print_failed_info->Show(true);
|
||||
|
||||
m_st_txt_error_code->SetLabelText(wxString::Format("%d", m_print_error_code));
|
||||
m_st_txt_error_desc->SetLabelText(wxGetApp().filter_string(m_print_error_msg));
|
||||
m_st_txt_extra_info->SetLabelText(wxGetApp().filter_string(m_print_error_extra));
|
||||
|
||||
m_st_txt_error_code->Wrap(FromDIP(260));
|
||||
m_st_txt_error_desc->Wrap(FromDIP(260));
|
||||
m_st_txt_extra_info->Wrap(FromDIP(260));
|
||||
}
|
||||
else {
|
||||
m_sw_print_failed_info->Show(false);
|
||||
}
|
||||
Layout();
|
||||
Fit();
|
||||
}
|
||||
else {
|
||||
if (!m_sw_print_failed_info->IsShown()) { return; }
|
||||
m_sw_print_failed_info->Show(false);
|
||||
m_st_txt_error_code->SetLabelText(wxEmptyString);
|
||||
m_st_txt_error_desc->SetLabelText(wxEmptyString);
|
||||
m_st_txt_extra_info->SetLabelText(wxEmptyString);
|
||||
Layout();
|
||||
Fit();
|
||||
}
|
||||
}
|
||||
|
||||
void CalibrationPresetPage::set_cali_filament_mode(CalibrationFilamentMode mode)
|
||||
{
|
||||
CalibrationWizardPage::set_cali_filament_mode(mode);
|
||||
|
@ -1577,14 +1415,32 @@ void CalibrationPresetPage::set_cali_method(CalibrationMethod method)
|
|||
|
||||
void CalibrationPresetPage::on_cali_start_job()
|
||||
{
|
||||
m_send_progress_bar->reset();
|
||||
m_sw_print_failed_info->Show(false);
|
||||
show_status(CaliPresetPageStatus::CaliPresetStatusSending);
|
||||
m_sending_panel->reset();
|
||||
m_sending_panel->Show();
|
||||
Enable_Send_Button(false);
|
||||
m_action_panel->show_button(CaliPageActionType::CALI_ACTION_CALI, false);
|
||||
Layout();
|
||||
Fit();
|
||||
}
|
||||
|
||||
void CalibrationPresetPage::on_cali_finished_job()
|
||||
{
|
||||
show_status(CaliPresetPageStatus::CaliPresetStatusNormal);
|
||||
m_sending_panel->reset();
|
||||
m_sending_panel->Show(false);
|
||||
update_print_status_msg(wxEmptyString, false);
|
||||
Enable_Send_Button(true);
|
||||
m_action_panel->show_button(CaliPageActionType::CALI_ACTION_CALI, true);
|
||||
}
|
||||
|
||||
void CalibrationPresetPage::on_cali_cancel_job()
|
||||
{
|
||||
m_sending_panel->reset();
|
||||
m_sending_panel->Show(false);
|
||||
update_print_status_msg(wxEmptyString, false);
|
||||
Enable_Send_Button(true);
|
||||
m_action_panel->show_button(CaliPageActionType::CALI_ACTION_CALI, true);
|
||||
Layout();
|
||||
Fit();
|
||||
}
|
||||
|
||||
void CalibrationPresetPage::init_with_machine(MachineObject* obj)
|
||||
|
|
|
@ -129,14 +129,14 @@ enum CaliPresetPageStatus
|
|||
{
|
||||
CaliPresetStatusInit = 0,
|
||||
CaliPresetStatusNormal,
|
||||
CaliPresetStatusSending,
|
||||
//CaliPresetStatusSending,
|
||||
CaliPresetStatusNoUserLogin,
|
||||
CaliPresetStatusInvalidPrinter,
|
||||
CaliPresetStatusConnectingServer,
|
||||
CaliPresetStatusInUpgrading,
|
||||
CaliPresetStatusInSystemPrinting,
|
||||
CaliPresetStatusInPrinting,
|
||||
CaliPresetStatusSendingCanceled,
|
||||
//CaliPresetStatusSendingCanceled,
|
||||
CaliPresetStatusLanModeNoSdcard,
|
||||
CaliPresetStatusNoSdcard,
|
||||
CaliPresetStatusNeedForceUpgrading,
|
||||
|
@ -167,9 +167,9 @@ public:
|
|||
|
||||
void on_device_connected(MachineObject* obj) override;
|
||||
|
||||
void update_print_error_info(int code, const std::string& msg, const std::string& extra);
|
||||
//void update_print_error_info(int code, const std::string& msg, const std::string& extra);
|
||||
|
||||
void show_send_failed_info(bool show, int code = 0, wxString description = wxEmptyString, wxString extra = wxEmptyString);
|
||||
//void show_send_failed_info(bool show, int code = 0, wxString description = wxEmptyString, wxString extra = wxEmptyString);
|
||||
|
||||
void set_cali_filament_mode(CalibrationFilamentMode mode) override;
|
||||
|
||||
|
@ -179,6 +179,8 @@ public:
|
|||
|
||||
void on_cali_finished_job();
|
||||
|
||||
void on_cali_cancel_job();
|
||||
|
||||
void init_with_machine(MachineObject* obj);
|
||||
|
||||
void sync_ams_info(MachineObject* obj);
|
||||
|
@ -197,7 +199,7 @@ public:
|
|||
void get_cali_stage(CaliPresetStage& stage, float& value);
|
||||
|
||||
std::shared_ptr<ProgressIndicator> get_sending_progress_bar() {
|
||||
return m_send_progress_bar;
|
||||
return m_sending_panel->get_sending_progress_bar();
|
||||
}
|
||||
|
||||
Preset* get_printer_preset(MachineObject* obj, float nozzle_value);
|
||||
|
@ -212,7 +214,7 @@ protected:
|
|||
void create_selection_panel(wxWindow* parent);
|
||||
void create_filament_list_panel(wxWindow* parent);
|
||||
void create_ext_spool_panel(wxWindow* parent);
|
||||
void create_sending_panel(wxWindow* parent);
|
||||
//void create_sending_panel(wxWindow* parent);
|
||||
|
||||
void init_selection_values();
|
||||
void update_filament_combobox(std::string ams_id = "");
|
||||
|
@ -245,7 +247,7 @@ protected:
|
|||
void show_status(CaliPresetPageStatus status);
|
||||
void Enable_Send_Button(bool enable);
|
||||
void prepare_mode();
|
||||
void sending_mode();
|
||||
//void sending_mode();
|
||||
bool is_blocking_printing();
|
||||
bool need_check_sdcard(MachineObject* obj);
|
||||
|
||||
|
@ -263,7 +265,7 @@ protected:
|
|||
CaliPresetWarningPanel* m_warning_panel { nullptr };
|
||||
CaliPresetCustomRangePanel* m_custom_range_panel { nullptr };
|
||||
CaliPresetTipsPanel* m_tips_panel { nullptr };
|
||||
wxPanel* m_sending_panel { nullptr };
|
||||
CaliPageSendingPanel* m_sending_panel { nullptr };
|
||||
|
||||
wxBoxSizer* m_top_sizer;
|
||||
|
||||
|
@ -280,14 +282,14 @@ protected:
|
|||
FilamentComboBox* m_virtual_tray_comboBox;
|
||||
|
||||
// m_sending panel widgets
|
||||
std::shared_ptr<BBLStatusBarSend> m_send_progress_bar;
|
||||
wxScrolledWindow* m_sw_print_failed_info { nullptr };
|
||||
Label* m_st_txt_error_code { nullptr };
|
||||
Label* m_st_txt_error_desc { nullptr };
|
||||
Label* m_st_txt_extra_info { nullptr };
|
||||
int m_print_error_code;
|
||||
std::string m_print_error_msg;
|
||||
std::string m_print_error_extra;
|
||||
//std::shared_ptr<BBLStatusBarSend> m_send_progress_bar;
|
||||
//wxScrolledWindow* m_sw_print_failed_info { nullptr };
|
||||
//Label* m_st_txt_error_code { nullptr };
|
||||
//Label* m_st_txt_error_desc { nullptr };
|
||||
//Label* m_st_txt_extra_info { nullptr };
|
||||
//int m_print_error_code;
|
||||
//std::string m_print_error_msg;
|
||||
//std::string m_print_error_extra;
|
||||
|
||||
std::vector<AMSItem*> m_ams_item_list;
|
||||
|
||||
|
|
|
@ -1270,6 +1270,21 @@ void CalibrationFlowCoarseSavePage::create_page(wxWindow* parent)
|
|||
m_coarse_calc_result_text->SetLabel(wxString::Format(_L("flow ratio : %s "), std::to_string(m_coarse_flow_ratio)));
|
||||
});
|
||||
|
||||
m_sending_panel = new CaliPageSendingPanel(parent);
|
||||
m_sending_panel->get_sending_progress_bar()->set_cancel_callback_fina([this]() {
|
||||
BOOST_LOG_TRIVIAL(info) << "CalibrationWizard::print_job: enter canceled";
|
||||
if (CalibUtils::print_job) {
|
||||
if (CalibUtils::print_job->is_running()) {
|
||||
BOOST_LOG_TRIVIAL(info) << "calibration_print_job: canceled";
|
||||
CalibUtils::print_job->cancel();
|
||||
}
|
||||
CalibUtils::print_job->join();
|
||||
}
|
||||
on_cali_cancel_job();
|
||||
});
|
||||
m_sending_panel->Hide();
|
||||
m_top_sizer->Add(m_sending_panel, 0, wxALIGN_CENTER);
|
||||
|
||||
m_action_panel = new CaliPageActionPanel(parent, m_cali_mode, CaliPageType::CALI_PAGE_COARSE_SAVE);
|
||||
m_action_panel->show_button(CaliPageActionType::CALI_ACTION_FLOW_COARSE_SAVE, false);
|
||||
m_top_sizer->Add(m_action_panel, 0, wxEXPAND, 0);
|
||||
|
@ -1336,6 +1351,34 @@ bool CalibrationFlowCoarseSavePage::Show(bool show) {
|
|||
return wxPanel::Show(show);
|
||||
}
|
||||
|
||||
void CalibrationFlowCoarseSavePage::on_cali_start_job()
|
||||
{
|
||||
m_sending_panel->reset();
|
||||
m_sending_panel->Show();
|
||||
m_action_panel->enable_button(CaliPageActionType::CALI_ACTION_FLOW_CALI_STAGE_2, false);
|
||||
m_action_panel->show_button(CaliPageActionType::CALI_ACTION_FLOW_CALI_STAGE_2, false);
|
||||
Layout();
|
||||
Fit();
|
||||
}
|
||||
|
||||
void CalibrationFlowCoarseSavePage::on_cali_finished_job()
|
||||
{
|
||||
m_sending_panel->reset();
|
||||
m_sending_panel->Show(false);
|
||||
m_action_panel->enable_button(CaliPageActionType::CALI_ACTION_FLOW_CALI_STAGE_2, true);
|
||||
m_action_panel->show_button(CaliPageActionType::CALI_ACTION_FLOW_CALI_STAGE_2, true);
|
||||
}
|
||||
|
||||
void CalibrationFlowCoarseSavePage::on_cali_cancel_job()
|
||||
{
|
||||
m_sending_panel->reset();
|
||||
m_sending_panel->Show(false);
|
||||
m_action_panel->enable_button(CaliPageActionType::CALI_ACTION_FLOW_CALI_STAGE_2, true);
|
||||
m_action_panel->show_button(CaliPageActionType::CALI_ACTION_FLOW_CALI_STAGE_2, true);
|
||||
Layout();
|
||||
Fit();
|
||||
}
|
||||
|
||||
CalibrationFlowFineSavePage::CalibrationFlowFineSavePage(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
|
||||
: CalibrationCommonSavePage(parent, id, pos, size, style)
|
||||
{
|
||||
|
|
|
@ -239,6 +239,16 @@ public:
|
|||
|
||||
virtual bool Show(bool show = true) override;
|
||||
|
||||
void on_cali_start_job();
|
||||
|
||||
void on_cali_finished_job();
|
||||
|
||||
void on_cali_cancel_job();
|
||||
|
||||
std::shared_ptr<ProgressIndicator> get_sending_progress_bar() {
|
||||
return m_sending_panel->get_sending_progress_bar();
|
||||
}
|
||||
|
||||
protected:
|
||||
CaliPageStepGuide* m_step_panel{ nullptr };
|
||||
CaliPagePicture* m_picture_panel;
|
||||
|
@ -251,6 +261,8 @@ protected:
|
|||
bool m_skip_fine_calibration = false;
|
||||
float m_curr_flow_ratio;
|
||||
float m_coarse_flow_ratio;
|
||||
|
||||
CaliPageSendingPanel* m_sending_panel{ nullptr };
|
||||
};
|
||||
|
||||
class CalibrationFlowFineSavePage : public CalibrationCommonSavePage
|
||||
|
|
Loading…
Reference in New Issue