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

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

Inheritance diagram for Slic3r::GUI::CalibrationDialog:
Collaboration diagram for Slic3r::GUI::CalibrationDialog:

Public Member Functions

 CalibrationDialog (Plater *plater=nullptr)
 ~CalibrationDialog ()
void on_dpi_changed (const wxRect &suggested_rect) override
void update_cali (MachineObject *obj)
bool is_stage_list_info_changed (MachineObject *obj)
void on_start_calibration (wxMouseEvent &event)
void update_machine_obj (MachineObject *obj)
bool Show (bool show) 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 ()

Public Attributes

StepIndicator * m_calibration_flow
Button * m_calibration_btn
MachineObject * m_obj = nullptr
std::vector< int > last_stage_list_info
int m_state {0}

Protected Member Functions

virtual void on_sys_color_changed ()

Private Member Functions

wxWindow * create_check_option (wxString title, wxWindow *parent, wxString tooltip, std::string param)
void update_em_unit ()
bool is_new_scale_factor () const
void rescale (const wxRect &suggested_rect)

Private Attributes

std::map< std::string, ::CheckBox * > m_checkbox_list
wxWindow * select_xcam_cali { nullptr }
wxWindow * select_bed_leveling { nullptr }
wxWindow * select_vibration { nullptr }
wxWindow * select_motor_noise { nullptr }
wxWindow * select_nozzle_cali { nullptr }
wxWindow * select_heatbed_cali { nullptr }
wxWindow * select_clumppos_cali { nullptr }
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

◆ CalibrationDialog()

