OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::GUI::EditCalibrationHistoryDialog Class Reference

#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/CaliHistoryDialog.hpp>

Inheritance diagram for Slic3r::GUI::EditCalibrationHistoryDialog:
Collaboration diagram for Slic3r::GUI::EditCalibrationHistoryDialog:

Public Member Functions

 EditCalibrationHistoryDialog (wxWindow *parent, const PACalibResult &result, const MachineObject *obj, const std::vector< PACalibResult > history_results)
 ~EditCalibrationHistoryDialog ()
void on_dpi_changed (const wxRect &suggested_rect) override
PACalibResult get_result ()
void EndModal (int retCode) override
float scale_factor () const
float prev_scale_factor () const
void set_scale_factor (float v)
void set_prev_scale_factor (float v)
void set_em_unit (int v)
bool force_rescale () const
int em_unit () const
const wxFont & normal_font () const
void enable_force_rescale ()
int ShowModal ()

Protected Member Functions

virtual void on_save (wxCommandEvent &event)
virtual void on_cancel (wxCommandEvent &event)
virtual void on_sys_color_changed ()

Protected Attributes

std::string m_old_name
PACalibResult m_new_result
std::vector< PACalibResult > m_history_results
const MachineObject * curr_obj
TextInput * m_name_value { nullptr }
TextInput * m_k_value { nullptr }

Private Member Functions

void update_em_unit ()
bool is_new_scale_factor () const
void rescale (const wxRect &suggested_rect)

Private Attributes

float m_scale_factor
int m_em_unit
wxFont m_normal_font
float m_prev_scale_factor
bool m_can_rescale
bool m_force_rescale
int m_new_font_point_size

Detailed Description

Constructor & Destructor Documentation

◆ EditCalibrationHistoryDialog()

