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

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

Inheritance diagram for Slic3r::GUI::PingCodeBindDialog:
Collaboration diagram for Slic3r::GUI::PingCodeBindDialog:

Public Member Functions

 PingCodeBindDialog (Plater *plater=nullptr)
 ~PingCodeBindDialog ()
void on_key_input (wxKeyEvent &evt)
void on_text_changed (wxCommandEvent &event)
void on_key_backspace (wxKeyEvent &event)
void on_cancel (wxCommandEvent &event)
void on_bind_printer (wxCommandEvent &event)
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_sys_color_changed ()

Private Member Functions

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

Private Attributes

Label * m_status_text
wxStaticText * m_text_input_title
HyperLink * m_link_show_ping_code_wiki
TextInput * m_text_input_single_code [PING_CODE_LENGTH]
Button * m_button_bind
Button * m_button_cancel
Button * m_button_close
wxSimplebook * m_simplebook
wxPanel * request_bind_panel
wxPanel * binding_panel
wxString m_result_info
wxString m_result_extra
wxString m_ping_code_wiki
std::shared_ptr< BBLStatusBarBind > m_status_bar
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

◆ PingCodeBindDialog()

Slic3r::GUI::PingCodeBindDialog::PingCodeBindDialog ( Plater * plater = nullptr)
95 : DPIDialog(static_cast<wxWindow*>(wxGetApp().mainframe), wxID_ANY, _L("Bind with Pin Code"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX)
96{
97#ifdef __WINDOWS__
98 SetDoubleBuffered(true);
99#endif //__WINDOWS__
100 wxBoxSizer* sizer_main = new wxBoxSizer(wxVERTICAL);
101
102 SetBackgroundColour(*wxWHITE);
103 wxBoxSizer* m_sizer_main = new wxBoxSizer(wxVERTICAL);
104 auto m_line_top = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1, 1), wxTAB_TRAVERSAL);
105 m_line_top->SetBackgroundColour(wxColour(166, 169, 170));
106
107
108 m_simplebook = new wxSimplebook(this);
109 m_simplebook->SetSize(wxSize(FromDIP(460), FromDIP(240)));
110 m_simplebook->SetMinSize(wxSize(FromDIP(460), FromDIP(240)));
111 m_simplebook->SetMaxSize(wxSize(FromDIP(460), FromDIP(240)));
112
113
114 request_bind_panel = new wxPanel(m_simplebook);
115 binding_panel = new wxPanel(m_simplebook);
116
117 request_bind_panel->SetSize(wxSize(FromDIP(460), FromDIP(240)));
118 request_bind_panel->SetMinSize(wxSize(FromDIP(460), FromDIP(240)));
119 request_bind_panel->SetMaxSize(wxSize(FromDIP(460), FromDIP(240)));
120
121 binding_panel->SetSize(wxSize(FromDIP(460), FromDIP(240)));
122 binding_panel->SetMinSize(wxSize(FromDIP(460), FromDIP(240)));
123 binding_panel->SetMaxSize(wxSize(FromDIP(460), FromDIP(240)));
124
125
126 request_bind_panel->SetBackgroundColour(*wxWHITE);
127 binding_panel->SetBackgroundColour(*wxWHITE);
128
129 m_status_text = new Label(request_bind_panel, _L("Please Find the Pin Code in Account page on printer screen,\n and type in the Pin Code below."));
130 m_status_text->SetBackgroundColour(*wxWHITE);
132 m_status_text->SetMaxSize(wxSize(FromDIP(440), -1));
133 m_status_text->Wrap(FromDIP(440));
134 m_status_text->SetForegroundColour(wxColour(38, 46, 48));
135
136 // ORCA standardized HyperLink
137 m_link_show_ping_code_wiki = new HyperLink(request_bind_panel, _L("Can't find Pin Code?"), "https://wiki.bambulab.com/en/bambu-studio/manual/pin-code");
138
139 m_text_input_title = new wxStaticText(request_bind_panel, wxID_ANY, _L("Pin Code"));
141 m_text_input_title->SetBackgroundColour(*wxWHITE);
142
143 wxBoxSizer* ping_code_input = new wxBoxSizer(wxHORIZONTAL);
144
145
146 for (int i = 0; i < PING_CODE_LENGTH; i++) {
147 m_text_input_single_code[i] = new TextInput(request_bind_panel, wxEmptyString, "", "", wxDefaultPosition, wxSize(FromDIP(38), FromDIP(38)), wxTE_PROCESS_ENTER | wxTE_CENTER);
148 wxTextAttr textAttr;
149 textAttr.SetAlignment(wxTEXT_ALIGNMENT_CENTER);
150 textAttr.SetTextColour(wxColour(34, 139, 34));
151 m_text_input_single_code[i]->GetTextCtrl()->SetDefaultStyle(textAttr);
153 m_text_input_single_code[i]->GetTextCtrl()->SetMaxLength(1);
154 m_text_input_single_code[i]->GetTextCtrl()->Bind(wxEVT_TEXT, &PingCodeBindDialog::on_text_changed, this);
155 m_text_input_single_code[i]->GetTextCtrl()->Bind(wxEVT_KEY_DOWN, &PingCodeBindDialog::on_key_backspace, this);
156 m_text_input_single_code[i]->GetTextCtrl()->Bind(wxEVT_CHAR, &PingCodeBindDialog::on_key_input, this);
157 ping_code_input->Add(m_text_input_single_code[i], 0, wxALL, FromDIP(5));
158 }
159
160 wxBoxSizer* m_sizer_button = new wxBoxSizer(wxHORIZONTAL);
161 m_sizer_button->Add(0, 0, 1, wxEXPAND, 5);
162 m_button_bind = new Button(request_bind_panel, _L("Confirm"));
164 m_button_bind->Enable(false);
165
166 m_button_cancel = new Button(request_bind_panel, _L("Cancel"));
168
169 m_sizer_button->Add(m_button_bind, 0, wxALIGN_CENTER, 0);
170 m_sizer_button->Add(0, 0, 0, wxLEFT, ButtonProps::ChoiceButtonGap());
171 m_sizer_button->Add(m_button_cancel, 0, wxALIGN_CENTER, 0);
172
173
174
175 m_simplebook->AddPage(request_bind_panel, wxEmptyString, true);
176 m_simplebook->AddPage(binding_panel, wxEmptyString, false);
177
178
179 auto sizer_request = new wxBoxSizer(wxVERTICAL);
180 sizer_request->Add(0, 0, 0, wxTOP, FromDIP(10));
181 sizer_request->Add(m_status_text, 0, wxLEFT, FromDIP(13));
182 sizer_request->Add(0, 0, 0, wxTOP, FromDIP(10));
183 sizer_request->Add(m_link_show_ping_code_wiki, 0, wxLEFT, FromDIP(13));
184 sizer_request->Add(0, 0, 0, wxTOP, FromDIP(15));
185 sizer_request->Add(m_text_input_title, 0, wxLEFT, FromDIP(13));
186 sizer_request->Add(0, 0, 0, wxTOP, FromDIP(5));
187 sizer_request->Add(ping_code_input, 0, wxLEFT, FromDIP(10));
188 sizer_request->Add(0, 0, 0, wxTOP, FromDIP(10));
189 sizer_request->AddStretchSpacer();
190 sizer_request->Add(m_sizer_button, 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM, ButtonProps::ChoiceButtonGap());
191 request_bind_panel->SetSizer(sizer_request);
192 request_bind_panel->Layout();
193 request_bind_panel->Fit();
194
195
196
197 auto m_loading_txt = new Label(binding_panel, _L("Binding..."));
198 m_loading_txt->SetBackgroundColour(*wxWHITE);
199 m_loading_txt->SetFont(Label::Head_16);
200 auto m_loading_tip_txt = new Label(binding_panel, _L("Please confirm on the printer screen"));
201 m_loading_tip_txt->SetBackgroundColour(*wxWHITE);
202 m_loading_tip_txt->SetFont(Label::Body_15);
203
204 wxBoxSizer* m_sizer_binding_button = new wxBoxSizer(wxHORIZONTAL);
205 m_sizer_binding_button->Add(0, 0, 1, wxEXPAND, 5);
206
207 m_button_close = new Button(binding_panel, _L("Close"));
209
210 m_sizer_binding_button->Add(m_button_close, 0, wxALIGN_CENTER, 0);
211
212 auto sizer_binding = new wxBoxSizer(wxVERTICAL);
213 sizer_binding->Add(0, 0, 0, wxTOP, FromDIP(80));
214 sizer_binding->Add(m_loading_txt, 0, wxALIGN_CENTER, 0);
215 sizer_binding->Add(0, 0, 0, wxTOP, FromDIP(10));
216 sizer_binding->Add(m_loading_tip_txt, 0, wxALIGN_CENTER, 0);
217 sizer_binding->Add(0, 0, 0, wxTOP, FromDIP(30));
218 sizer_binding->Add(m_sizer_binding_button, 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM, ButtonProps::ChoiceButtonGap());
219 binding_panel->SetSizer(sizer_binding);
220 binding_panel->Layout();
221 binding_panel->Fit();
222
223
224
225 sizer_main->Add(m_line_top, 0, wxEXPAND, 0);
226 sizer_main->Add(m_simplebook, 0, wxEXPAND, 0);
227
228
229
230 SetSizerAndFit(sizer_main);
231 Layout();
232 Fit();
233
234 m_button_bind->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PingCodeBindDialog::on_bind_printer), NULL, this);
235 m_button_cancel->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PingCodeBindDialog::on_cancel), NULL, this);
236 m_button_close->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PingCodeBindDialog::on_cancel), NULL, this);
237
238 m_simplebook->SetSelection(0);
239
240 wxGetApp().UpdateDlgDarkUI(this);
241}
#define PING_CODE_LENGTH
Definition BindDialog.hpp:49
@ Confirm
Definition Button.hpp:25
@ Regular
Definition Button.hpp:24
@ Choice
Definition Button.hpp:33
#define _L(s)
Definition OBJ.cpp:34
class WXDLLIMPEXP_FWD_CORE wxStaticText
Definition ProgressDialog.hpp:30
static int ChoiceButtonGap()
Definition Button.hpp:19
static wxFont Body_16
Definition Label.hpp:51
static wxFont Head_16
Definition Label.hpp:43
static wxFont Body_14
Definition Label.hpp:53
static wxFont Body_15
Definition Label.hpp:52
TextInput * m_text_input_single_code[PING_CODE_LENGTH]
Definition BindDialog.hpp:67
Button * m_button_cancel
Definition BindDialog.hpp:69
void on_bind_printer(wxCommandEvent &event)
Definition BindDialog.cpp:315
wxPanel * request_bind_panel
Definition BindDialog.hpp:72
wxPanel * binding_panel
Definition BindDialog.hpp:73
wxSimplebook * m_simplebook
Definition BindDialog.hpp:71
void on_cancel(wxCommandEvent &event)
Definition BindDialog.cpp:336
Button * m_button_close
Definition BindDialog.hpp:70
wxStaticText * m_text_input_title
Definition BindDialog.hpp:65
void on_key_backspace(wxKeyEvent &event)
Definition BindDialog.cpp:295
Label * m_status_text
Definition BindDialog.hpp:64
void on_key_input(wxKeyEvent &evt)
Definition BindDialog.cpp:243
void on_text_changed(wxCommandEvent &event)
Definition BindDialog.cpp:258
HyperLink * m_link_show_ping_code_wiki
Definition BindDialog.hpp:66
Button * m_button_bind
Definition BindDialog.hpp:68

