FIX: calibration manage result dialog issue on macos
jira: STUDIO-4949 STUDIO-5378 Change-Id: I00abefd45a0d274a4b68bb1ab18debe8f91d169e
This commit is contained in:
parent
1c26ebe03c
commit
5c69b1dee3
|
@ -352,18 +352,10 @@ EditCalibrationHistoryDialog::EditCalibrationHistoryDialog(wxWindow* parent, con
|
||||||
flex_sizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
|
flex_sizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
|
||||||
|
|
||||||
Label* name_title = new Label(top_panel, _L("Name"));
|
Label* name_title = new Label(top_panel, _L("Name"));
|
||||||
TextInput* name_value = new TextInput(top_panel, from_u8(m_new_result.name), "", "", wxDefaultPosition, EDIT_HISTORY_DIALOG_INPUT_SIZE, wxTE_PROCESS_ENTER);
|
m_name_value = new TextInput(top_panel, from_u8(m_new_result.name), "", "", wxDefaultPosition, EDIT_HISTORY_DIALOG_INPUT_SIZE, wxTE_PROCESS_ENTER);
|
||||||
name_value->GetTextCtrl()->Bind(wxEVT_TEXT_ENTER, [this, name_value](auto& e) {
|
|
||||||
if (!name_value->GetTextCtrl()->GetValue().IsEmpty())
|
|
||||||
m_new_result.name = name_value->GetTextCtrl()->GetValue().ToUTF8().data();
|
|
||||||
});
|
|
||||||
name_value->GetTextCtrl()->Bind(wxEVT_KILL_FOCUS, [this, name_value](auto& e) {
|
|
||||||
if (!name_value->GetTextCtrl()->GetValue().IsEmpty())
|
|
||||||
m_new_result.name = name_value->GetTextCtrl()->GetValue().ToUTF8().data();
|
|
||||||
e.Skip();
|
|
||||||
});
|
|
||||||
flex_sizer->Add(name_title);
|
flex_sizer->Add(name_title);
|
||||||
flex_sizer->Add(name_value);
|
flex_sizer->Add(m_name_value);
|
||||||
|
|
||||||
Label* preset_name_title = new Label(top_panel, _L("Filament"));
|
Label* preset_name_title = new Label(top_panel, _L("Filament"));
|
||||||
wxString preset_name = get_preset_name_by_filament_id(result.filament_id);
|
wxString preset_name = get_preset_name_by_filament_id(result.filament_id);
|
||||||
|
@ -373,34 +365,9 @@ EditCalibrationHistoryDialog::EditCalibrationHistoryDialog(wxWindow* parent, con
|
||||||
|
|
||||||
Label* k_title = new Label(top_panel, _L("Factor K"));
|
Label* k_title = new Label(top_panel, _L("Factor K"));
|
||||||
auto k_str = wxString::Format("%.3f", m_new_result.k_value);
|
auto k_str = wxString::Format("%.3f", m_new_result.k_value);
|
||||||
TextInput* k_value = new TextInput(top_panel, k_str, "", "", wxDefaultPosition, EDIT_HISTORY_DIALOG_INPUT_SIZE, wxTE_PROCESS_ENTER);
|
m_k_value = new TextInput(top_panel, k_str, "", "", wxDefaultPosition, EDIT_HISTORY_DIALOG_INPUT_SIZE, wxTE_PROCESS_ENTER);
|
||||||
k_value->GetTextCtrl()->Bind(wxEVT_TEXT_ENTER, [this, k_value](auto& e) {
|
|
||||||
float k = 0.0f;
|
|
||||||
if (!CalibUtils::validate_input_k_value(k_value->GetTextCtrl()->GetValue(), &k)) {
|
|
||||||
MessageDialog msg_dlg(nullptr, _L(k_tips), wxEmptyString, wxICON_WARNING | wxOK);
|
|
||||||
msg_dlg.ShowModal();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
wxString k_str = wxString::Format("%.3f", k);
|
|
||||||
k_value->GetTextCtrl()->SetValue(k_str);
|
|
||||||
m_new_result.k_value = k;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
k_value->GetTextCtrl()->Bind(wxEVT_KILL_FOCUS, [this, k_value](auto& e) {
|
|
||||||
float k = 0.0f;
|
|
||||||
if (!CalibUtils::validate_input_k_value(k_value->GetTextCtrl()->GetValue(), &k)) {
|
|
||||||
MessageDialog msg_dlg(nullptr, _L(k_tips), wxEmptyString, wxICON_WARNING | wxOK);
|
|
||||||
msg_dlg.ShowModal();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
wxString k_str = wxString::Format("%.3f", k);
|
|
||||||
k_value->GetTextCtrl()->SetValue(k_str);
|
|
||||||
m_new_result.k_value = k;
|
|
||||||
}
|
|
||||||
e.Skip();
|
|
||||||
});
|
|
||||||
flex_sizer->Add(k_title);
|
flex_sizer->Add(k_title);
|
||||||
flex_sizer->Add(k_value);
|
flex_sizer->Add(m_k_value);
|
||||||
|
|
||||||
// Hide:
|
// Hide:
|
||||||
//Label* n_title = new Label(top_panel, _L("Factor N"));
|
//Label* n_title = new Label(top_panel, _L("Factor N"));
|
||||||
|
@ -454,6 +421,27 @@ PACalibResult EditCalibrationHistoryDialog::get_result() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void EditCalibrationHistoryDialog::on_save(wxCommandEvent& event) {
|
void EditCalibrationHistoryDialog::on_save(wxCommandEvent& event) {
|
||||||
|
wxString name = m_name_value->GetTextCtrl()->GetValue();
|
||||||
|
if (name.IsEmpty())
|
||||||
|
return;
|
||||||
|
if (name.Length() > 40) {
|
||||||
|
MessageDialog msg_dlg(nullptr, _L("The name cannot exceed 40 characters."), wxEmptyString, wxICON_WARNING | wxOK);
|
||||||
|
msg_dlg.ShowModal();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
m_new_result.name = m_name_value->GetTextCtrl()->GetValue().ToUTF8().data();
|
||||||
|
|
||||||
|
float k = 0.0f;
|
||||||
|
if (!CalibUtils::validate_input_k_value(m_k_value->GetTextCtrl()->GetValue(), &k)) {
|
||||||
|
MessageDialog msg_dlg(nullptr, _L(k_tips), wxEmptyString, wxICON_WARNING | wxOK);
|
||||||
|
msg_dlg.ShowModal();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
wxString k_str = wxString::Format("%.3f", k);
|
||||||
|
m_k_value->GetTextCtrl()->SetValue(k_str);
|
||||||
|
m_new_result.k_value = k;
|
||||||
|
|
||||||
|
|
||||||
EndModal(wxID_OK);
|
EndModal(wxID_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,6 +50,9 @@ protected:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
PACalibResult m_new_result;
|
PACalibResult m_new_result;
|
||||||
|
|
||||||
|
TextInput* m_name_value{ nullptr };
|
||||||
|
TextInput* m_k_value{ nullptr };
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace GUI
|
} // namespace GUI
|
||||||
|
|
Loading…
Reference in New Issue