Slic3r::GUI::EditCalibrationHistoryDialog::EditCalibrationHistoryDialog ( wxWindow * parent,
const PACalibResult & result,
const MachineObject * obj,
const std::vector< PACalibResult > history_results )
575 : DPIDialog(parent, wxID_ANY, _L("Edit Flow Dynamics Calibration"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE)
576 , m_new_result(result)
577 , m_history_results(history_results)
578 , m_old_name(result.name)
579{
580 curr_obj = obj;
581
582 this->SetBackgroundColour(*wxWHITE);
583 auto main_sizer = new wxBoxSizer(wxVERTICAL);
584
585 auto top_panel = new wxPanel(this);
586 top_panel->SetBackgroundColour(*wxWHITE);
587 auto panel_sizer = new wxBoxSizer(wxVERTICAL);
588 top_panel->SetSizer(panel_sizer);
589
590 auto flex_sizer = new wxFlexGridSizer(0, 2, FromDIP(15), FromDIP(30));
591 flex_sizer->SetFlexibleDirection(wxBOTH);
592 flex_sizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
593
594 Label* name_title = new Label(top_panel, _L("Name"));
595 m_name_value = new TextInput(top_panel, from_u8(m_new_result.name), "", "", wxDefaultPosition, EDIT_HISTORY_DIALOG_INPUT_SIZE, wxTE_PROCESS_ENTER);
596
597 flex_sizer->Add(name_title);
598 flex_sizer->Add(m_name_value);
599
600 Label* preset_name_title = new Label(top_panel, _L("Filament"));
601 wxString preset_name = get_preset_name_by_filament_id(result.filament_id);
602 Label* preset_name_value = new Label(top_panel, preset_name);
603 flex_sizer->Add(preset_name_title);
604 flex_sizer->Add(preset_name_value);
605
606 if (obj && obj->is_multi_extruders()) {
607
608 Label *extruder_name_title = new Label(top_panel, _L("Extruder"));
610 obj->printer_type, result.extruder_id, ToolHeadComponent::Extruder, ToolHeadNameCase::TitleCase, true));
611 Label *extruder_name_value = new Label(top_panel, extruder_name);
612 flex_sizer->Add(extruder_name_title);
613 flex_sizer->Add(extruder_name_value);
614 }
615
616 if (obj && obj->GetNozzleSystem() && obj->GetNozzleSystem()->GetNozzleRack()
617 && obj->GetNozzleSystem()->GetNozzleRack()->IsSupported() && result.extruder_id == MAIN_EXTRUDER_ID) {
618 Label* nozzle_id_title = new Label(top_panel, _L("Nozzle ID"));
619 wxString nozzle_id = nozzle_id_code_to_string(result.nozzle_pos_id);
620 Label* nozzle_id_value = new Label(top_panel, nozzle_id);
621 flex_sizer->Add(nozzle_id_title);
622 flex_sizer->Add(nozzle_id_value);
623 }
624
626 Label *nozzle_name_title = new Label(top_panel, _L("Nozzle"));
627 wxString nozzle_name;
628 const ConfigOptionDef *nozzle_volume_type_def = print_config_def.get("nozzle_volume_type");
629 if (nozzle_volume_type_def && nozzle_volume_type_def->enum_keys_map) {
630 for (auto iter = nozzle_volume_type_def->enum_keys_map->begin(); iter != nozzle_volume_type_def->enum_keys_map->end(); ++iter) {
631 if (iter->second == result.nozzle_volume_type) {
632 nozzle_name = _L(iter->first);
633 break;
634 }
635 }
636 }
637 Label *nozzle_name_value = new Label(top_panel, nozzle_name);
638 flex_sizer->Add(nozzle_name_title);
639 flex_sizer->Add(nozzle_name_value);
640 }
641
642 Label* k_title = new Label(top_panel, _L("Factor K"));
643 auto k_str = wxString::Format("%.3f", m_new_result.k_value);
644 m_k_value = new TextInput(top_panel, k_str, "", "", wxDefaultPosition, EDIT_HISTORY_DIALOG_INPUT_SIZE, wxTE_PROCESS_ENTER);
645 flex_sizer->Add(k_title);
646 flex_sizer->Add(m_k_value);
647
648 // Hide:
649 //Label* n_title = new Label(top_panel, _L("Factor N"));
650 //TextInput* n_value = new TextInput(top_panel, n, "", "", wxDefaultPosition, EDIT_HISTORY_DIALOG_INPUT_SIZE, wxTE_PROCESS_ENTER);
651 //flex_sizer->Add(n_title);
652 //flex_sizer->Add(n_value);
653
654 panel_sizer->Add(flex_sizer);
655
656 panel_sizer->AddSpacer(FromDIP(25));
657
658 auto dlg_btns = new DialogButtons(top_panel, {"OK", "Cancel"});
659 dlg_btns->GetOK()->SetLabel(_L("Save"));
660 dlg_btns->GetOK()->Bind(wxEVT_BUTTON, &EditCalibrationHistoryDialog::on_save, this);
661 dlg_btns->GetCANCEL()->Bind(wxEVT_BUTTON, &EditCalibrationHistoryDialog::on_cancel, this);
662 panel_sizer->Add(dlg_btns, 0, wxEXPAND, 0);
663
664 main_sizer->Add(top_panel, 1, wxEXPAND | wxALL, FromDIP(20));
665
666 SetSizerAndFit(main_sizer);
667 Layout();
668 CenterOnParent();
669
670 wxGetApp().UpdateDlgDarkUI(this);
671}
#define EDIT_HISTORY_DIALOG_INPUT_SIZE
Definition CaliHistoryDialog.cpp:56
#define MAIN_EXTRUDER_ID
Definition DevDefs.h:101
#define _L(s)
Definition OBJ.cpp:34
const ConfigOptionDef * get(const t_config_option_key &opt_key) const
Definition Config.hpp:2662
static std::string get_toolhead_display_name(const std::string &type_str, int ext_id, ToolHeadComponent component, ToolHeadNameCase name_case=ToolHeadNameCase::TitleCase, bool short_name=false)
Definition DevConfigUtil.cpp:379
const MachineObject * curr_obj
Definition CaliHistoryDialog.hpp:74
virtual void on_save(wxCommandEvent &event)
Definition CaliHistoryDialog.cpp:680
TextInput * m_name_value
Definition CaliHistoryDialog.hpp:76
TextInput * m_k_value
Definition CaliHistoryDialog.hpp:77
std::vector< PACalibResult > m_history_results
Definition CaliHistoryDialog.hpp:73
PACalibResult m_new_result
Definition CaliHistoryDialog.hpp:72
virtual void on_cancel(wxCommandEvent &event)
Definition CaliHistoryDialog.cpp:722
std::string m_old_name
Definition CaliHistoryDialog.hpp:71
static wxString nozzle_id_code_to_string(int code)
Definition CaliHistoryDialog.cpp:91
wxString from_u8(const std::string &str)
Definition GUI.cpp:544
bool support_nozzle_volume(const MachineObject *obj)
Definition CaliHistoryDialog.cpp:74
static wxString get_preset_name_by_filament_id(std::string filament_id)
Definition CaliHistoryDialog.cpp:103
@ Extruder
Definition DevConfigUtil.h:34
const PrintConfigDef print_config_def
Definition PrintConfig.cpp:10099
@ TitleCase
Definition DevConfigUtil.h:41