References _L, binding_panel, Label::Body_14, Label::Body_15, Label::Body_16, Choice, ButtonProps::ChoiceButtonGap(), Confirm, Label::Head_16, m_button_bind, m_button_cancel, m_button_close, m_link_show_ping_code_wiki, m_simplebook, m_status_text, m_text_input_single_code, m_text_input_title, on_bind_printer(), on_cancel(), on_key_backspace(), on_key_input(), on_text_changed(), PING_CODE_LENGTH, Slic3r::GUI::plater(), Regular, request_bind_panel, and wxStaticText.

Here is the call graph for this function:

◆ ~PingCodeBindDialog()

Slic3r::GUI::PingCodeBindDialog::~PingCodeBindDialog ( )
349 {
350 m_button_bind->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PingCodeBindDialog::on_bind_printer), NULL, this);
351 m_button_cancel->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PingCodeBindDialog::on_cancel), NULL, this);
352 m_button_close->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PingCodeBindDialog::on_cancel), NULL, this);
353}

References m_button_bind, m_button_cancel, m_button_close, on_bind_printer(), and on_cancel().

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_bind_printer()

void Slic3r::GUI::PingCodeBindDialog::on_bind_printer ( wxCommandEvent & event)
316{
317 wxString ping_code;
318
319 for (int i = 0; i < PING_CODE_LENGTH; i++) {
320 ping_code += m_text_input_single_code[i]->GetTextCtrl()->GetValue().ToStdString();
321 }
322
323 NetworkAgent* agent = wxGetApp().getAgent();
324 if (agent && agent->is_user_login(wxGetApp().get_printer_cloud_provider()) && ping_code.length() == PING_CODE_LENGTH) {
325 auto result = agent->ping_bind(ping_code.ToStdString());
326
327 if(result < 0){
328 MessageDialog msg_wingow(nullptr, _L("Log in failed. Please check the Pin Code."), "", wxAPPLY | wxOK);
329 msg_wingow.ShowModal();
330 return;
331 }
332 m_simplebook->SetSelection(1);
333 }
334}

