ENH:optimize virtual tray when printer is no AMS
Change-Id: I68425afc8c3f467a8e3f3c2745b6ac9cfb80232e
This commit is contained in:
parent
afb9886e0e
commit
a798ed22b9
|
@ -268,9 +268,9 @@ void AMSMaterialsSetting::create_panel_kn(wxWindow* parent)
|
||||||
{
|
{
|
||||||
auto sizer = new wxBoxSizer(wxVERTICAL);
|
auto sizer = new wxBoxSizer(wxVERTICAL);
|
||||||
// title
|
// title
|
||||||
auto ratio_text = new wxStaticText(parent, wxID_ANY, _L("Factors of dynamic flow cali"));
|
m_ratio_text = new wxStaticText(parent, wxID_ANY, _L("Factors of dynamic flow cali"));
|
||||||
ratio_text->SetForegroundColour(wxColour(50, 58, 61));
|
m_ratio_text->SetForegroundColour(wxColour(50, 58, 61));
|
||||||
ratio_text->SetFont(Label::Head_14);
|
m_ratio_text->SetFont(Label::Head_14);
|
||||||
|
|
||||||
auto kn_val_sizer = new wxFlexGridSizer(0, 2, 0, 0);
|
auto kn_val_sizer = new wxFlexGridSizer(0, 2, 0, 0);
|
||||||
kn_val_sizer->SetFlexibleDirection(wxBOTH);
|
kn_val_sizer->SetFlexibleDirection(wxBOTH);
|
||||||
|
@ -304,7 +304,7 @@ void AMSMaterialsSetting::create_panel_kn(wxWindow* parent)
|
||||||
m_input_n_val->Hide();
|
m_input_n_val->Hide();
|
||||||
|
|
||||||
sizer->Add(0, 0, 0, wxTOP, FromDIP(10));
|
sizer->Add(0, 0, 0, wxTOP, FromDIP(10));
|
||||||
sizer->Add(ratio_text, 0, wxLEFT | wxRIGHT | wxEXPAND, FromDIP(20));
|
sizer->Add(m_ratio_text, 0, wxLEFT | wxRIGHT | wxEXPAND, FromDIP(20));
|
||||||
sizer->Add(0, 0, 0, wxTOP, FromDIP(10));
|
sizer->Add(0, 0, 0, wxTOP, FromDIP(10));
|
||||||
sizer->Add(kn_val_sizer, 0, wxLEFT | wxRIGHT | wxEXPAND, FromDIP(20));
|
sizer->Add(kn_val_sizer, 0, wxLEFT | wxRIGHT | wxEXPAND, FromDIP(20));
|
||||||
sizer->Add(0, 0, 0, wxTOP, FromDIP(10));
|
sizer->Add(0, 0, 0, wxTOP, FromDIP(10));
|
||||||
|
@ -715,6 +715,19 @@ bool AMSMaterialsSetting::Show(bool show)
|
||||||
m_input_nozzle_max->GetTextCtrl()->SetSize(wxSize(-1, FromDIP(20)));
|
m_input_nozzle_max->GetTextCtrl()->SetSize(wxSize(-1, FromDIP(20)));
|
||||||
m_input_nozzle_min->GetTextCtrl()->SetSize(wxSize(-1, FromDIP(20)));
|
m_input_nozzle_min->GetTextCtrl()->SetSize(wxSize(-1, FromDIP(20)));
|
||||||
//m_clr_picker->set_color(m_clr_picker->GetParent()->GetBackgroundColour());
|
//m_clr_picker->set_color(m_clr_picker->GetParent()->GetBackgroundColour());
|
||||||
|
|
||||||
|
if (obj && obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI)) {
|
||||||
|
m_ratio_text->Show();
|
||||||
|
m_k_param->Show();
|
||||||
|
m_input_k_val->Show();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
m_ratio_text->Hide();
|
||||||
|
m_k_param->Hide();
|
||||||
|
m_input_k_val->Hide();
|
||||||
|
}
|
||||||
|
Layout();
|
||||||
|
Fit();
|
||||||
}
|
}
|
||||||
return DPIDialog::Show(show);
|
return DPIDialog::Show(show);
|
||||||
}
|
}
|
||||||
|
|
|
@ -146,6 +146,7 @@ protected:
|
||||||
wxColourData * m_clrData;
|
wxColourData * m_clrData;
|
||||||
|
|
||||||
wxPanel * m_panel_kn;
|
wxPanel * m_panel_kn;
|
||||||
|
wxStaticText* m_ratio_text;
|
||||||
wxStaticText* m_k_param;
|
wxStaticText* m_k_param;
|
||||||
TextInput* m_input_k_val;
|
TextInput* m_input_k_val;
|
||||||
wxStaticText* m_n_param;
|
wxStaticText* m_n_param;
|
||||||
|
|
|
@ -1907,6 +1907,8 @@ void StatusPanel::update_ams(MachineObject *obj)
|
||||||
}
|
}
|
||||||
if (m_filament_setting_dlg) { m_filament_setting_dlg->obj = obj; }
|
if (m_filament_setting_dlg) { m_filament_setting_dlg->obj = obj; }
|
||||||
|
|
||||||
|
bool is_none_ams_mode = false;
|
||||||
|
|
||||||
if (!obj
|
if (!obj
|
||||||
|| !obj->is_connected()
|
|| !obj->is_connected()
|
||||||
|| obj->amsList.empty()
|
|| obj->amsList.empty()
|
||||||
|
@ -1924,20 +1926,24 @@ void StatusPanel::update_ams(MachineObject *obj)
|
||||||
bool is_support_virtual_tray = obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY);
|
bool is_support_virtual_tray = obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY);
|
||||||
|
|
||||||
if (is_support_virtual_tray) {
|
if (is_support_virtual_tray) {
|
||||||
m_ams_control->update_vams_kn_value(obj->vt_tray);
|
m_ams_control->update_vams_kn_value(obj->vt_tray, obj);
|
||||||
}
|
}
|
||||||
show_ams_group(false, obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY), obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI), obj->is_support_filament_edit_virtual_tray);
|
show_ams_group(false, obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY), obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI), obj->is_support_filament_edit_virtual_tray);
|
||||||
return;
|
is_none_ams_mode = true;
|
||||||
|
//return;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool is_support_extrusion_cali = obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI);
|
bool is_support_extrusion_cali = obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI);
|
||||||
bool is_support_virtual_tray = obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY);
|
bool is_support_virtual_tray = obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY);
|
||||||
|
|
||||||
if (is_support_virtual_tray) {
|
if (is_support_virtual_tray) {
|
||||||
m_ams_control->update_vams_kn_value(obj->vt_tray);
|
m_ams_control->update_vams_kn_value(obj->vt_tray, obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!is_none_ams_mode) {
|
||||||
show_ams_group(true, obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY), obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI), obj->is_support_filament_edit_virtual_tray);
|
show_ams_group(true, obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY), obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI), obj->is_support_filament_edit_virtual_tray);
|
||||||
|
}
|
||||||
|
|
||||||
if (m_filament_setting_dlg) m_filament_setting_dlg->update();
|
if (m_filament_setting_dlg) m_filament_setting_dlg->update();
|
||||||
|
|
||||||
std::vector<AMSinfo> ams_info;
|
std::vector<AMSinfo> ams_info;
|
||||||
|
@ -2616,6 +2622,9 @@ void StatusPanel::on_ams_load_curr()
|
||||||
int old_temp = -1;
|
int old_temp = -1;
|
||||||
int new_temp = -1;
|
int new_temp = -1;
|
||||||
AmsTray* curr_tray = obj->get_curr_tray();
|
AmsTray* curr_tray = obj->get_curr_tray();
|
||||||
|
|
||||||
|
if (!curr_tray) return;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (!curr_tray->nozzle_temp_max.empty() && !curr_tray->nozzle_temp_min.empty())
|
if (!curr_tray->nozzle_temp_max.empty() && !curr_tray->nozzle_temp_min.empty())
|
||||||
old_temp = (atoi(curr_tray->nozzle_temp_min.c_str()) + atoi(curr_tray->nozzle_temp_max.c_str())) / 2;
|
old_temp = (atoi(curr_tray->nozzle_temp_min.c_str()) + atoi(curr_tray->nozzle_temp_max.c_str())) / 2;
|
||||||
|
|
|
@ -465,7 +465,10 @@ void AMSextruder::doRender(wxDC& dc)
|
||||||
wxSize size = GetSize();
|
wxSize size = GetSize();
|
||||||
dc.SetPen(wxPen(AMS_CONTROL_GRAY500, 2, wxSOLID));
|
dc.SetPen(wxPen(AMS_CONTROL_GRAY500, 2, wxSOLID));
|
||||||
dc.SetBrush(wxBrush(*wxTRANSPARENT_BRUSH));
|
dc.SetBrush(wxBrush(*wxTRANSPARENT_BRUSH));
|
||||||
|
|
||||||
|
if (!m_none_ams_mode) {
|
||||||
dc.DrawLine(size.x / 2, -1, size.x / 2, size.y * 0.6 - 1);
|
dc.DrawLine(size.x / 2, -1, size.x / 2, size.y * 0.6 - 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (m_has_vams) {
|
if (m_has_vams) {
|
||||||
dc.DrawRoundedRectangle(-size.x / 2, FromDIP(8), size.x, size.y, 4);
|
dc.DrawRoundedRectangle(-size.x / 2, FromDIP(8), size.x, size.y, 4);
|
||||||
|
@ -475,7 +478,7 @@ void AMSextruder::doRender(wxDC& dc)
|
||||||
dc.DrawRoundedRectangle(-size.x / 2, FromDIP(8), size.x, size.y, 4);
|
dc.DrawRoundedRectangle(-size.x / 2, FromDIP(8), size.x, size.y, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_ams_loading) {
|
if (m_ams_loading && !m_none_ams_mode) {
|
||||||
dc.SetPen(wxPen(m_current_colur, 6, wxSOLID));
|
dc.SetPen(wxPen(m_current_colur, 6, wxSOLID));
|
||||||
dc.DrawLine(size.x / 2, -1, size.x / 2, size.y * 0.6 - 1);
|
dc.DrawLine(size.x / 2, -1, size.x / 2, size.y * 0.6 - 1);
|
||||||
}
|
}
|
||||||
|
@ -708,6 +711,7 @@ void AMSLib::render(wxDC &dc)
|
||||||
if (m_info.material_state == AMSCanType::AMS_CAN_TYPE_THIRDBRAND
|
if (m_info.material_state == AMSCanType::AMS_CAN_TYPE_THIRDBRAND
|
||||||
|| m_info.material_state == AMSCanType::AMS_CAN_TYPE_BRAND
|
|| m_info.material_state == AMSCanType::AMS_CAN_TYPE_BRAND
|
||||||
|| m_info.material_state == AMSCanType::AMS_CAN_TYPE_VIRTUAL) {
|
|| m_info.material_state == AMSCanType::AMS_CAN_TYPE_VIRTUAL) {
|
||||||
|
|
||||||
if (m_info.material_name.empty() && m_info.material_state != AMSCanType::AMS_CAN_TYPE_VIRTUAL) {
|
if (m_info.material_name.empty() && m_info.material_state != AMSCanType::AMS_CAN_TYPE_VIRTUAL) {
|
||||||
auto tsize = dc.GetMultiLineTextExtent("?");
|
auto tsize = dc.GetMultiLineTextExtent("?");
|
||||||
auto pot = wxPoint(0, 0);
|
auto pot = wxPoint(0, 0);
|
||||||
|
@ -748,7 +752,7 @@ void AMSLib::render(wxDC &dc)
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
auto pot = wxPoint(0, 0);
|
auto pot = wxPoint(0, 0);
|
||||||
if (m_show_kn) {
|
if (m_obj && m_obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI)) {
|
||||||
pot = wxPoint((libsize.x - tsize.x) / 2, (libsize.y - tsize.y) / 2 - FromDIP(9));
|
pot = wxPoint((libsize.x - tsize.x) / 2, (libsize.y - tsize.y) / 2 - FromDIP(9));
|
||||||
} else {
|
} else {
|
||||||
pot = wxPoint((libsize.x - tsize.x) / 2, (libsize.y - tsize.y) / 2 + FromDIP(3));
|
pot = wxPoint((libsize.x - tsize.x) / 2, (libsize.y - tsize.y) / 2 + FromDIP(3));
|
||||||
|
@ -758,7 +762,7 @@ void AMSLib::render(wxDC &dc)
|
||||||
}
|
}
|
||||||
|
|
||||||
//draw k&n
|
//draw k&n
|
||||||
if (m_obj && m_obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY)) {
|
if (m_obj && m_obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI)) {
|
||||||
if (m_show_kn){
|
if (m_show_kn){
|
||||||
wxString str_k = wxString::Format("K %1.3f", m_info.k);
|
wxString str_k = wxString::Format("K %1.3f", m_info.k);
|
||||||
wxString str_n = wxString::Format("N %1.3f", m_info.n);
|
wxString str_n = wxString::Format("N %1.3f", m_info.n);
|
||||||
|
@ -768,16 +772,6 @@ void AMSLib::render(wxDC &dc)
|
||||||
dc.DrawText(str_k, pot_k);
|
dc.DrawText(str_k, pot_k);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(m_info.material_state == AMSCanType::AMS_CAN_TYPE_VIRTUAL){
|
|
||||||
if (m_show_kn) {
|
|
||||||
wxString str_k = wxString::Format("K %1.3f", m_info.k);
|
|
||||||
wxString str_n = wxString::Format("N %1.3f", m_info.n);
|
|
||||||
dc.SetFont(::Label::Body_11);
|
|
||||||
auto tsize = dc.GetMultiLineTextExtent(str_k);
|
|
||||||
auto pot_k = wxPoint((libsize.x - tsize.x) / 2, (libsize.y - tsize.y) / 2 - FromDIP(9) + tsize.y);
|
|
||||||
dc.DrawText(str_k, pot_k);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_info.material_state == AMSCanType::AMS_CAN_TYPE_EMPTY) {
|
if (m_info.material_state == AMSCanType::AMS_CAN_TYPE_EMPTY) {
|
||||||
|
@ -2331,7 +2325,7 @@ void AMSControl::EnterNoneAMSMode(bool support_vt_load)
|
||||||
m_panel_top->Hide();
|
m_panel_top->Hide();
|
||||||
m_simplebook_amsitems->SetSelection(1);
|
m_simplebook_amsitems->SetSelection(1);
|
||||||
m_simplebook_ams->SetSelection(1);
|
m_simplebook_ams->SetSelection(1);
|
||||||
m_extruder->Hide();
|
m_extruder->no_ams_mode(true);
|
||||||
m_button_ams_setting->Hide();
|
m_button_ams_setting->Hide();
|
||||||
m_button_guide->Hide();
|
m_button_guide->Hide();
|
||||||
m_button_retry->Hide();
|
m_button_retry->Hide();
|
||||||
|
@ -2356,7 +2350,7 @@ void AMSControl::ExitNoneAMSMode()
|
||||||
m_panel_top->Show();
|
m_panel_top->Show();
|
||||||
m_simplebook_ams->SetSelection(0);
|
m_simplebook_ams->SetSelection(0);
|
||||||
m_simplebook_amsitems->SetSelection(0);
|
m_simplebook_amsitems->SetSelection(0);
|
||||||
m_extruder->Show();
|
m_extruder->no_ams_mode(false);
|
||||||
m_button_ams_setting->Show();
|
m_button_ams_setting->Show();
|
||||||
m_button_guide->Show();
|
m_button_guide->Show();
|
||||||
m_button_retry->Show();
|
m_button_retry->Show();
|
||||||
|
@ -2568,8 +2562,9 @@ void AMSControl::show_vams_kn_value(bool show)
|
||||||
m_vams_lib->show_kn_value(show);
|
m_vams_lib->show_kn_value(show);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AMSControl::update_vams_kn_value(AmsTray tray)
|
void AMSControl::update_vams_kn_value(AmsTray tray, MachineObject* obj)
|
||||||
{
|
{
|
||||||
|
m_vams_lib->m_obj = obj;
|
||||||
m_vams_info.k = tray.k;
|
m_vams_info.k = tray.k;
|
||||||
m_vams_info.n = tray.n;
|
m_vams_info.n = tray.n;
|
||||||
m_vams_lib->m_info.k = tray.k;
|
m_vams_lib->m_info.k = tray.k;
|
||||||
|
|
|
@ -238,7 +238,9 @@ public:
|
||||||
void doRender(wxDC& dc);
|
void doRender(wxDC& dc);
|
||||||
void msw_rescale();
|
void msw_rescale();
|
||||||
void has_ams(bool hams) {m_has_vams = hams; Refresh();};
|
void has_ams(bool hams) {m_has_vams = hams; Refresh();};
|
||||||
|
void no_ams_mode(bool mode) {m_none_ams_mode = mode; Refresh();};
|
||||||
|
|
||||||
|
bool m_none_ams_mode{false};
|
||||||
bool m_has_vams{false};
|
bool m_has_vams{false};
|
||||||
bool m_vams_loading{false};
|
bool m_vams_loading{false};
|
||||||
bool m_ams_loading{false};
|
bool m_ams_loading{false};
|
||||||
|
@ -292,9 +294,11 @@ public:
|
||||||
void OnSelected();
|
void OnSelected();
|
||||||
void UnSelected();
|
void UnSelected();
|
||||||
bool is_selected() {return m_selected;};
|
bool is_selected() {return m_selected;};
|
||||||
virtual bool Enable(bool enable = true);
|
|
||||||
void post_event(wxCommandEvent &&event);
|
void post_event(wxCommandEvent &&event);
|
||||||
void show_kn_value(bool show) { m_show_kn = show; };
|
void show_kn_value(bool show) { m_show_kn = show; };
|
||||||
|
void support_cali(bool sup) { m_support_cali = sup; Refresh(); };
|
||||||
|
virtual bool Enable(bool enable = true);
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
wxStaticBitmap *m_edit_bitmp = {nullptr};
|
wxStaticBitmap *m_edit_bitmp = {nullptr};
|
||||||
|
@ -308,6 +312,7 @@ protected:
|
||||||
bool m_selected = {false};
|
bool m_selected = {false};
|
||||||
bool m_hover = {false};
|
bool m_hover = {false};
|
||||||
bool m_show_kn = {false};
|
bool m_show_kn = {false};
|
||||||
|
bool m_support_cali = {false};
|
||||||
|
|
||||||
double m_radius = {4};
|
double m_radius = {4};
|
||||||
wxColour m_border_color;
|
wxColour m_border_color;
|
||||||
|
@ -615,7 +620,7 @@ public:
|
||||||
void show_noams_mode(bool show, bool support_virtual_tray, bool support_extrustion_cali, bool support_vt_load = false);
|
void show_noams_mode(bool show, bool support_virtual_tray, bool support_extrustion_cali, bool support_vt_load = false);
|
||||||
void show_vams(bool show);
|
void show_vams(bool show);
|
||||||
void show_vams_kn_value(bool show);
|
void show_vams_kn_value(bool show);
|
||||||
void update_vams_kn_value(AmsTray tray);
|
void update_vams_kn_value(AmsTray tray, MachineObject* obj);
|
||||||
|
|
||||||
void reset_vams();
|
void reset_vams();
|
||||||
void post_event(wxEvent&& event);
|
void post_event(wxEvent&& event);
|
||||||
|
|
Loading…
Reference in New Issue