References _L, curr_obj, EDIT_HISTORY_DIALOG_INPUT_SIZE, Slic3r::ConfigOptionDef::enum_keys_map, Slic3r::Extruder, Slic3r::PACalibResult::extruder_id, Slic3r::PACalibResult::filament_id, Slic3r::GUI::from_u8(), Slic3r::GUI::get_preset_name_by_filament_id(), Slic3r::DevPrinterConfigUtil::get_toolhead_display_name(), Slic3r::DevNozzleSystem::GetNozzleRack(), Slic3r::MachineObject::GetNozzleSystem(), Slic3r::GUI::DialogButtons::GetOK(), Slic3r::MachineObject::is_multi_extruders(), m_history_results, m_k_value, m_name_value, m_new_result, m_old_name, MAIN_EXTRUDER_ID, Slic3r::GUI::nozzle_id_code_to_string(), Slic3r::PACalibResult::nozzle_pos_id, Slic3r::PACalibResult::nozzle_volume_type, on_cancel(), on_save(), Slic3r::print_config_def, Slic3r::MachineObject::printer_type, Button::SetLabel(), Slic3r::GUI::support_nozzle_volume(), and Slic3r::TitleCase.

Here is the call graph for this function:

◆ ~EditCalibrationHistoryDialog()

Slic3r::GUI::EditCalibrationHistoryDialog::~EditCalibrationHistoryDialog ( )
673 {
674}

Member Function Documentation

◆ em_unit()

int Slic3r::GUI::DPIAware< wxDialog >::em_unit ( ) const
inlineinherited
203{ return m_em_unit; }
Definition GUI_Utils.hpp:107