Slic3r::GUI::CalibrationDialog::CalibrationDialog ( Plater * plater = nullptr)
41 : DPIDialog(static_cast<wxWindow *>(wxGetApp().mainframe), wxID_ANY, _L("Calibration"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX)
42{
43 this->SetDoubleBuffered(true);
44
45 SetBackgroundColour(*wxWHITE);
46 wxBoxSizer *m_sizer_main = new wxBoxSizer(wxVERTICAL);
47 auto m_line_top = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1, 1), wxTAB_TRAVERSAL);
48 m_line_top->SetBackgroundColour(wxColour(166, 169, 170));
49 m_sizer_main->Add(m_line_top, 0, wxEXPAND, 0);
50
51 wxBoxSizer *sizer_body = new wxBoxSizer(wxHORIZONTAL);
52 auto body_panel = new wxPanel(this, wxID_ANY);
53
54 body_panel->SetBackgroundColour(*wxWHITE);
55 auto cali_left_panel = new StaticBox(body_panel, wxID_ANY, wxDefaultPosition, wxSize(FromDIP(303), -1));
56 cali_left_panel->SetBackgroundColor(BG_COLOR);
57 cali_left_panel->SetBorderColor(BG_COLOR);
58
59 wxBoxSizer *cali_left_sizer = new wxBoxSizer(wxVERTICAL);
60 cali_left_sizer->Add(0, 0, 0, wxTOP, FromDIP(25));
61
62 // calibration step selection
63 auto cali_step_select_title = new wxStaticText(cali_left_panel, wxID_ANY, _L("Calibration step selection"), wxDefaultPosition, wxDefaultSize, 0);
64 cali_step_select_title->SetFont(::Label::Head_14);
65 cali_step_select_title->Wrap(-1);
66 cali_step_select_title->SetForegroundColour(FG_COLOR);
67 cali_step_select_title->SetBackgroundColour(BG_COLOR);
68 cali_left_sizer->Add(cali_step_select_title, 0, wxLEFT, FromDIP(15));
69
70 select_xcam_cali = create_check_option(_L("Micro lidar calibration"), cali_left_panel, _L("Micro lidar calibration"), "xcam_cali");
71 select_bed_leveling = create_check_option(_L("Bed leveling"), cali_left_panel, _L("Bed leveling"), "bed_leveling");
72 select_vibration = create_check_option(_L("Vibration compensation"), cali_left_panel, _L("Vibration compensation"), "vibration");
73 select_motor_noise = create_check_option(_L("Motor noise cancellation"), cali_left_panel, _L("Motor noise cancellation"), "motor_noise");
74 select_nozzle_cali = create_check_option(_L("Nozzle offset calibration"), cali_left_panel, _L("Nozzle offset calibration"), "nozzle_cali");
75 select_heatbed_cali = create_check_option(_L("High-temperature Heatbed Calibration"), cali_left_panel, _L("High-temperature Heatbed Calibration"), "bed_cali");
76 select_clumppos_cali = create_check_option(_L("Nozzle clumping detection Calibration"), cali_left_panel, _L("Nozzle clumping detection Calibration"), "clump_pos_cali");
77
78 // STUDIO-10091 the default not checked option
79 if(m_checkbox_list.count("bed_cali") != 0)
80 {
81 m_checkbox_list["bed_cali"]->SetValue(false);
82 }
83
84 cali_left_sizer->Add(0, FromDIP(18), 0, wxEXPAND, 0);
85 cali_left_sizer->Add(select_xcam_cali, 0, wxLEFT, FromDIP(15));
86 cali_left_sizer->Add(select_bed_leveling, 0, wxLEFT, FromDIP(15));
87 cali_left_sizer->Add(select_vibration, 0, wxLEFT, FromDIP(15));
88 cali_left_sizer->Add(select_motor_noise, 0, wxLEFT, FromDIP(15));
89 cali_left_sizer->Add(select_nozzle_cali, 0, wxLEFT, FromDIP(15));
90 cali_left_sizer->Add(select_heatbed_cali, 0, wxLEFT, FromDIP(15));
91 cali_left_sizer->Add(select_clumppos_cali, 0, wxLEFT, FromDIP(15));
92 cali_left_sizer->Add(0, FromDIP(30), 0, wxEXPAND, 0);
93
94 auto cali_left_text_top = new wxStaticText(cali_left_panel, wxID_ANY, _L("Calibration program"), wxDefaultPosition, wxDefaultSize, 0);
95 cali_left_text_top->SetFont(::Label::Head_14);
96 cali_left_text_top->Wrap(-1);
97 cali_left_text_top->SetForegroundColour(FG_COLOR);
98 cali_left_text_top->SetBackgroundColour(BG_COLOR);
99
100 cali_left_sizer->Add(cali_left_text_top, 0, wxLEFT, FromDIP(15));
101
102 cali_left_sizer->Add(0, 0, 0, wxTOP, FromDIP(5));
103
104 auto cali_left_text_body =
105 new Label(cali_left_panel, _L("The calibration program detects the status of your device automatically to minimize deviation.\nIt keeps the device performing optimally."));
106 cali_left_text_body->Wrap(FromDIP(260));
107 cali_left_text_body->SetForegroundColour(wxColour(0x6B, 0x6B, 0x6B));
108 cali_left_text_body->SetBackgroundColour(BG_COLOR);
109 cali_left_text_body->SetFont(::Label::Body_13);
110 cali_left_sizer->Add(cali_left_text_body, 0, wxLEFT, FromDIP(15));
111
112 cali_left_sizer->Add(0, 0, 0, wxTOP, FromDIP(20));
113
114 /* auto cali_left_text_top_prepar = new wxStaticText(cali_left_panel, wxID_ANY, _L("Preparation before calibration"), wxDefaultPosition, wxDefaultSize, 0);
115 cali_left_text_top_prepar->SetFont(::Label::Head_14);
116 cali_left_text_top_prepar->SetForegroundColour(wxColour(0x32, 0x3A, 0x3D));
117 cali_left_text_top_prepar->SetBackgroundColour(wxColour(0xF8, 0xF8, 0xF8));
118 cali_left_text_top_prepar->Wrap(-1);
119 cali_left_sizer->Add(cali_left_text_top_prepar, 0, wxLEFT, FromDIP(15));
120
121 cali_left_sizer->Add(0, 0, 0, wxTOP, FromDIP(5));
122
123 auto cali_left_text_body_prepar =
124 new wxStaticText(cali_left_panel, wxID_ANY,
125 _L("Before calibration, please make sure a filament is loaded and its nozzle temperature and bed temperature is set in Feeding lab."),
126 wxDefaultPosition, wxSize(FromDIP(260), -1), 0); cali_left_text_body_prepar->Wrap(FromDIP(260)); cali_left_text_body_prepar->SetFont(::Label::Body_13);
127 cali_left_text_body_prepar->SetForegroundColour(wxColour(0x6B, 0x6B, 0x6B));
128 cali_left_text_body_prepar->SetBackgroundColour(wxColour(0xF8, 0xF8, 0xF8));
129 cali_left_sizer->Add(cali_left_text_body_prepar, 0, wxLEFT, FromDIP(15));*/
130
131 cali_left_panel->SetSizer(cali_left_sizer);
132 cali_left_panel->Layout();
133 sizer_body->Add(cali_left_panel, 0, wxALIGN_CENTER, 0);
134
135 sizer_body->Add(0, 0, 0, wxLEFT, FromDIP(8));
136
137 wxBoxSizer *cali_right_sizer_h = new wxBoxSizer(wxHORIZONTAL);
138 wxBoxSizer *cali_right_sizer_v = new wxBoxSizer(wxVERTICAL);
139
140 auto cali_right_panel = new StaticBox(body_panel, wxID_ANY, wxDefaultPosition, wxSize(FromDIP(182), FromDIP(200)));
141 cali_right_panel->SetBackgroundColor(BG_COLOR);
142 cali_right_panel->SetBorderColor(BG_COLOR);
143
144 auto cali_text_right_top = new wxStaticText(cali_right_panel, wxID_ANY, _L("Calibration Flow"), wxDefaultPosition, wxDefaultSize, 0);
145 cali_text_right_top->Wrap(-1);
146 cali_text_right_top->SetFont(::Label::Head_14);
147 cali_text_right_top->SetForegroundColour(AMS_CONTROL_BRAND_COLOUR);
148 cali_text_right_top->SetBackgroundColour(BG_COLOR);
149
150 auto staticline = new ::StaticLine(cali_right_panel);
151 staticline->SetLineColour(AMS_CONTROL_BRAND_COLOUR);
152 auto calibration_sizer = new wxBoxSizer(wxVERTICAL);
153
154 m_calibration_flow = new StepIndicator(cali_right_panel, wxID_ANY);
155 StateColor bg_color(std::pair<wxColour, int>(BG_COLOR, StateColor::Normal));
156 m_calibration_flow->SetBackgroundColor(bg_color);
158 m_calibration_flow->SetMinSize(wxSize(CALI_FLOW_CONTENT_WIDTH, FromDIP(160)));
159 m_calibration_flow->SetSize(wxSize(CALI_FLOW_CONTENT_WIDTH, FromDIP(160)));
160
161 m_calibration_btn = new Button(cali_right_panel, _L("Start Calibration"));
163
164 cali_right_sizer_v->Add(cali_text_right_top, 0, wxALIGN_CENTER, 0);
165 cali_right_sizer_v->Add(0, 0, 0, wxTOP, FromDIP(7));
166 cali_right_sizer_v->Add(staticline, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(10));
167 cali_right_sizer_v->Add(0, 0, 0, wxTOP, FromDIP(3));
168 cali_right_sizer_v->Add(m_calibration_flow, 0, wxALIGN_CENTER_HORIZONTAL | wxLEFT | wxRIGHT, FromDIP(6));
169 cali_right_sizer_v->Add(0, 0, 1, wxEXPAND, 5);
170 cali_right_sizer_v->Add(m_calibration_btn, 0, wxALIGN_CENTER_HORIZONTAL, 0);
171
172 cali_right_sizer_h->Add(cali_right_sizer_v, 0, wxALIGN_CENTER, 0);
173 cali_right_panel->SetSizer(cali_right_sizer_h);
174 cali_right_panel->Layout();
175
176 sizer_body->Add(cali_right_panel, 0, wxEXPAND, 0);
177
178 body_panel->SetSizer(sizer_body);
179 body_panel->Layout();
180
181 m_sizer_main->Add(body_panel, 0, wxEXPAND | wxALL, FromDIP(25));
182 SetSizerAndFit(m_sizer_main);
183 Layout();
184 Fit();
185
186 m_calibration_btn->Bind(wxEVT_LEFT_DOWN, &CalibrationDialog::on_start_calibration, this);
187}
#define AMS_CONTROL_BRAND_COLOUR
Definition AMSItem.hpp:36
@ Confirm
Definition Button.hpp:25
@ Choice
Definition Button.hpp:33
#define CALI_FLOW_CONTENT_WIDTH
Definition Calibration.cpp:36
static wxColour FG_COLOR
Definition Calibration.cpp:33
static wxColour BG_COLOR
Definition Calibration.cpp:34
#define _L(s)
Definition OBJ.cpp:34
class WXDLLIMPEXP_FWD_CORE wxStaticText
Definition ProgressDialog.hpp:30
static wxFont Body_13
Definition Label.hpp:54
static wxFont Head_14
Definition Label.hpp:45
static wxFont Body_12
Definition Label.hpp:55
wxWindow * select_motor_noise
Definition Calibration.hpp:47
wxWindow * select_nozzle_cali
Definition Calibration.hpp:48
wxWindow * select_heatbed_cali
Definition Calibration.hpp:49
StepIndicator * m_calibration_flow
Definition Calibration.hpp:58
wxWindow * select_bed_leveling
Definition Calibration.hpp:45
void on_start_calibration(wxMouseEvent &event)
Definition Calibration.cpp:341
wxWindow * select_vibration
Definition Calibration.hpp:46
wxWindow * create_check_option(wxString title, wxWindow *parent, wxString tooltip, std::string param)
Definition Calibration.cpp:193
std::map< std::string, ::CheckBox * > m_checkbox_list
Definition Calibration.hpp:42
wxWindow * select_clumppos_cali
Definition Calibration.hpp:50
wxWindow * select_xcam_cali
Definition Calibration.hpp:44
Button * m_calibration_btn
Definition Calibration.hpp:59
@ Normal
Definition StateColor.hpp:16
wxColour bg_color()
Definition SpeedDialDialog.cpp:69

