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

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

Inheritance diagram for Slic3r::GUI::Temp_Calibration_Dlg:
Collaboration diagram for Slic3r::GUI::Temp_Calibration_Dlg:

Public Member Functions

 Temp_Calibration_Dlg (wxWindow *parent, wxWindowID id, Plater *plater)
 ~Temp_Calibration_Dlg ()
void on_dpi_changed (const wxRect &suggested_rect) override
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_start (wxCommandEvent &event)
virtual void on_filament_type_changed (wxCommandEvent &event)
void on_show (wxShowEvent &event)
virtual void on_sys_color_changed ()

Protected Attributes

Calib_Params m_params
RadioGroup * m_rbFilamentType
RadioGroup * m_rbModel = nullptr
wxStaticBoxSizer * m_model_box = nullptr
TextInput * m_tiStart
TextInput * m_tiEnd
TextInput * m_tiStep
CheckBox * m_cbResize
Plater * m_plater

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

◆ Temp_Calibration_Dlg()

Slic3r::GUI::Temp_Calibration_Dlg::Temp_Calibration_Dlg ( wxWindow * parent,
wxWindowID id,
Plater * plater )
435 : DPIDialog(parent, id, _L("Temperature calibration"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE), m_plater(plater)
436{
437 SetBackgroundColour(*wxWHITE); // make sure background color set for dialog
438 SetForegroundColour(wxColour("#363636"));
439 SetFont(Label::Body_14);
440
441 wxBoxSizer* v_sizer = new wxBoxSizer(wxVERTICAL);
442 SetSizer(v_sizer);
443
444 // Method Radio Group
445 auto labeled_box_method = new LabeledStaticBox(this, _L("Filament type"));
446 auto method_box = new wxStaticBoxSizer(labeled_box_method, wxHORIZONTAL);
447
448 m_rbFilamentType = new RadioGroup(this, { _L("PLA"), _L("ABS/ASA"), _L("PETG"), _L("PCTG"), _L("TPU"), _L("PA-CF"), _L("PET-CF"), _L("Custom") }, wxVERTICAL, 2);
449 method_box->Add(m_rbFilamentType, 0, wxALL | wxEXPAND, FromDIP(4));
450 v_sizer->Add(method_box, 0, wxTOP | wxRIGHT | wxLEFT | wxEXPAND, FromDIP(10));
451
452 // Belt temperature-tower model: Standard (sectioned tower) vs Overhang (engraved
453 // inverted-L provini that stress overhang quality per temperature). Only affects
454 // belt printers; the upright tower ignores it, so the picker is only shown on
455 // belts. The dialog is cached across printer switches, so visibility is toggled
456 // per-show in on_show() rather than gated here at construction time.
457 auto labeled_box_model = new LabeledStaticBox(this, _L("Test model"));
458 m_model_box = new wxStaticBoxSizer(labeled_box_model, wxHORIZONTAL);
459 m_rbModel = new RadioGroup(this, { _L_CONTEXT("Standard", "Test model"), _L_CONTEXT("Overhang", "Test model") }, wxVERTICAL);
460 m_model_box->Add(m_rbModel, 0, wxALL | wxEXPAND, FromDIP(4));
461 v_sizer->Add(m_model_box, 0, wxTOP | wxRIGHT | wxLEFT | wxEXPAND, FromDIP(10));
462
463 // Settings
464 wxString start_temp_str = _L("Start temp: ");
465 wxString end_temp_str = _L("End temp: ");
466 wxString temp_step_str = _L("Temp step: ");
467 int text_max = GetTextMax(this, std::vector<wxString>{start_temp_str, end_temp_str, temp_step_str});
468
469 auto st_size = wxSize(text_max, -1);
470 auto ti_size = FromDIP(wxSize(120, -1));
471
472 LabeledStaticBox* stb = new LabeledStaticBox(this, _L("Settings"));
473 wxStaticBoxSizer* settings_sizer = new wxStaticBoxSizer(stb, wxVERTICAL);
474
475 settings_sizer->AddSpacer(FromDIP(5));
476
477 // start temp
478 auto start_temp_sizer = new wxBoxSizer(wxHORIZONTAL);
479 auto start_temp_text = new wxStaticText(this, wxID_ANY, start_temp_str, wxDefaultPosition, st_size, wxALIGN_LEFT);
480 m_tiStart = new TextInput(this, std::to_string(230), _L("\u2103" /* °C */), "", wxDefaultPosition, ti_size);
481 m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC));
482 start_temp_sizer->Add(start_temp_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2));
483 start_temp_sizer->Add(m_tiStart , 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2));
484 settings_sizer->Add(start_temp_sizer, 0, wxLEFT, FromDIP(3));
485
486 // end temp
487 auto end_temp_sizer = new wxBoxSizer(wxHORIZONTAL);
488 auto end_temp_text = new wxStaticText(this, wxID_ANY, end_temp_str, wxDefaultPosition, st_size, wxALIGN_LEFT);
489 m_tiEnd = new TextInput(this, std::to_string(190), _L("\u2103" /* °C */), "", wxDefaultPosition, ti_size);
490 m_tiEnd->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC));
491 end_temp_sizer->Add(end_temp_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2));
492 end_temp_sizer->Add(m_tiEnd , 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2));
493 settings_sizer->Add(end_temp_sizer, 0, wxLEFT, FromDIP(3));
494
495 // temp step
496 auto temp_step_sizer = new wxBoxSizer(wxHORIZONTAL);
497 auto temp_step_text = new wxStaticText(this, wxID_ANY, temp_step_str, wxDefaultPosition, st_size, wxALIGN_LEFT);
498 m_tiStep = new TextInput(this, wxString::FromDouble(5), _L("\u2103" /* °C */), "", wxDefaultPosition, ti_size);
499 m_tiStep->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC));
500 m_tiStep->Enable(false);
501 temp_step_sizer->Add(temp_step_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2));
502 temp_step_sizer->Add(m_tiStep , 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(2));
503 settings_sizer->Add(temp_step_sizer, 0, wxLEFT, FromDIP(3));
504
505 // Resize the model to the nozzle diameter (recommended)
506 m_cbResize = add_scale_checkbox(this, settings_sizer);
507
508 settings_sizer->AddSpacer(FromDIP(5));
509
510 v_sizer->Add(settings_sizer, 0, wxTOP | wxRIGHT | wxLEFT | wxEXPAND, FromDIP(10));
511 v_sizer->AddSpacer(FromDIP(5));
512
513 auto dlg_btns = new DialogButtons(this, {"OK"});
514
515 auto bottom_sizer = new wxBoxSizer(wxHORIZONTAL);
516
517 auto wiki_btn = new Button(this, "", "toolbar_wiki", 0, 15);
518 auto wiki_url = "https://www.orcaslicer.com/wiki/temp_calib";
519 wiki_btn->SetToolTip(_L("Wiki Guide") + "\n" + wiki_url);
520 wiki_btn->SetStyle(ButtonStyle::Confirm, ButtonType::Circle);
521 wiki_btn->SetCanFocus(false);
522 wiki_btn->Bind(wxEVT_LEFT_DOWN, ([wiki_url](auto& e) {wxLaunchDefaultBrowser(wiki_url);}));
523
524 bottom_sizer->Add(wiki_btn, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(10));
525 bottom_sizer->AddStretchSpacer();
526 bottom_sizer->Add(dlg_btns, 0, wxEXPAND);
527 v_sizer->Add(bottom_sizer, 0, wxEXPAND);
528
529 dlg_btns->GetOK()->Bind(wxEVT_BUTTON, &Temp_Calibration_Dlg::on_start, this);
530
531 m_rbFilamentType->Connect(wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler(Temp_Calibration_Dlg::on_filament_type_changed), NULL, this);
532
533 // Refresh the belt-only model picker on every show — the dialog is cached and
534 // reused across printer switches.
535 this->Connect(wxEVT_SHOW, wxShowEventHandler(Temp_Calibration_Dlg::on_show));
537
538 wxGetApp().UpdateDlgDarkUI(this);
539
540 Layout();
541 Fit();
542 v_sizer->SetSizeHints(this);
543
544 auto validate_text = [](TextInput* ti){
545 unsigned long t = 0;
546 if(!ti->GetTextCtrl()->GetValue().ToULong(&t))
547 return;
548 if(t> 500 || t < 155){
549 // TRN %s is the temperature unit
550 MessageDialog msg_dlg(nullptr, wxString::Format(_L("Supported range: 170%s - 500%s"),
551 _L("\u2103" /* °C */), _L("\u2103" /* °C */)),
552 wxEmptyString, wxICON_WARNING | wxOK);
553 msg_dlg.ShowModal();
554 if(t > 500)
555 t = 500;
556 else
557 t = 155;
558 }
559 t = (t / 5) * 5;
560 ti->GetTextCtrl()->SetValue(std::to_string(t));
561 };
562
563 m_tiStart->GetTextCtrl()->Bind(wxEVT_KILL_FOCUS, [&](wxFocusEvent &e) {
564 validate_text(this->m_tiStart);
565 e.Skip();
566 });
567
568 m_tiEnd->GetTextCtrl()->Bind(wxEVT_KILL_FOCUS, [&](wxFocusEvent &e) {
569 validate_text(this->m_tiEnd);
570 e.Skip();
571 });
572
573
574}
@ Confirm
Definition Button.hpp:25
@ Circle
Definition Button.hpp:37
#define _L(s)
Definition OBJ.cpp:34
class WXDLLIMPEXP_FWD_CORE wxStaticText
Definition ProgressDialog.hpp:30
static wxFont Body_14
Definition Label.hpp:53
virtual void on_start(wxCommandEvent &event)
Definition calib_dlg.cpp:581
void on_show(wxShowEvent &event)
Definition calib_dlg.cpp:603
TextInput * m_tiStart
Definition calib_dlg.hpp:72
CheckBox * m_cbResize
Definition calib_dlg.hpp:75
TextInput * m_tiStep
Definition calib_dlg.hpp:74
RadioGroup * m_rbFilamentType
Definition calib_dlg.hpp:69
wxStaticBoxSizer * m_model_box
Definition calib_dlg.hpp:71
TextInput * m_tiEnd
Definition calib_dlg.hpp:73
RadioGroup * m_rbModel
Definition calib_dlg.hpp:70
Plater * m_plater
Definition calib_dlg.hpp:76
virtual void on_filament_type_changed(wxCommandEvent &event)
Definition calib_dlg.cpp:617
CheckBox * add_scale_checkbox(wxWindow *parent, wxSizer *settings_sizer)
Definition calib_dlg.cpp:67
bool is_belt_printer_selected()
Definition calib_dlg.cpp:131
int GetTextMax(wxWindow *parent, const std::vector< wxString > &labels)
Definition calib_dlg.cpp:59
static Plater * plater()
Definition GUI_Factories.cpp:400
#define _L_CONTEXT(s, ctx)
Definition I18N.hpp:15