Referenced by Slic3r::GUI::AuxiliaryDialog::AuxiliaryDialog(), Slic3r::GUI::CopyrightsDialog::CopyrightsDialog(), Slic3r::GUI::DesignTextDialog::DesignTextDialog(), Slic3r::GUI::EditGCodeDialog::EditGCodeDialog(), Slic3r::GUI::FileArchiveDialog::FileArchiveDialog(), Slic3r::GUI::MsgNoUpdates::MsgNoUpdates(), Slic3r::GUI::MsgUpdateForced::MsgUpdateForced(), Slic3r::GUI::OAuthDialog::OAuthDialog(), Slic3r::GUI::ParamsDialog::ParamsDialog(), Slic3r::GUI::PhysicalPrinterDialog::PhysicalPrinterDialog(), Slic3r::GUI::SettingsDialog::SettingsDialog(), anonymous_namespace{3DPrinterOS.cpp}::TokenAuthDialog::TokenAuthDialog(), anonymous_namespace{3DPrinterOS.cpp}::UploadOptionsDialog::UploadOptionsDialog(), Slic3r::GUI::PublishSettingsDialog::add_row_ui(), Slic3r::GUI::DiffPresetDialog::complete_dialog_creation(), Slic3r::GUI::DiffPresetDialog::create_edit_sizer(), Slic3r::GUI::DiffPresetDialog::create_presets_sizer(), Slic3r::GUI::DiffPresetDialog::create_tree(), Slic3r::GUI::ElegooPrintHostSendDialog::init(), Slic3r::GUI::FlashforgePrintHostSendDialog::init(), Slic3r::GUI::PrintHostSendDialog::init(), Slic3r::GUI::AboutDialog::on_dpi_changed(), Slic3r::GUI::AuxiliaryDialog::on_dpi_changed(), Slic3r::GUI::BedShapeDialog::on_dpi_changed(), Slic3r::GUI::ConfigWizard::on_dpi_changed(), Slic3r::GUI::CopyrightsDialog::on_dpi_changed(), Slic3r::GUI::DiffPresetDialog::on_dpi_changed(), Slic3r::GUI::EditGCodeDialog::on_dpi_changed(), Slic3r::GUI::FileArchiveDialog::on_dpi_changed(), Slic3r::GUI::OAuthDialog::on_dpi_changed(), Slic3r::GUI::ObjectTableDialog::on_dpi_changed(), Slic3r::GUI::ParamsDialog::on_dpi_changed(), Slic3r::GUI::PhysicalPrinterDialog::on_dpi_changed(), Slic3r::GUI::PrintHostQueueDialog::on_dpi_changed(), Slic3r::GUI::PurgeModeDialog::on_dpi_changed(), Slic3r::GUI::SavePresetDialog::on_dpi_changed(), Slic3r::GUI::SendSystemInfoDialog::on_dpi_changed(), Slic3r::GUI::SettingsDialog::on_dpi_changed(), and Slic3r::GUI::UnsavedChangesDialog::on_dpi_changed().

Here is the caller graph for this function:

◆ enable_force_rescale()

void Slic3r::GUI::DPIAware< wxDialog >::enable_force_rescale ( )
inlineinherited
206{ m_force_rescale = true; }

◆ EndModal()

void Slic3r::GUI::DPIDialog::EndModal ( int retCode)
inlineoverrideinherited
306 {
307 if (!dialogStack.empty() && dialogStack.front() != this) {
308 // This is a bug in wxWidgets
309 // when the dialog is not top modal dialog, EndModal() just hide dialog without quit
310 // the modal event loop. And the modal event loop blocks us from bottom widgets.
311 // Solution: let user click it manually or close outside. FIXME
312 BOOST_LOG_TRIVIAL(warning) << "DPIAware::EndModal Error: dialogStack is not empty, but top dialog is not this one. retCode=" << retCode;
313 return;
314 }
315
316 return wxDialog::EndModal(retCode);
317 }
std::deque< wxDialog * > dialogStack
Definition GUI_Utils.cpp:549

References Slic3r::GUI::dialogStack.