References _L, AMS_CONTROL_BRAND_COLOUR, BG_COLOR, Label::Body_12, Label::Body_13, CALI_FLOW_CONTENT_WIDTH, Choice, Confirm, create_check_option(), FG_COLOR, Label::Head_14, m_calibration_btn, m_calibration_flow, m_checkbox_list, StateColor::Normal, on_start_calibration(), Slic3r::GUI::plater(), select_bed_leveling, select_clumppos_cali, select_heatbed_cali, select_motor_noise, select_nozzle_cali, select_vibration, select_xcam_cali, and wxStaticText.

Here is the call graph for this function:

◆ ~CalibrationDialog()

Slic3r::GUI::CalibrationDialog::~CalibrationDialog ( )
189{}

Member Function Documentation

◆ create_check_option()

wxWindow * Slic3r::GUI::CalibrationDialog::create_check_option ( wxString title,
wxWindow * parent,
wxString tooltip,
std::string param )
private
194{
195 auto checkbox = new wxWindow(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
196 checkbox->SetBackgroundColour(BG_COLOR);
197
198 wxBoxSizer* sizer_checkbox = new wxBoxSizer(wxHORIZONTAL);
199 wxBoxSizer* sizer_check = new wxBoxSizer(wxVERTICAL);
200
201 auto check = new ::CheckBox(checkbox);
202
203 sizer_check->Add(check, 0, wxBOTTOM | wxEXPAND | wxTOP, FromDIP(5));
204
205 sizer_checkbox->Add(sizer_check, 0, wxEXPAND, FromDIP(5));
206 sizer_checkbox->Add(0, 0, 0, wxEXPAND | wxLEFT, FromDIP(11));
207
208 auto text = new wxStaticText(checkbox, wxID_ANY, title, wxDefaultPosition, wxDefaultSize, wxST_ELLIPSIZE_END);
209 text->SetFont(::Label::Body_13);
210 text->SetForegroundColour(wxColour(107, 107, 107));
211 text->Wrap(-1);
212 sizer_checkbox->Add(text, 0, wxBOTTOM | wxEXPAND | wxTOP, FromDIP(5));
213
214 checkbox->SetSizer(sizer_checkbox);
215 checkbox->Layout();
216 sizer_checkbox->Fit(checkbox);
217
218 checkbox->SetToolTip(tooltip);
219 text->SetToolTip(tooltip);
220
221 text->Bind(wxEVT_LEFT_DOWN, [check](wxMouseEvent&) { check->SetValue(check->GetValue() ? false : true); });
222 m_checkbox_list[param] = check;
223 m_checkbox_list[param]->SetValue(true);
224 return checkbox;
225}
wxMouseEvent
Definition CameraPopup.cpp:47
bool check(ModelVolumeType volume_type)
Definition GLGizmoEmboss.cpp:515

References BG_COLOR, Label::Body_13, m_checkbox_list, Slic3r::GUI::wxMouseEvent, and wxStaticText.

Referenced by CalibrationDialog().

Here is the caller graph for this function:

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

◆ is_stage_list_info_changed()

bool Slic3r::GUI::CalibrationDialog::is_stage_list_info_changed ( MachineObject * obj)
329{
330 if (!obj) return true;
331
332 if (last_stage_list_info.size() != obj->stage_list_info.size()) return true;
333
334 for (int i = 0; i < last_stage_list_info.size(); i++) {
335 if (last_stage_list_info[i] != obj->stage_list_info[i]) return true;
336 }
337 last_stage_list_info = obj->stage_list_info;
338 return false;
339}
std::vector< int > last_stage_list_info
Definition Calibration.hpp:62

References last_stage_list_info, and Slic3r::MachineObject::stage_list_info.

Referenced by update_cali().

Here is the caller graph for this function:

◆ normal_font()

◆ on_dpi_changed()

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

◆ on_start_calibration()

void Slic3r::GUI::CalibrationDialog::on_start_calibration ( wxMouseEvent & event)
342{
343 if (m_obj) {
344 if (m_obj->is_calibration_done()) {
345 m_obj->calibration_done = false;
346 EndModal(wxID_CANCEL);
347 Close();
348 } else {
349 BOOST_LOG_TRIVIAL(info) << "on_start_calibration";
350 m_obj->command_start_calibration(
351 m_checkbox_list["vibration"]->GetValue(),
352 m_checkbox_list["bed_leveling"]->GetValue(),
353 m_checkbox_list["xcam_cali"]->GetValue(),
354 m_checkbox_list["motor_noise"]->GetValue(),
355 m_checkbox_list["nozzle_cali"]->GetValue(),
356 m_checkbox_list["bed_cali"]->GetValue(),
357 m_checkbox_list["clump_pos_cali"]->GetValue()
358 );
359 }
360 }
361}
MachineObject * m_obj
Definition Calibration.hpp:60
void EndModal(int retCode) override
Definition GUI_Utils.hpp:305

References Slic3r::GUI::DPIDialog::EndModal(), m_checkbox_list, m_obj, and Slic3r::GUI::wxMouseEvent.

Referenced by CalibrationDialog().

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

◆ Show()

bool Slic3r::GUI::CalibrationDialog::Show ( bool show)
override
366{
367 if (show) {
368 wxGetApp().UpdateDlgDarkUI(this);
369 CentreOnParent();
370 }
371 return DPIDialog::Show(show);
372}

◆ ShowModal()

◆ update_cali()

void Slic3r::GUI::CalibrationDialog::update_cali ( MachineObject * obj)
228{
229 if (!obj) return;
230 if (obj->GetConfig()->SupportAIMonitor() && obj->GetConfig()->SupportCalibrationLidar())
231 {
232 select_xcam_cali->Show();
233 } else {
234 select_xcam_cali->Hide();
235 m_checkbox_list["xcam_cali"]->SetValue(false);
236 }
237
238 if(obj->is_support_bed_leveling != 0){
239 select_bed_leveling->Show();
240 }else{
241 select_bed_leveling->Hide();
242 m_checkbox_list["bed_leveling"]->SetValue(false);
243 }
244
245 if (obj->is_support_motor_noise_cali) {
246 select_motor_noise->Show();
247 } else {
248 select_motor_noise->Hide();
249 m_checkbox_list["motor_noise"]->SetValue(false);
250 }
251
252 if (obj->GetConfig()->SupportCalibrationNozzleOffset()) {
253 select_nozzle_cali->Show();
254 } else {
255 select_nozzle_cali->Hide();
256 m_checkbox_list["nozzle_cali"]->SetValue(false);
257 }
258
259 if (obj->GetConfig()->SupportCalibrationHighTempBed()) {
260 select_heatbed_cali->Show();
261 } else {
262 select_heatbed_cali->Hide();
263 m_checkbox_list["bed_cali"]->SetValue(false);
264 }
265
266 if (obj->GetConfig()->SupportCaliClumpPos()) {
267 select_clumppos_cali->Show();
268 } else {
269 select_clumppos_cali->Hide();
270 m_checkbox_list["clump_pos_cali"]->SetValue(false);
271 }
272
273 if (obj->is_calibration_running() || obj->is_calibration_done()) {
274 if (obj->is_calibration_done()) {
275 m_calibration_btn->Enable();
276 m_calibration_btn->SetLabel(_L("Completed"));
277
278 } else {
279 // RUNNING && IDLE
280 m_calibration_btn->Disable();
281 m_calibration_btn->SetLabel(_L("Calibrating"));
282
283 }
284 auto size = wxSize(CALI_FLOW_CONTENT_WIDTH, obj->stage_list_info.size() * FromDIP(35));
285 if (m_calibration_flow->GetSize().y != size.y) {
286 m_calibration_flow->SetSize(size);
287 m_calibration_flow->SetMinSize(size);
288 m_calibration_flow->SetMaxSize(size);
289 m_calibration_flow->Refresh();
290
291 Layout();
292
293 }
295 // change items if stage_list_info changed
296 m_calibration_flow->DeleteAllItems();
297 for (int i = 0; i < obj->stage_list_info.size(); i++) {
298 m_calibration_flow->AppendItem(Slic3r::get_stage_string(obj->stage_list_info[i]));
299 }
300
301 last_stage_list_info = obj->stage_list_info;
302 }
303 int index = obj->get_curr_stage_idx();
304 m_calibration_flow->SelectItem(index);
305 } else {
306 // IDLE
307 if (obj->is_in_printing()) {
308 m_calibration_btn->Disable();
309 }
310 else {
311 m_calibration_btn->Enable();
312 }
313 m_calibration_flow->DeleteAllItems();
314 m_calibration_btn->SetLabel(_L("Start Calibration"));
315 if (!m_checkbox_list["vibration"]->GetValue() && !m_checkbox_list["bed_leveling"]->GetValue() &&
316 !m_checkbox_list["xcam_cali"]->GetValue() && !m_checkbox_list["motor_noise"]->GetValue() &&
317 !m_checkbox_list["nozzle_cali"]->GetValue() && !m_checkbox_list["bed_cali"]->GetValue())
318 {
319 m_calibration_btn->Disable();
320 m_calibration_btn->SetLabel(_L("No step selected"));
321 }
322 else {
323 m_calibration_btn->Enable();
324 }
325 }
326}
bool is_stage_list_info_changed(MachineObject *obj)
Definition Calibration.cpp:328
wxString get_stage_string(int stage)
Definition DeviceManager.cpp:178