References _L, Slic3r::NetworkAgent::is_user_login(), m_simplebook, m_text_input_single_code, Slic3r::NetworkAgent::ping_bind(), PING_CODE_LENGTH, and Slic3r::GUI::DPIAware< P >::ShowModal().

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

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

◆ on_cancel()

void Slic3r::GUI::PingCodeBindDialog::on_cancel ( wxCommandEvent & event)
337{
338 EndModal(wxCLOSE);
339}
void EndModal(int retCode) override
Definition GUI_Utils.hpp:305

References Slic3r::GUI::DPIDialog::EndModal().

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

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

◆ on_dpi_changed()

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

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

342{
343
344 Fit();
345 Refresh();
346}

◆ on_key_backspace()

void Slic3r::GUI::PingCodeBindDialog::on_key_backspace ( wxKeyEvent & event)
296{
297 wxTextCtrl* text_input = static_cast<wxTextCtrl*>(event.GetEventObject());
298 int idx = -1;
299 for (int i = 0; i < 6; i++) {
300 if (text_input == m_text_input_single_code[i]->GetTextCtrl()) {
301 idx = i;
302 break;
303 }
304 }
305
306 if (event.GetKeyCode() == WXK_BACK && idx >= 0) {
307 CallAfter([this, idx]() {
308 m_text_input_single_code[idx - 1]->SetFocus();
309 m_button_bind->Enable(false);
310 });
311 }
312 event.Skip();
313}