Referenced by Slic3r::GUI::CloneDialog::CloneDialog(), Slic3r::GUI::ConfigWizard::ConfigWizard(), Slic3r::GUI::CreatePresetSuccessfulDialog::CreatePresetSuccessfulDialog(), Slic3r::GUI::DeleteConfirmDialog::DeleteConfirmDialog(), Slic3r::GUI::DesignVariableDialog::DesignVariableDialog(), Slic3r::GUI::anonymous_namespace{PrintHostDialogs.cpp}::FlashforgeSlotDialog::FlashforgeSlotDialog(), Slic3r::GUI::GuideFrame::GuideFrame(), Slic3r::GUI::InputIpAddressDialog::InputIpAddressDialog(), Slic3r::GUI::ManualNozzleCountDialog::ManualNozzleCountDialog(), Slic3r::GUI::MsgUpdateConfig::MsgUpdateConfig(), Slic3r::GUI::MsgUpdateForced::MsgUpdateForced(), Slic3r::GUI::MultiChoiceDialog::MultiChoiceDialog(), Slic3r::GUI::NetworkErrorDialog::NetworkErrorDialog(), Slic3r::GUI::NetworkPluginRestartDialog::NetworkPluginRestartDialog(), Slic3r::GUI::PartSkipConfirmDialog::PartSkipConfirmDialog(), Slic3r::GUI::PhysicalPrinterDialog::PhysicalPrinterDialog(), Slic3r::GUI::PlateNameEditDialog::PlateNameEditDialog(), Slic3r::GUI::PlateSettingsDialog::PlateSettingsDialog(), Slic3r::GUI::PublishSettingsDialog::PublishSettingsDialog(), Slic3r::GUI::SelectMachineDialog::SelectMachineDialog(), Slic3r::GUI::SendFailedConfirm::SendFailedConfirm(), Slic3r::GUI::SendSystemInfoDialog::SendSystemInfoDialog(), Slic3r::GUI::ShortcutCaptureDialog::ShortcutCaptureDialog(), Slic3r::GUI::SingleChoiceDialog::SingleChoiceDialog(), StepMeshDialog::StepMeshDialog(), Slic3r::GUI::SyncAmsInfoDialog::SyncAmsInfoDialog(), anonymous_namespace{3DPrinterOS.cpp}::TokenAuthDialog::TokenAuthDialog(), Slic3r::GUI::UpdatePluginDialog::UpdatePluginDialog(), Slic3r::GUI::UpdateVersionDialog::UpdateVersionDialog(), Slic3r::GUI::wgtDeviceNozzleRackUpgradeDlg::wgtDeviceNozzleRackUpgradeDlg(), Slic3r::GUI::SavePresetDialog::accept(), Slic3r::GUI::MsgDialog::add_button(), Slic3r::GUI::TipsDialog::add_button(), Slic3r::GUI::FilamentPickerDialog::BindEvents(), Slic3r::GUI::PluginPickerDialog::build_capability_ui(), Slic3r::GUI::BedShapeDialog::build_dialog(), Slic3r::GUI::PluginPickerDialog::build_ui(), Slic3r::GUI::UnsavedChangesDialog::close(), Slic3r::GUI::FileArchiveDialog::create_btn_sizer(), Slic3r::GUI::ColorDecomposeDialog::create_button_panel(), Slic3r::GUI::MixedFilamentDialog::create_button_panel(), Slic3r::GUI::CreateFilamentPresetDialog::create_dialog_buttons(), Slic3r::GUI::CreatePresetForPrinterDialog::create_dialog_buttons(), Slic3r::GUI::EditFilamentPresetDialog::create_dialog_buttons(), Slic3r::GUI::ExportConfigsDialog::create_dialog_buttons(), Slic3r::GUI::PreferencesDialog::create_item_language_combobox(), Slic3r::GUI::PreferencesDialog::create_item_region_combobox(), Slic3r::GUI::PreferencesDialog::create_items(), Slic3r::GUI::CreatePrinterPresetDialog::create_page1_dialog_buttons(), Slic3r::GUI::CreatePrinterPresetDialog::create_page2_dialog_buttons(), Slic3r::GUI::ExportConfigsDialog::data_init(), Slic3r::GUI::WebDialog::destroy_silently(), Slic3r::GUI::EditFilamentPresetDialog::edit_preset(), Slic3r::GUI::ConnectPrinterDialog::end_modal(), Slic3r::GUI::PrintHostSendDialog::EndModal(), Slic3r::GUI::ColorPickerDialog::finish(), Slic3r::GUI::WebDialog::finish(), Slic3r::GUI::Newer3mfVersionDialog::get_btn_sizer(), Slic3r::GUI::ScoreDialog::get_button_sizer(), Slic3r::GUI::WebViewHostDialog::handle_common_script_command(), Slic3r::GUI::ExportPresetBundleDialog::InitExportData(), Slic3r::GUI::SelectMachineDialog::navigate_to_timelapse_page(), Slic3r::GUI::BindMachineDialog::on_bind_success(), Slic3r::GUI::ConnectPrinterDialog::on_button_confirm(), Slic3r::GUI::RecenterDialog::on_button_confirm(), Slic3r::GUI::BindMachineDialog::on_cancel(), Slic3r::GUI::EditCalibrationHistoryDialog::on_cancel(), Slic3r::GUI::InputIpAddressDialog::on_cancel(), Slic3r::GUI::NewCalibrationHistoryDialog::on_cancel(), Slic3r::GUI::OAuthDialog::on_cancel(), Slic3r::GUI::PingCodeBindDialog::on_cancel(), Slic3r::GUI::SelectMachineDialog::on_cancel(), Slic3r::GUI::SendToPrinterDialog::on_cancel(), Slic3r::GUI::SyncAmsInfoDialog::on_cancel(), Slic3r::GUI::UnBindMachineDialog::on_cancel(), Slic3r::GUI::WebDialog::on_close_window(), Slic3r::GUI::NetworkPluginDownloadDialog::on_dont_ask(), Slic3r::GUI::NetworkPluginDownloadDialog::on_download(), Slic3r::GUI::EditDevNameDialog::on_edit_name(), Slic3r::GUI::ConfirmBeforeSendDialog::on_hide(), Slic3r::GUI::PrivacyUpdateDialog::on_hide(), Slic3r::GUI::ShortcutCaptureDialog::on_key(), Slic3r::GUI::TextureImportDialog::on_ok_clicked(), Slic3r::GUI::FileArchiveDialog::on_open_button(), Slic3r::GUI::NetworkPluginDownloadDialog::on_remind_later(), Slic3r::GUI::ProjectDropDialog::on_select_cancel(), Slic3r::GUI::SavePresetDialog::on_select_cancel(), Slic3r::GUI::ProjectDropDialog::on_select_ok(), Slic3r::GUI::SendMultiMachinePage::on_send(), Slic3r::GUI::NetworkPluginDownloadDialog::on_skip(), Slic3r::GUI::TextureImportDialog::on_skip_clicked(), Slic3r::GUI::NetworkPluginDownloadDialog::on_skip_version(), Slic3r::GUI::Cornering_Test_Dlg::on_start(), Slic3r::GUI::FlowRateCalibrationDialog::on_start(), Slic3r::GUI::Input_Shaping_Damp_Test_Dlg::on_start(), Slic3r::GUI::Input_Shaping_Freq_Test_Dlg::on_start(), Slic3r::GUI::MaxVolumetricSpeed_Test_Dlg::on_start(), Slic3r::GUI::PA_Calibration_Dlg::on_start(), Slic3r::GUI::Retraction_Test_Dlg::on_start(), Slic3r::GUI::Temp_Calibration_Dlg::on_start(), Slic3r::GUI::VFA_Test_Dlg::on_start(), Slic3r::GUI::CalibrationDialog::on_start_calibration(), Slic3r::GUI::UnBindMachineDialog::on_unbind_printer(), Slic3r::GUI::PartSkipDialog::OnApplyDialog(), anonymous_namespace{3DPrinterOS.cpp}::TokenAuthDialog::OnCancel(), Slic3r::GUI::AboutDialog::onCloseDialog(), Slic3r::GUI::CopyrightsDialog::onCloseDialog(), Slic3r::GUI::MultiNozzleSyncDialog::OnRackStatusReadingFinished(), Slic3r::GUI::GuideFrame::OnScriptMessage(), Slic3r::GUI::InputIpAddressDialog::OnTimer(), Slic3r::GUI::KBShortcutsDialog::open_mouse_preferences(), Slic3r::GUI::TroubleshootDialog::PackAll(), Slic3r::GUI::TroubleshootDialog::RebuildSystemProfiles(), Slic3r::GUI::SpeedDialWebDialog::run_action(), Slic3r::GUI::OAuthDialog::Show(), Slic3r::GUI::MultiNozzleSyncDialog::UpdateButton(), and Slic3r::GUI::CreatePrinterPresetDialog::validate_input_valid().