References _L, CALI_FLOW_CONTENT_WIDTH, Slic3r::MachineObject::get_curr_stage_idx(), Slic3r::get_stage_string(), Slic3r::MachineObject::GetConfig(), Slic3r::MachineObject::is_calibration_done(), Slic3r::MachineObject::is_calibration_running(), Slic3r::MachineObject::is_in_printing(), is_stage_list_info_changed(), Slic3r::MachineObject::is_support_bed_leveling, Slic3r::MachineObject::is_support_motor_noise_cali, last_stage_list_info, m_calibration_btn, m_calibration_flow, m_checkbox_list, select_bed_leveling, select_clumppos_cali, select_heatbed_cali, select_motor_noise, select_nozzle_cali, select_xcam_cali, Slic3r::MachineObject::stage_list_info, Slic3r::DevConfig::SupportAIMonitor(), Slic3r::DevConfig::SupportCalibrationHighTempBed(), Slic3r::DevConfig::SupportCalibrationLidar(), Slic3r::DevConfig::SupportCalibrationNozzleOffset(), and Slic3r::DevConfig::SupportCaliClumpPos().

Here is the call graph for this function:

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

◆ update_machine_obj()

void Slic3r::GUI::CalibrationDialog::update_machine_obj ( MachineObject * obj)
363{ m_obj = obj; }