References m_button_bind, and m_text_input_single_code.

Referenced by PingCodeBindDialog().

Here is the caller graph for this function:

◆ on_key_input()

void Slic3r::GUI::PingCodeBindDialog::on_key_input ( wxKeyEvent & evt)
244{
245 int keyCode = evt.GetKeyCode();
246
247 if (keyCode == WXK_BACK || (keyCode >= '0' && keyCode <= '9') || (keyCode >= 'a' && keyCode <= 'z') || (keyCode >= 'A' && keyCode <= 'Z'))
248 {
249 evt.Skip();
250 }
251 else
252 {
253 wxBell();
254 return;
255 }
256}

Referenced by PingCodeBindDialog().

Here is the caller graph for this function:

◆ on_sys_color_changed()

◆ on_text_changed()

void Slic3r::GUI::PingCodeBindDialog::on_text_changed ( wxCommandEvent & event)
258 {
259 //switch focus to the text text input
260 wxTextCtrl* text_input = static_cast<wxTextCtrl*>(event.GetEventObject());
261 int idx = -1;
262 for (int i = 0; i < PING_CODE_LENGTH; i++) {
263 if (text_input == m_text_input_single_code[i]->GetTextCtrl()) {
264 idx = i;
265 break;
266 }
267 }
268
269 if (idx != -1 && text_input->GetValue().Length() == 1) {
270 if (idx < PING_CODE_LENGTH-1) {
271 m_text_input_single_code[idx + 1]->SetFocus();
272 }
273
274 auto has_empty = false;
275 for (int i = 0; i < PING_CODE_LENGTH; i++) {
276 if (m_text_input_single_code[i]->GetTextCtrl()->GetValue().ToStdString().empty()) {
277 has_empty = true;
278 }
279 }
280
281 if (has_empty) {
282 m_button_bind->Enable(false);
283 }
284 else {
285 m_button_bind->Enable(true);
286 }
287
288 /*if (idx == PING_CODE_LENGTH - 1) {
289 m_button_bind->Enable(true);
290 }*/
291 }
292
293}
bool empty(const BoundingBoxBase< PointType, PointsType > &bb)
Definition BoundingBox.hpp:273

References Slic3r::empty(), m_button_bind, m_text_input_single_code, and PING_CODE_LENGTH.

Referenced by PingCodeBindDialog().

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

◆ 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

◆ binding_panel

wxPanel* Slic3r::GUI::PingCodeBindDialog::binding_panel
private

Referenced by PingCodeBindDialog().

◆ m_button_bind

Button* Slic3r::GUI::PingCodeBindDialog::m_button_bind
private

◆ m_button_cancel

Button* Slic3r::GUI::PingCodeBindDialog::m_button_cancel
private

◆ m_button_close

Button* Slic3r::GUI::PingCodeBindDialog::m_button_close
private

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

HyperLink* Slic3r::GUI::PingCodeBindDialog::m_link_show_ping_code_wiki
private

Referenced by PingCodeBindDialog().

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

wxString Slic3r::GUI::PingCodeBindDialog::m_ping_code_wiki
private

◆ m_prev_scale_factor

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

◆ m_result_extra

wxString Slic3r::GUI::PingCodeBindDialog::m_result_extra
private

◆ m_result_info

wxString Slic3r::GUI::PingCodeBindDialog::m_result_info
private

◆ m_scale_factor

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

◆ m_simplebook

wxSimplebook* Slic3r::GUI::PingCodeBindDialog::m_simplebook
private

◆ m_status_bar

std::shared_ptr<BBLStatusBarBind> Slic3r::GUI::PingCodeBindDialog::m_status_bar
private

◆ m_status_text

Label* Slic3r::GUI::PingCodeBindDialog::m_status_text
private

Referenced by PingCodeBindDialog().

◆ m_text_input_single_code

TextInput* Slic3r::GUI::PingCodeBindDialog::m_text_input_single_code[PING_CODE_LENGTH]
private

◆ m_text_input_title

wxStaticText* Slic3r::GUI::PingCodeBindDialog::m_text_input_title
private

Referenced by PingCodeBindDialog().

◆ request_bind_panel

wxPanel* Slic3r::GUI::PingCodeBindDialog::request_bind_panel
private

Referenced by PingCodeBindDialog().


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