◆ force_rescale()

bool Slic3r::GUI::DPIAware< wxDialog >::force_rescale ( ) const
inlineinherited
201{ return m_force_rescale; }

◆ get_result()

PACalibResult Slic3r::GUI::EditCalibrationHistoryDialog::get_result ( )
676 {
677 return m_new_result;
678}

References m_new_result.

Referenced by Slic3r::GUI::HistoryWindow::sync_history_data().

Here is the caller graph for this function:

◆ is_new_scale_factor()

bool Slic3r::GUI::DPIAware< wxDialog >::is_new_scale_factor ( ) const
inlineprivateinherited
262{ return fabs(m_scale_factor - m_prev_scale_factor) > 0.001; }

◆ normal_font()

◆ on_cancel()

void Slic3r::GUI::EditCalibrationHistoryDialog::on_cancel ( wxCommandEvent & event)
protectedvirtual
722 {
723 EndModal(wxID_CANCEL);
724}
void EndModal(int retCode) override
Definition GUI_Utils.hpp:305

References Slic3r::GUI::DPIDialog::EndModal(), and on_cancel().

Referenced by EditCalibrationHistoryDialog(), and on_cancel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ on_dpi_changed()

void Slic3r::GUI::EditCalibrationHistoryDialog::on_dpi_changed ( const wxRect & suggested_rect)
overridevirtual

