mirror of
https://git.mirrors.martin98.com/https://github.com/bambulab/BambuStudio.git
synced 2025-08-11 15:29:02 +08:00
ENH: update the functions
jira: [STUDIO-11664] Change-Id: I3c2c23cb9f8db0b3fec848616bb1d434759fa1d8
This commit is contained in:
parent
ecc35173c0
commit
ff62a7fe61
@ -132,8 +132,6 @@ AddMachinePanel::~AddMachinePanel() {
|
|||||||
update_hms_tag();
|
update_hms_tag();
|
||||||
e.Skip();
|
e.Skip();
|
||||||
});
|
});
|
||||||
|
|
||||||
Bind(EVT_JUMP_TO_HMS, &MonitorPanel::jump_to_HMS, this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MonitorPanel::~MonitorPanel()
|
MonitorPanel::~MonitorPanel()
|
||||||
|
@ -28,17 +28,13 @@ wxDEFINE_EVENT(EVT_SECONDARY_CHECK_CONFIRM, wxCommandEvent);
|
|||||||
wxDEFINE_EVENT(EVT_SECONDARY_CHECK_CANCEL, wxCommandEvent);
|
wxDEFINE_EVENT(EVT_SECONDARY_CHECK_CANCEL, wxCommandEvent);
|
||||||
wxDEFINE_EVENT(EVT_SECONDARY_CHECK_DONE, wxCommandEvent);
|
wxDEFINE_EVENT(EVT_SECONDARY_CHECK_DONE, wxCommandEvent);
|
||||||
wxDEFINE_EVENT(EVT_SECONDARY_CHECK_RESUME, wxCommandEvent);
|
wxDEFINE_EVENT(EVT_SECONDARY_CHECK_RESUME, wxCommandEvent);
|
||||||
wxDEFINE_EVENT(EVT_LOAD_VAMS_TRAY, wxCommandEvent);
|
|
||||||
wxDEFINE_EVENT(EVT_CHECKBOX_CHANGE, wxCommandEvent);
|
wxDEFINE_EVENT(EVT_CHECKBOX_CHANGE, wxCommandEvent);
|
||||||
wxDEFINE_EVENT(EVT_ENTER_IP_ADDRESS, wxCommandEvent);
|
wxDEFINE_EVENT(EVT_ENTER_IP_ADDRESS, wxCommandEvent);
|
||||||
wxDEFINE_EVENT(EVT_CLOSE_IPADDRESS_DLG, wxCommandEvent);
|
wxDEFINE_EVENT(EVT_CLOSE_IPADDRESS_DLG, wxCommandEvent);
|
||||||
wxDEFINE_EVENT(EVT_CHECK_IP_ADDRESS_FAILED, wxCommandEvent);
|
wxDEFINE_EVENT(EVT_CHECK_IP_ADDRESS_FAILED, wxCommandEvent);
|
||||||
wxDEFINE_EVENT(EVT_CHECK_IP_ADDRESS_LAYOUT, wxCommandEvent);
|
wxDEFINE_EVENT(EVT_CHECK_IP_ADDRESS_LAYOUT, wxCommandEvent);
|
||||||
wxDEFINE_EVENT(EVT_SECONDARY_CHECK_RETRY, wxCommandEvent);
|
wxDEFINE_EVENT(EVT_SECONDARY_CHECK_RETRY, wxCommandEvent);
|
||||||
wxDEFINE_EVENT(EVT_PRINT_ERROR_STOP, wxCommandEvent);
|
|
||||||
wxDEFINE_EVENT(EVT_UPDATE_NOZZLE, wxCommandEvent);
|
wxDEFINE_EVENT(EVT_UPDATE_NOZZLE, wxCommandEvent);
|
||||||
wxDEFINE_EVENT(EVT_JUMP_TO_HMS, wxCommandEvent);
|
|
||||||
wxDEFINE_EVENT(EVT_JUMP_TO_LIVEVIEW, wxCommandEvent);
|
|
||||||
wxDEFINE_EVENT(EVT_UPDATE_TEXT_MSG, wxCommandEvent);
|
wxDEFINE_EVENT(EVT_UPDATE_TEXT_MSG, wxCommandEvent);
|
||||||
wxDEFINE_EVENT(EVT_ERROR_DIALOG_BTN_CLICKED, wxCommandEvent);
|
wxDEFINE_EVENT(EVT_ERROR_DIALOG_BTN_CLICKED, wxCommandEvent);
|
||||||
|
|
||||||
@ -1089,140 +1085,35 @@ void PrintErrorDialog::init_button(PrintErrorButton style,wxString buton_text)
|
|||||||
print_error_button->SetCornerRadius(FromDIP(5));
|
print_error_button->SetCornerRadius(FromDIP(5));
|
||||||
print_error_button->Hide();
|
print_error_button->Hide();
|
||||||
m_button_list[style] = print_error_button;
|
m_button_list[style] = print_error_button;
|
||||||
|
m_button_list[style]->Bind(wxEVT_LEFT_DOWN, [this, style](wxMouseEvent& e)
|
||||||
|
{
|
||||||
|
wxCommandEvent evt(EVT_ERROR_DIALOG_BTN_CLICKED);
|
||||||
|
evt.SetInt(style);
|
||||||
|
post_event(evt);
|
||||||
|
e.Skip();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void PrintErrorDialog::init_button_list()
|
void PrintErrorDialog::init_button_list()
|
||||||
{
|
{
|
||||||
init_button(RESUME_PRINTING, _L("Resume Printing"));
|
init_button(RESUME_PRINTING, _L("Resume Printing"));
|
||||||
m_button_list[RESUME_PRINTING]->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e) {
|
|
||||||
post_event(wxCommandEvent(EVT_SECONDARY_CHECK_RESUME));
|
|
||||||
e.Skip();
|
|
||||||
});
|
|
||||||
|
|
||||||
init_button(RESUME_PRINTING_DEFECTS, _L("Resume Printing(defects acceptable)"));
|
init_button(RESUME_PRINTING_DEFECTS, _L("Resume Printing(defects acceptable)"));
|
||||||
m_button_list[RESUME_PRINTING_DEFECTS]->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e) {
|
|
||||||
post_event(wxCommandEvent(EVT_SECONDARY_CHECK_RESUME));
|
|
||||||
e.Skip();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
init_button(RESUME_PRINTING_PROBELM_SOLVED, _L("Resume Printing(problem solved)"));
|
init_button(RESUME_PRINTING_PROBELM_SOLVED, _L("Resume Printing(problem solved)"));
|
||||||
m_button_list[RESUME_PRINTING_PROBELM_SOLVED]->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e) {
|
init_button(STOP_PRINTING, _L("Stop Printing"));// pop up recheck dialog?
|
||||||
post_event(wxCommandEvent(EVT_SECONDARY_CHECK_RESUME));
|
|
||||||
e.Skip();
|
|
||||||
});
|
|
||||||
|
|
||||||
init_button(STOP_PRINTING, _L("Stop Printing"));
|
|
||||||
m_button_list[STOP_PRINTING]->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e) {
|
|
||||||
post_event(wxCommandEvent(EVT_PRINT_ERROR_STOP));
|
|
||||||
e.Skip();
|
|
||||||
});
|
|
||||||
|
|
||||||
init_button(CHECK_ASSISTANT, _L("Check Assistant"));
|
init_button(CHECK_ASSISTANT, _L("Check Assistant"));
|
||||||
m_button_list[CHECK_ASSISTANT]->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e) {
|
|
||||||
post_event(wxCommandEvent(EVT_JUMP_TO_HMS));
|
|
||||||
this->on_hide();
|
|
||||||
});
|
|
||||||
|
|
||||||
init_button(FILAMENT_EXTRUDED, _L("Filament Extruded, Continue"));
|
init_button(FILAMENT_EXTRUDED, _L("Filament Extruded, Continue"));
|
||||||
m_button_list[FILAMENT_EXTRUDED]->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e) {
|
|
||||||
post_event(wxCommandEvent(EVT_SECONDARY_CHECK_DONE));
|
|
||||||
e.Skip();
|
|
||||||
});
|
|
||||||
|
|
||||||
init_button(RETRY_FILAMENT_EXTRUDED, _L("Not Extruded Yet, Retry"));
|
init_button(RETRY_FILAMENT_EXTRUDED, _L("Not Extruded Yet, Retry"));
|
||||||
m_button_list[RETRY_FILAMENT_EXTRUDED]->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e) {
|
|
||||||
wxCommandEvent evt(EVT_SECONDARY_CHECK_RETRY, GetId());
|
|
||||||
e.SetEventObject(this);
|
|
||||||
GetEventHandler()->ProcessEvent(evt);
|
|
||||||
this->on_hide();
|
|
||||||
});
|
|
||||||
|
|
||||||
init_button(CONTINUE, _L("Finished, Continue"));
|
init_button(CONTINUE, _L("Finished, Continue"));
|
||||||
m_button_list[CONTINUE]->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e) {
|
|
||||||
wxCommandEvent evt(EVT_ERROR_DIALOG_BTN_CLICKED);
|
|
||||||
evt.SetInt(CONTINUE);
|
|
||||||
post_event(evt);
|
|
||||||
e.Skip();
|
|
||||||
});
|
|
||||||
|
|
||||||
init_button(LOAD_VIRTUAL_TRAY, _L("Load Filament"));
|
init_button(LOAD_VIRTUAL_TRAY, _L("Load Filament"));
|
||||||
m_button_list[LOAD_VIRTUAL_TRAY]->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e) {
|
|
||||||
post_event(wxCommandEvent(EVT_LOAD_VAMS_TRAY));
|
|
||||||
e.Skip();
|
|
||||||
});
|
|
||||||
|
|
||||||
init_button(OK_BUTTON, _L("OK"));
|
init_button(OK_BUTTON, _L("OK"));
|
||||||
m_button_list[OK_BUTTON]->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e) {
|
|
||||||
wxCommandEvent evt(EVT_SECONDARY_CHECK_CONFIRM, GetId());
|
|
||||||
e.SetEventObject(this);
|
|
||||||
GetEventHandler()->ProcessEvent(evt);
|
|
||||||
this->on_hide();
|
|
||||||
});
|
|
||||||
|
|
||||||
init_button(FILAMENT_LOAD_RESUME, _L("Filament Loaded, Resume"));
|
init_button(FILAMENT_LOAD_RESUME, _L("Filament Loaded, Resume"));
|
||||||
m_button_list[FILAMENT_LOAD_RESUME]->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e) {
|
|
||||||
post_event(wxCommandEvent(EVT_SECONDARY_CHECK_RESUME));
|
|
||||||
e.Skip();
|
|
||||||
});
|
|
||||||
|
|
||||||
init_button(JUMP_TO_LIVEVIEW, _L("View Liveview"));
|
init_button(JUMP_TO_LIVEVIEW, _L("View Liveview"));
|
||||||
m_button_list[JUMP_TO_LIVEVIEW]->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e) {
|
|
||||||
post_event(wxCommandEvent(EVT_JUMP_TO_LIVEVIEW));
|
|
||||||
e.Skip();
|
|
||||||
});
|
|
||||||
|
|
||||||
init_button(NO_REMINDER_NEXT_TIME, _L("No Reminder Next Time"));
|
init_button(NO_REMINDER_NEXT_TIME, _L("No Reminder Next Time"));
|
||||||
m_button_list[NO_REMINDER_NEXT_TIME]->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e) {
|
|
||||||
wxCommandEvent evt(EVT_ERROR_DIALOG_BTN_CLICKED);
|
|
||||||
evt.SetInt(NO_REMINDER_NEXT_TIME);
|
|
||||||
post_event(evt);
|
|
||||||
e.Skip();
|
|
||||||
});
|
|
||||||
|
|
||||||
init_button(IGNORE_NO_REMINDER_NEXT_TIME, _L("Ignore. Don't Remind Next Time"));
|
init_button(IGNORE_NO_REMINDER_NEXT_TIME, _L("Ignore. Don't Remind Next Time"));
|
||||||
m_button_list[IGNORE_NO_REMINDER_NEXT_TIME]->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e) {
|
|
||||||
wxCommandEvent evt(EVT_ERROR_DIALOG_BTN_CLICKED);
|
|
||||||
evt.SetInt(IGNORE_NO_REMINDER_NEXT_TIME);
|
|
||||||
post_event(evt);
|
|
||||||
e.Skip();
|
|
||||||
});
|
|
||||||
|
|
||||||
init_button(IGNORE_RESUME, _L("Ignore this and Resume"));
|
init_button(IGNORE_RESUME, _L("Ignore this and Resume"));
|
||||||
m_button_list[IGNORE_RESUME]->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e)
|
|
||||||
{
|
|
||||||
wxCommandEvent evt(EVT_ERROR_DIALOG_BTN_CLICKED);
|
|
||||||
evt.SetInt(IGNORE_RESUME);
|
|
||||||
post_event(evt);
|
|
||||||
e.Skip();
|
|
||||||
});
|
|
||||||
|
|
||||||
init_button(PROBLEM_SOLVED_RESUME, _L("Problem Solved and Resume"));
|
init_button(PROBLEM_SOLVED_RESUME, _L("Problem Solved and Resume"));
|
||||||
m_button_list[PROBLEM_SOLVED_RESUME]->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e)
|
|
||||||
{
|
|
||||||
wxCommandEvent evt(EVT_ERROR_DIALOG_BTN_CLICKED);
|
|
||||||
evt.SetInt(PROBLEM_SOLVED_RESUME);
|
|
||||||
post_event(evt);
|
|
||||||
e.Skip();
|
|
||||||
});
|
|
||||||
|
|
||||||
init_button(STOP_BUZZER, _L("Stop Buzzer"));
|
init_button(STOP_BUZZER, _L("Stop Buzzer"));
|
||||||
m_button_list[STOP_BUZZER]->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e)
|
|
||||||
{
|
|
||||||
wxCommandEvent evt(EVT_ERROR_DIALOG_BTN_CLICKED);
|
|
||||||
evt.SetInt(STOP_BUZZER);
|
|
||||||
post_event(evt);
|
|
||||||
e.Skip();
|
|
||||||
});
|
|
||||||
|
|
||||||
init_button(RETRY_PROBLEM_SOLVED, _L("Retry (problem solved)"));
|
init_button(RETRY_PROBLEM_SOLVED, _L("Retry (problem solved)"));
|
||||||
m_button_list[RETRY_PROBLEM_SOLVED]->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) {
|
|
||||||
wxCommandEvent evt(EVT_ERROR_DIALOG_BTN_CLICKED);
|
|
||||||
evt.SetInt(RETRY_PROBLEM_SOLVED);
|
|
||||||
post_event(evt);
|
|
||||||
e.Skip();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PrintErrorDialog::~PrintErrorDialog()
|
PrintErrorDialog::~PrintErrorDialog()
|
||||||
|
@ -46,11 +46,7 @@ wxDECLARE_EVENT(EVT_SECONDARY_CHECK_CANCEL, wxCommandEvent);
|
|||||||
wxDECLARE_EVENT(EVT_SECONDARY_CHECK_RETRY, wxCommandEvent);
|
wxDECLARE_EVENT(EVT_SECONDARY_CHECK_RETRY, wxCommandEvent);
|
||||||
wxDECLARE_EVENT(EVT_SECONDARY_CHECK_DONE, wxCommandEvent);
|
wxDECLARE_EVENT(EVT_SECONDARY_CHECK_DONE, wxCommandEvent);
|
||||||
wxDECLARE_EVENT(EVT_SECONDARY_CHECK_RESUME, wxCommandEvent);
|
wxDECLARE_EVENT(EVT_SECONDARY_CHECK_RESUME, wxCommandEvent);
|
||||||
wxDECLARE_EVENT(EVT_PRINT_ERROR_STOP, wxCommandEvent);
|
|
||||||
wxDECLARE_EVENT(EVT_UPDATE_NOZZLE, wxCommandEvent);
|
wxDECLARE_EVENT(EVT_UPDATE_NOZZLE, wxCommandEvent);
|
||||||
wxDECLARE_EVENT(EVT_LOAD_VAMS_TRAY, wxCommandEvent);
|
|
||||||
wxDECLARE_EVENT(EVT_JUMP_TO_HMS, wxCommandEvent);
|
|
||||||
wxDECLARE_EVENT(EVT_JUMP_TO_LIVEVIEW, wxCommandEvent);
|
|
||||||
wxDECLARE_EVENT(EVT_UPDATE_TEXT_MSG, wxCommandEvent);
|
wxDECLARE_EVENT(EVT_UPDATE_TEXT_MSG, wxCommandEvent);
|
||||||
wxDECLARE_EVENT(EVT_ERROR_DIALOG_BTN_CLICKED, wxCommandEvent);
|
wxDECLARE_EVENT(EVT_ERROR_DIALOG_BTN_CLICKED, wxCommandEvent);
|
||||||
|
|
||||||
|
@ -2299,13 +2299,6 @@ StatusPanel::StatusPanel(wxWindow *parent, wxWindowID id, const wxPoint &pos, co
|
|||||||
Bind(EVT_FAN_CHANGED, &StatusPanel::on_fan_changed, this);
|
Bind(EVT_FAN_CHANGED, &StatusPanel::on_fan_changed, this);
|
||||||
Bind(EVT_SECONDARY_CHECK_DONE, &StatusPanel::on_print_error_done, this);
|
Bind(EVT_SECONDARY_CHECK_DONE, &StatusPanel::on_print_error_done, this);
|
||||||
Bind(EVT_SECONDARY_CHECK_RESUME, &StatusPanel::on_subtask_pause_resume, this);
|
Bind(EVT_SECONDARY_CHECK_RESUME, &StatusPanel::on_subtask_pause_resume, this);
|
||||||
Bind(EVT_PRINT_ERROR_STOP, &StatusPanel::on_subtask_abort, this);
|
|
||||||
Bind(EVT_LOAD_VAMS_TRAY, &StatusPanel::on_ams_load_vams, this);
|
|
||||||
Bind(EVT_JUMP_TO_LIVEVIEW, [this](wxCommandEvent& e) {
|
|
||||||
m_media_play_ctrl->jump_to_play();
|
|
||||||
if (m_print_error_dlg)
|
|
||||||
m_print_error_dlg->on_hide();
|
|
||||||
});
|
|
||||||
Bind(EVT_ERROR_DIALOG_BTN_CLICKED, &StatusPanel::on_print_error_dlg_btn_clicked, this);
|
Bind(EVT_ERROR_DIALOG_BTN_CLICKED, &StatusPanel::on_print_error_dlg_btn_clicked, this);
|
||||||
|
|
||||||
m_switch_speed->Connect(wxEVT_LEFT_DOWN, wxCommandEventHandler(StatusPanel::on_switch_speed), NULL, this);
|
m_switch_speed->Connect(wxEVT_LEFT_DOWN, wxCommandEventHandler(StatusPanel::on_switch_speed), NULL, this);
|
||||||
@ -2703,17 +2696,6 @@ void StatusPanel::show_error_message(MachineObject *obj, bool is_exist, wxString
|
|||||||
m_print_error_dlg = new PrintErrorDialog(this->GetParent(), wxID_ANY, _L("Error"));
|
m_print_error_dlg = new PrintErrorDialog(this->GetParent(), wxID_ANY, _L("Error"));
|
||||||
m_print_error_dlg->update_title_style(_L("Error"), used_button, this);
|
m_print_error_dlg->update_title_style(_L("Error"), used_button, this);
|
||||||
m_print_error_dlg->update_text_image(msg, print_error_str, image_url);
|
m_print_error_dlg->update_text_image(msg, print_error_str, image_url);
|
||||||
m_print_error_dlg->Bind(EVT_SECONDARY_CHECK_CONFIRM, [this, dev_id](wxCommandEvent &e) {
|
|
||||||
MachineObject* the_obj = wxGetApp().getDeviceManager()->get_my_machine(dev_id);
|
|
||||||
if (the_obj) { the_obj->command_clean_print_error(the_obj->subtask_id_, the_obj->print_error); }
|
|
||||||
});
|
|
||||||
|
|
||||||
m_print_error_dlg->Bind(EVT_SECONDARY_CHECK_RETRY, [this](wxCommandEvent& e) {
|
|
||||||
if (m_ams_control) {
|
|
||||||
m_ams_control->on_retry();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
m_print_error_dlg->on_show();
|
m_print_error_dlg->on_show();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -4692,18 +4674,29 @@ void StatusPanel::on_print_error_dlg_btn_clicked(wxCommandEvent& event)
|
|||||||
}
|
}
|
||||||
case Slic3r::GUI::PrintErrorDialog::RETRY_FILAMENT_EXTRUDED: {
|
case Slic3r::GUI::PrintErrorDialog::RETRY_FILAMENT_EXTRUDED: {
|
||||||
obj->command_ams_control("resume");
|
obj->command_ams_control("resume");
|
||||||
break;
|
return;// do not hide the dialogs
|
||||||
}
|
}
|
||||||
case Slic3r::GUI::PrintErrorDialog::CONTINUE: {
|
case Slic3r::GUI::PrintErrorDialog::CONTINUE: {
|
||||||
obj->command_ams_control("resume");
|
obj->command_ams_control("resume");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case Slic3r::GUI::PrintErrorDialog::LOAD_VIRTUAL_TRAY: break;/*Unknown what it is*/
|
case Slic3r::GUI::PrintErrorDialog::LOAD_VIRTUAL_TRAY: {
|
||||||
case Slic3r::GUI::PrintErrorDialog::OK_BUTTON: break;/*do nothing*/
|
m_ams_control->SwitchAms(std::to_string(VIRTUAL_TRAY_MAIN_ID));
|
||||||
|
on_ams_load_curr();
|
||||||
|
break;/*AP, unknown what it is*/
|
||||||
|
}
|
||||||
|
case Slic3r::GUI::PrintErrorDialog::OK_BUTTON: {
|
||||||
|
obj->command_clean_print_error(obj->subtask_id_, obj->print_error);
|
||||||
|
break;/*do nothing*/
|
||||||
|
}
|
||||||
case Slic3r::GUI::PrintErrorDialog::FILAMENT_LOAD_RESUME: {
|
case Slic3r::GUI::PrintErrorDialog::FILAMENT_LOAD_RESUME: {
|
||||||
obj->command_hms_resume(std::to_string(before_error_code), obj->job_id_);
|
obj->command_hms_resume(std::to_string(before_error_code), obj->job_id_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case Slic3r::GUI::PrintErrorDialog::JUMP_TO_LIVEVIEW: {
|
||||||
|
m_media_play_ctrl->jump_to_play();
|
||||||
|
break;
|
||||||
|
}
|
||||||
case Slic3r::GUI::PrintErrorDialog::NO_REMINDER_NEXT_TIME: {
|
case Slic3r::GUI::PrintErrorDialog::NO_REMINDER_NEXT_TIME: {
|
||||||
obj->command_hms_idle_ignore(std::to_string(before_error_code), 0); /*the type is 0, supported by AP*/
|
obj->command_hms_idle_ignore(std::to_string(before_error_code), 0); /*the type is 0, supported by AP*/
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user