References m_obj.

Member Data Documentation

◆ last_stage_list_info

std::vector<int> Slic3r::GUI::CalibrationDialog::last_stage_list_info

◆ m_calibration_btn

Button* Slic3r::GUI::CalibrationDialog::m_calibration_btn

Referenced by CalibrationDialog(), and update_cali().

◆ m_calibration_flow

StepIndicator* Slic3r::GUI::CalibrationDialog::m_calibration_flow

Referenced by CalibrationDialog(), and update_cali().

◆ m_can_rescale

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

◆ m_checkbox_list

std::map<std::string, ::CheckBox*> Slic3r::GUI::CalibrationDialog::m_checkbox_list
private

◆ 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_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_obj

MachineObject* Slic3r::GUI::CalibrationDialog::m_obj = nullptr

◆ 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

◆ m_state

int Slic3r::GUI::CalibrationDialog::m_state {0}
63{0};

◆ select_bed_leveling

wxWindow* Slic3r::GUI::CalibrationDialog::select_bed_leveling { nullptr }
private
45{ nullptr };

Referenced by CalibrationDialog(), and update_cali().

◆ select_clumppos_cali

wxWindow* Slic3r::GUI::CalibrationDialog::select_clumppos_cali { nullptr }
private
50{ nullptr };

Referenced by CalibrationDialog(), and update_cali().

◆ select_heatbed_cali

wxWindow* Slic3r::GUI::CalibrationDialog::select_heatbed_cali { nullptr }
private
49{ nullptr };

Referenced by CalibrationDialog(), and update_cali().

◆ select_motor_noise

wxWindow* Slic3r::GUI::CalibrationDialog::select_motor_noise { nullptr }
private
47{ nullptr };

Referenced by CalibrationDialog(), and update_cali().

◆ select_nozzle_cali

wxWindow* Slic3r::GUI::CalibrationDialog::select_nozzle_cali { nullptr }
private
48{ nullptr };

Referenced by CalibrationDialog(), and update_cali().

◆ select_vibration

wxWindow* Slic3r::GUI::CalibrationDialog::select_vibration { nullptr }
private
46{ nullptr };

Referenced by CalibrationDialog().

◆ select_xcam_cali

wxWindow* Slic3r::GUI::CalibrationDialog::select_xcam_cali { nullptr }
private
44{ nullptr };

Referenced by CalibrationDialog(), and update_cali().


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