Implements Slic3r::GUI::DPIAware< wxDialog >.

727{
728}

References on_dpi_changed().

Referenced by on_dpi_changed().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ on_save()

void Slic3r::GUI::EditCalibrationHistoryDialog::on_save ( wxCommandEvent & event)
protectedvirtual
680 {
681 wxString name = m_name_value->GetTextCtrl()->GetValue();
683 return;
684
685 m_new_result.name = m_name_value->GetTextCtrl()->GetValue().ToUTF8().data();
686
687 float k = 0.0f;
688 if (!CalibUtils::validate_input_k_value(m_k_value->GetTextCtrl()->GetValue(), &k)) {
689 MessageDialog msg_dlg(nullptr, wxString::Format(_L("Please input a valid value (K in %.1f~%.1f)"), MIN_PA_K_VALUE, MAX_PA_K_VALUE), wxEmptyString, wxICON_WARNING | wxOK);
690 msg_dlg.ShowModal();
691 return;
692 }
693 wxString k_str = wxString::Format("%.3f", k);
694 m_k_value->GetTextCtrl()->SetValue(k_str);
695 m_new_result.k_value = k;
696
697 if (m_new_result.name != m_old_name) {
698 auto iter = std::find_if(m_history_results.begin(), m_history_results.end(), [this](const PACalibResult &item) {
699 bool has_same_name = item.name == m_new_result.name && item.filament_id == m_new_result.filament_id;
700 if (curr_obj && curr_obj->is_multi_extruders()) {
701 has_same_name &= (item.extruder_id == m_new_result.extruder_id);
702 }
704 has_same_name &= (item.nozzle_volume_type == m_new_result.nozzle_volume_type);
705 }
706 return has_same_name;
707 });
708
709 if (iter != m_history_results.end()) {
710 wxString duplicate_name_info = wxString::Format(_L("Within the same extruder, the name '%s' must be unique when the filament type, nozzle diameter, and nozzle flow "
711 "are identical. Please choose a different name."),
712 m_new_result.name);
713 MessageDialog msg_dlg(nullptr, duplicate_name_info, wxEmptyString, wxICON_WARNING | wxOK);
714 msg_dlg.ShowModal();
715 return;
716 }
717 }
718
719 EndModal(wxID_OK);
720}
static bool validate_input_k_value(wxString k_text, float *output_value)
Definition CalibUtils.cpp:452
static bool validate_input_name(wxString name)
Definition CalibUtils.cpp:434
const double MAX_PA_K_VALUE
Definition CalibUtils.cpp:68
const double MIN_PA_K_VALUE
Definition CalibUtils.cpp:67

References _L, curr_obj, m_history_results, m_k_value, m_name_value, m_new_result, m_old_name, Slic3r::GUI::MAX_PA_K_VALUE, Slic3r::GUI::MIN_PA_K_VALUE, Slic3r::PACalibResult::nozzle_volume_type, Slic3r::GUI::DPIAware< P >::ShowModal(), Slic3r::GUI::support_nozzle_volume(), Slic3r::GUI::CalibUtils::validate_input_k_value(), and Slic3r::GUI::CalibUtils::validate_input_name().

Referenced by EditCalibrationHistoryDialog().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ on_sys_color_changed()