References _L, _L_CONTEXT, Label::Body_14, Circle, Confirm, Slic3r::GUI::DialogButtons::GetOK(), m_cbResize, m_model_box, m_plater, m_rbFilamentType, m_rbModel, m_tiEnd, m_tiStart, m_tiStep, on_filament_type_changed(), on_show(), on_start(), Slic3r::GUI::plater(), Slic3r::GUI::DPIAware< P >::ShowModal(), and wxStaticText.

Here is the call graph for this function:

◆ ~Temp_Calibration_Dlg()

Slic3r::GUI::Temp_Calibration_Dlg::~Temp_Calibration_Dlg ( )
576 {
577 // Disconnect Events
578 m_rbFilamentType->Disconnect(wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler(Temp_Calibration_Dlg::on_filament_type_changed), NULL, this);
579}

References m_rbFilamentType, and on_filament_type_changed().

Here is the call graph for this function:

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; }

◆ 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_dpi_changed()

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

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

659 {
660 this->Refresh();
661 Fit();
662
663}

◆ on_filament_type_changed()

void Slic3r::GUI::Temp_Calibration_Dlg::on_filament_type_changed ( wxCommandEvent & event)
protectedvirtual
617 {
618 int selection = event.GetSelection();
619 unsigned long start = 0, end = 0;
620 switch(selection)
621 {
622 case tABS_ASA:
623 start = 270;
624 end = 230;
625 break;
626 case tPETG:
627 start = 250;
628 end = 230;
629 break;
630 case tPCTG:
631 start = 280;
632 end = 240;
633 break;
634 case tTPU:
635 case tTPU_AMS:
636 start = 240;
637 end = 210;
638 break;
639 case tPA_CF:
640 start = 320;
641 end = 280;
642 break;
643 case tPET_CF:
644 start = 320;
645 end = 280;
646 break;
647 case tPLA:
648 case tCustom:
649 start = 230;
650 end = 190;
651 break;
652 }
653
654 m_tiEnd->GetTextCtrl()->SetValue(std::to_string(end));
655 m_tiStart->GetTextCtrl()->SetValue(std::to_string(start));
656 event.Skip();
657}
T * end(Slic3r::Mat< N, M, T > &mat)
Definition Point.hpp:841
@ tPETG
Definition calib_dlg.cpp:425
@ tPCTG
Definition calib_dlg.cpp:426
@ tPA_CF
Definition calib_dlg.cpp:429
@ tPET_CF
Definition calib_dlg.cpp:430
@ tTPU_AMS
Definition calib_dlg.cpp:428
@ tCustom
Definition calib_dlg.cpp:431
@ tABS_ASA
Definition calib_dlg.cpp:424
@ tTPU
Definition calib_dlg.cpp:427
@ tPLA
Definition calib_dlg.cpp:423

References m_tiEnd, m_tiStart, Slic3r::GUI::tABS_ASA, Slic3r::GUI::tCustom, Slic3r::GUI::tPA_CF, Slic3r::GUI::tPCTG, Slic3r::GUI::tPET_CF, Slic3r::GUI::tPETG, Slic3r::GUI::tPLA, Slic3r::GUI::tTPU, and Slic3r::GUI::tTPU_AMS.

Referenced by Temp_Calibration_Dlg(), and ~Temp_Calibration_Dlg().

Here is the caller graph for this function:

◆ on_show()

void Slic3r::GUI::Temp_Calibration_Dlg::on_show ( wxShowEvent & event)
protected
603 {
604 // ORCA-Belt: the dialog is cached across printer switches, so refresh the
605 // belt-only "Test model" picker on every show. The Overhang model only
606 // applies to belt printers; hide it (and resize the dialog) otherwise.
607 const bool belt = is_belt_printer_selected();
608 if (m_model_box->AreAnyItemsShown() != belt) {
609 m_model_box->ShowItems(belt);
610 Layout();
611 Fit();
612 GetSizer()->SetSizeHints(this);
613 }
614 event.Skip();
615}

References m_model_box.

Referenced by Temp_Calibration_Dlg().

Here is the caller graph for this function:

◆ on_start()

void Slic3r::GUI::Temp_Calibration_Dlg::on_start ( wxCommandEvent & event)
protectedvirtual
581 {
582 bool read_long = false;
583 unsigned long start=0,end=0;
584 read_long = m_tiStart->GetTextCtrl()->GetValue().ToULong(&start);
585 read_long = read_long && m_tiEnd->GetTextCtrl()->GetValue().ToULong(&end);
586
587 if (!read_long || start > 500 || end < 155 || end > (start - 5)) {
588 MessageDialog msg_dlg(nullptr, _L("Please input valid values:\nStart temp: <= 500\nEnd temp: >= 155\nStart temp >= End temp + 5"), wxEmptyString, wxICON_WARNING | wxOK);
589 msg_dlg.ShowModal();
590 return;
591 }
592 m_params.start = start;
593 m_params.end = end;
594 m_params.nozzle_based_resize = m_cbResize->GetValue();
596 // Picker only exists on belt printers; default non-belt to the Standard model.
597 m_params.test_model = m_rbModel ? m_rbModel->GetSelection() : 0;
598 m_plater->calib_temp(m_params);
599 EndModal(wxID_OK);
600
601}
void EndModal(int retCode) override
Definition GUI_Utils.hpp:305
Calib_Params m_params
Definition calib_dlg.hpp:67
@ Calib_Temp_Tower
Definition calib.hpp:30

References _L, Slic3r::Calib_Temp_Tower, Slic3r::GUI::DPIDialog::EndModal(), m_cbResize, m_params, m_plater, m_rbModel, m_tiEnd, m_tiStart, and Slic3r::GUI::DPIAware< P >::ShowModal().

Referenced by Temp_Calibration_Dlg().

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

◆ m_can_rescale

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

◆ m_cbResize

CheckBox* Slic3r::GUI::Temp_Calibration_Dlg::m_cbResize
protected

Referenced by Temp_Calibration_Dlg(), and on_start().

◆ 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_model_box

wxStaticBoxSizer* Slic3r::GUI::Temp_Calibration_Dlg::m_model_box = nullptr
protected

Referenced by Temp_Calibration_Dlg(), and on_show().

◆ m_new_font_point_size

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

◆ m_normal_font

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

◆ m_params

Calib_Params Slic3r::GUI::Temp_Calibration_Dlg::m_params
protected

Referenced by on_start().

◆ m_plater

Plater* Slic3r::GUI::Temp_Calibration_Dlg::m_plater
protected

Referenced by Temp_Calibration_Dlg(), and on_start().

◆ m_prev_scale_factor

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

◆ m_rbFilamentType

RadioGroup* Slic3r::GUI::Temp_Calibration_Dlg::m_rbFilamentType
protected

◆ m_rbModel

RadioGroup* Slic3r::GUI::Temp_Calibration_Dlg::m_rbModel = nullptr
protected

Referenced by Temp_Calibration_Dlg(), and on_start().

◆ m_scale_factor

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

◆ m_tiEnd

TextInput* Slic3r::GUI::Temp_Calibration_Dlg::m_tiEnd
protected

◆ m_tiStart

TextInput* Slic3r::GUI::Temp_Calibration_Dlg::m_tiStart
protected

◆ m_tiStep

TextInput* Slic3r::GUI::Temp_Calibration_Dlg::m_tiStep
protected

Referenced by Temp_Calibration_Dlg().


The documentation for this class was generated from the following files:
  • /home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/calib_dlg.hpp
  • /home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/calib_dlg.cpp