From 45ba09c70b966abbdc8ea2628acc1d85d7e0d6c4 Mon Sep 17 00:00:00 2001 From: thewildmage Date: Mon, 5 Jun 2023 17:11:26 -0600 Subject: [PATCH] Handle top-level dialog changes, consolidate params definitions --- src/slic3r/GUI/calib_dlg.cpp | 86 ++++++++++++++++++------------------ src/slic3r/GUI/calib_dlg.hpp | 1 + 2 files changed, 45 insertions(+), 42 deletions(-) diff --git a/src/slic3r/GUI/calib_dlg.cpp b/src/slic3r/GUI/calib_dlg.cpp index cce24e038b..d590ca8815 100644 --- a/src/slic3r/GUI/calib_dlg.cpp +++ b/src/slic3r/GUI/calib_dlg.cpp @@ -70,7 +70,7 @@ PA_Calibration_Dlg::PA_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plater* // start PA auto start_PA_sizer = new wxBoxSizer(wxHORIZONTAL); auto start_pa_text = new wxStaticText(this, wxID_ANY, start_pa_str, wxDefaultPosition, st_size, wxALIGN_LEFT); - m_tiStartPA = new TextInput(this, wxString::FromDouble(0.0), "", "", wxDefaultPosition, ti_size, wxTE_CENTRE | wxTE_PROCESS_ENTER); + m_tiStartPA = new TextInput(this, "", "", "", wxDefaultPosition, ti_size, wxTE_CENTRE | wxTE_PROCESS_ENTER); m_tiStartPA->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); start_PA_sizer->Add(start_pa_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2); @@ -80,7 +80,7 @@ PA_Calibration_Dlg::PA_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plater* // end PA auto end_PA_sizer = new wxBoxSizer(wxHORIZONTAL); auto end_pa_text = new wxStaticText(this, wxID_ANY, end_pa_str, wxDefaultPosition, st_size, wxALIGN_LEFT); - m_tiEndPA = new TextInput(this, wxString::FromDouble(0.1), "", "", wxDefaultPosition, ti_size, wxTE_CENTRE | wxTE_PROCESS_ENTER); + m_tiEndPA = new TextInput(this, "", "", "", wxDefaultPosition, ti_size, wxTE_CENTRE | wxTE_PROCESS_ENTER); m_tiStartPA->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); end_PA_sizer->Add(end_pa_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2); end_PA_sizer->Add(m_tiEndPA, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2); @@ -89,7 +89,7 @@ PA_Calibration_Dlg::PA_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plater* // PA step auto PA_step_sizer = new wxBoxSizer(wxHORIZONTAL); auto PA_step_text = new wxStaticText(this, wxID_ANY, PA_step_str, wxDefaultPosition, st_size, wxALIGN_LEFT); - m_tiPAStep = new TextInput(this, wxString::FromDouble(0.002), "", "", wxDefaultPosition, ti_size, wxTE_CENTRE | wxTE_PROCESS_ENTER); + m_tiPAStep = new TextInput(this, "", "", "", wxDefaultPosition, ti_size, wxTE_CENTRE | wxTE_PROCESS_ENTER); m_tiStartPA->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); PA_step_sizer->Add(PA_step_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2); PA_step_sizer->Add(m_tiPAStep, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2); @@ -114,6 +114,8 @@ PA_Calibration_Dlg::PA_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plater* m_btnStart->Bind(wxEVT_BUTTON, &PA_Calibration_Dlg::on_start, this); v_sizer->Add(m_btnStart, 0, wxALL | wxALIGN_RIGHT, FromDIP(5)); + PA_Calibration_Dlg::reset_params(); + // Connect Events m_rbExtruderType->Connect(wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler(PA_Calibration_Dlg::on_extruder_type_changed), NULL, this); m_rbMethod->Connect(wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler(PA_Calibration_Dlg::on_method_changed), NULL, this); @@ -131,6 +133,42 @@ PA_Calibration_Dlg::~PA_Calibration_Dlg() { m_btnStart->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PA_Calibration_Dlg::on_start), NULL, this); } +void PA_Calibration_Dlg::reset_params() { + bool isDDE = m_rbExtruderType->GetSelection() == 0 ? true : false; + int method = m_rbMethod->GetSelection(); + + m_tiStartPA->GetTextCtrl()->SetValue(wxString::FromDouble(0.0)); + + switch (method) { + case 1: + m_params.mode = CalibMode::Calib_PA_Line; + m_tiEndPA->GetTextCtrl()->SetValue(wxString::FromDouble(0.1)); + m_tiPAStep->GetTextCtrl()->SetValue(wxString::FromDouble(0.002)); + m_cbPrintNum->SetValue(true); + m_cbPrintNum->Enable(true); + break; + case 2: + m_params.mode = CalibMode::Calib_PA_Pattern; + m_tiEndPA->GetTextCtrl()->SetValue(wxString::FromDouble(0.08)); + m_tiPAStep->GetTextCtrl()->SetValue(wxString::FromDouble(0.005)); + m_cbPrintNum->SetValue(true); + m_cbPrintNum->Enable(false); + break; + default: + m_params.mode = CalibMode::Calib_PA_Tower; + m_tiEndPA->GetTextCtrl()->SetValue(wxString::FromDouble(0.1)); + m_tiPAStep->GetTextCtrl()->SetValue(wxString::FromDouble(0.002)); + m_cbPrintNum->SetValue(false); + m_cbPrintNum->Enable(false); + break; + } + + if (!isDDE) { + m_tiEndPA->GetTextCtrl()->SetValue(wxString::FromDouble(1.0)); + m_tiPAStep->GetTextCtrl()->SetValue(wxString::FromDouble(0.02)); + } +} + void PA_Calibration_Dlg::on_start(wxCommandEvent& event) { bool read_double = false; read_double = m_tiStartPA->GetTextCtrl()->GetValue().ToDouble(&m_params.start); @@ -160,44 +198,11 @@ void PA_Calibration_Dlg::on_start(wxCommandEvent& event) { } void PA_Calibration_Dlg::on_extruder_type_changed(wxCommandEvent& event) { - int selection = event.GetSelection(); - m_bDDE = selection == 0 ? true : false; - - m_tiStartPA->GetTextCtrl()->SetValue(wxString::FromDouble(0.0)); - - if(!m_bDDE) { - m_tiEndPA->GetTextCtrl()->SetValue(wxString::FromDouble(1.0)); - m_tiPAStep->GetTextCtrl()->SetValue(wxString::FromDouble(0.02)); - } else if (m_rbMethod->GetSelection() == 2) { - // pattern method - m_tiEndPA->GetTextCtrl()->SetValue(wxString::FromDouble(0.08)); - m_tiPAStep->GetTextCtrl()->SetValue(wxString::FromDouble(0.005)); - } else { - m_tiEndPA->GetTextCtrl()->SetValue(wxString::FromDouble(0.1)); - m_tiPAStep->GetTextCtrl()->SetValue(wxString::FromDouble(0.002)); - } - + PA_Calibration_Dlg::reset_params(); event.Skip(); } void PA_Calibration_Dlg::on_method_changed(wxCommandEvent& event) { - int selection = event.GetSelection(); - switch (selection) { - case 1: - m_params.mode = CalibMode::Calib_PA_Line; - m_cbPrintNum->SetValue(true); - m_cbPrintNum->Enable(true); - break; - case 2: - m_params.mode = CalibMode::Calib_PA_Pattern; - m_cbPrintNum->SetValue(true); - m_cbPrintNum->Enable(false); - break; - default: - m_params.mode = CalibMode::Calib_PA_Tower; - m_cbPrintNum->SetValue(false); - m_cbPrintNum->Enable(false); - } - + PA_Calibration_Dlg::reset_params(); event.Skip(); } @@ -207,10 +212,7 @@ void PA_Calibration_Dlg::on_dpi_changed(const wxRect& suggested_rect) { } void PA_Calibration_Dlg::on_show(wxShowEvent& event) { - if (m_rbMethod->GetSelection() == 1) - m_cbPrintNum->Enable(true); - else - m_cbPrintNum->Enable(false); + PA_Calibration_Dlg::reset_params(); } // Temp Calib dlg diff --git a/src/slic3r/GUI/calib_dlg.hpp b/src/slic3r/GUI/calib_dlg.hpp index b1bf8d8616..cd2e35b14b 100644 --- a/src/slic3r/GUI/calib_dlg.hpp +++ b/src/slic3r/GUI/calib_dlg.hpp @@ -25,6 +25,7 @@ public: void on_dpi_changed(const wxRect& suggested_rect) override; void on_show(wxShowEvent& event); protected: + void reset_params(); virtual void on_start(wxCommandEvent& event); virtual void on_extruder_type_changed(wxCommandEvent& event); virtual void on_method_changed(wxCommandEvent& event);