◆ prev_scale_factor()

float Slic3r::GUI::DPIAware< wxDialog >::prev_scale_factor ( ) const
inlineinherited
196{ return m_prev_scale_factor; }

◆ rescale()

void Slic3r::GUI::DPIAware< wxDialog >::rescale ( const wxRect & suggested_rect)
inlineprivateinherited
265 {
266 this->Freeze();
267
268 m_force_rescale = false;
269
270 // set normal application font as a current window font
271 m_normal_font = this->GetFont();
272
274
275 // rescale missed controls sizes and images
277
278 this->Layout();
279 this->Thaw();
280
281 // reset previous scale factor from current scale factor value
283 }
virtual void on_dpi_changed(const wxRect &suggested_rect)=0
void update_em_unit()
Definition GUI_Utils.hpp:249

◆ scale_factor()

float Slic3r::GUI::DPIAware< wxDialog >::scale_factor ( ) const
inlineinherited
195{ return m_scale_factor; }

◆ set_em_unit()

void Slic3r::GUI::DPIAware< wxDialog >::set_em_unit ( int v)
inlineinherited
200{ m_em_unit = v; }

◆ set_prev_scale_factor()

void Slic3r::GUI::DPIAware< wxDialog >::set_prev_scale_factor ( float v)
inlineinherited

◆ set_scale_factor()

void Slic3r::GUI::DPIAware< wxDialog >::set_scale_factor ( float v)
inlineinherited
198{ m_scale_factor = v; }

◆ ShowModal()

◆ update_em_unit()

void Slic3r::GUI::DPIAware< wxDialog >::update_em_unit ( )
inlineprivateinherited
250 {
251 // Linux specific issue : get_dpi_for_window(this) still doesn't responce to the Display's scale in new wxWidgets(3.1.3).
252 // So, calculate the m_em_unit value from the font size, as before
253#if !defined(__WXGTK__)
255#else
256 // initialize default width_unit according to the width of the one symbol ("m") of the currently active font of this window.
257 m_em_unit = std::max<size_t>(10, this->GetTextExtent("m").x - 1);
258#endif // __WXGTK__
259 }

Member Data Documentation

◆ curr_obj

const MachineObject* Slic3r::GUI::EditCalibrationHistoryDialog::curr_obj
protected

◆ m_can_rescale

bool Slic3r::GUI::DPIAware< wxDialog >::m_can_rescale
privateinherited
235{ true };

◆ m_em_unit

int Slic3r::GUI::DPIAware< wxDialog >::m_em_unit
privateinherited

◆ m_force_rescale

bool Slic3r::GUI::DPIAware< wxDialog >::m_force_rescale
privateinherited
236{ false };

◆ m_history_results

std::vector<PACalibResult> Slic3r::GUI::EditCalibrationHistoryDialog::m_history_results
protected

◆ m_k_value

TextInput* Slic3r::GUI::EditCalibrationHistoryDialog::m_k_value { nullptr }
protected
77{ nullptr };

Referenced by EditCalibrationHistoryDialog(), and on_save().

◆ m_name_value

TextInput* Slic3r::GUI::EditCalibrationHistoryDialog::m_name_value { nullptr }
protected
76{ nullptr };

Referenced by EditCalibrationHistoryDialog(), and on_save().

◆ m_new_font_point_size

int Slic3r::GUI::DPIAware< wxDialog >::m_new_font_point_size
privateinherited

◆ m_new_result

PACalibResult Slic3r::GUI::EditCalibrationHistoryDialog::m_new_result
protected

◆ m_normal_font

wxFont Slic3r::GUI::DPIAware< wxDialog >::m_normal_font
privateinherited

◆ m_old_name

std::string Slic3r::GUI::EditCalibrationHistoryDialog::m_old_name
protected

◆ m_prev_scale_factor

float Slic3r::GUI::DPIAware< wxDialog >::m_prev_scale_factor
privateinherited

◆ m_scale_factor

float Slic3r::GUI::DPIAware< wxDialog >::m_scale_factor
privateinherited

The documentation for this class was generated from the following files: