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

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

Inheritance diagram for Slic3r::GUI::NetworkPluginDownloadDialog:
Collaboration diagram for Slic3r::GUI::NetworkPluginDownloadDialog:

Public Types

enum class  Mode { MissingPlugin , UpdateAvailable , CorruptedPlugin }
enum  ResultCode {
  RESULT_DOWNLOAD = wxID_OK , RESULT_SKIP = wxID_CANCEL , RESULT_REMIND_LATER = wxID_APPLY , RESULT_SKIP_VERSION = wxID_IGNORE ,
  RESULT_DONT_ASK = wxID_ABORT
}

Public Member Functions

 NetworkPluginDownloadDialog (wxWindow *parent, Mode mode, const std::string &current_version="", const std::string &error_message="", const std::string &error_details="")
std::string get_selected_version () const
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

void on_dpi_changed (const wxRect &suggested_rect) override
virtual void on_sys_color_changed ()

Private Member Functions

void create_missing_plugin_ui ()
void create_update_available_ui (const std::string &current_version)
void setup_version_selector ()
void on_download (wxCommandEvent &evt)
void on_skip (wxCommandEvent &evt)
void on_remind_later (wxCommandEvent &evt)
void on_skip_version (wxCommandEvent &evt)
void on_dont_ask (wxCommandEvent &evt)
void update_em_unit ()
bool is_new_scale_factor () const
void rescale (const wxRect &suggested_rect)

Private Attributes

Mode m_mode
ComboBox * m_version_combo {nullptr}
std::string m_error_message
std::string m_error_details
std::vector< NetworkLibraryVersionInfo > m_available_versions
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

Member Enumeration Documentation

◆ Mode

Enumerator
MissingPlugin 
UpdateAvailable 
CorruptedPlugin 
27 {
28 MissingPlugin,
30 CorruptedPlugin
31 };
@ UpdateAvailable
Definition PluginDescriptor.hpp:30

◆ ResultCode

Enumerator
RESULT_DOWNLOAD 
RESULT_SKIP 
RESULT_REMIND_LATER 
RESULT_SKIP_VERSION 
RESULT_DONT_ASK 
40 {
41 RESULT_DOWNLOAD = wxID_OK,
42 RESULT_SKIP = wxID_CANCEL,
43 RESULT_REMIND_LATER = wxID_APPLY,
44 RESULT_SKIP_VERSION = wxID_IGNORE,
45 RESULT_DONT_ASK = wxID_ABORT
46 };
@ RESULT_DONT_ASK
Definition NetworkPluginDialog.hpp:45
@ RESULT_SKIP_VERSION
Definition NetworkPluginDialog.hpp:44
@ RESULT_SKIP
Definition NetworkPluginDialog.hpp:42
@ RESULT_REMIND_LATER
Definition NetworkPluginDialog.hpp:43
@ RESULT_DOWNLOAD
Definition NetworkPluginDialog.hpp:41

Constructor & Destructor Documentation

◆ NetworkPluginDownloadDialog()

Slic3r::GUI::NetworkPluginDownloadDialog::NetworkPluginDownloadDialog ( wxWindow * parent,
Mode mode,
const std::string & current_version = "",
const std::string & error_message = "",
const std::string & error_details = "" )
38 : DPIDialog(parent, wxID_ANY, mode == Mode::UpdateAvailable ?
39 _L("Network Plug-in Update Available") : _L("Bambu Network Plug-in Required"),
40 wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE)
41 , m_mode(mode)
42 , m_error_message(error_message)
43 , m_error_details(error_details)
44{
45 SetBackgroundColour(*wxWHITE);
46
47 wxBoxSizer* main_sizer = new wxBoxSizer(wxVERTICAL);
48
49 auto m_line_top = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(DIALOG_WIDTH, 1));
50 m_line_top->SetBackgroundColour(wxColour(166, 169, 170));
51 main_sizer->Add(m_line_top, 0, wxEXPAND, 0);
52 main_sizer->AddSpacer(BORDER_W);
53
54 SetSizer(main_sizer);
55
56 if (mode == Mode::UpdateAvailable) {
57 create_update_available_ui(current_version);
58 } else {
60 }
61 main_sizer->SetSizeHints(this);
62 Layout();
63 Fit();
64 CentreOnParent();
65 wxGetApp().UpdateDlgDarkUI(this);
66}
#define BORDER_W
Definition BitmapComboBox.cpp:48
#define DIALOG_WIDTH
Definition NetworkPluginDialog.cpp:29
#define _L(s)
Definition OBJ.cpp:34
std::string m_error_message
Definition NetworkPluginDialog.hpp:63
void create_missing_plugin_ui()
Definition NetworkPluginDialog.cpp:68
void create_update_available_ui(const std::string &current_version)
Definition NetworkPluginDialog.cpp:141
std::string m_error_details
Definition NetworkPluginDialog.hpp:64
Mode m_mode
Definition NetworkPluginDialog.hpp:61
@ UpdateAvailable
Definition NetworkPluginDialog.hpp:29

References _L, BORDER_W, create_missing_plugin_ui(), create_update_available_ui(), DIALOG_WIDTH, m_error_details, m_error_message, m_mode, and UpdateAvailable.

Here is the call graph for this function:

Member Function Documentation

◆ create_missing_plugin_ui()

void Slic3r::GUI::NetworkPluginDownloadDialog::create_missing_plugin_ui ( )
private
69{
70 wxBoxSizer* main_sizer = static_cast<wxBoxSizer*>(GetSizer());
71
72 auto* desc = new Label(this,
74 _L("The Bambu Network Plug-in is corrupted or incompatible. Please reinstall it.") :
75 _L("The Bambu Network Plug-in is required for cloud features, printer discovery, and remote printing."));
76 desc->Wrap(TEXT_WRAP);
77 desc->SetMaxSize(wxSize(TEXT_WRAP, -1));
78 main_sizer->Add(desc, 0, wxLEFT | wxRIGHT, BORDER_W);
79 main_sizer->AddSpacer(FromDIP(15));
80
81 if (!m_error_message.empty()) {
82 auto* error_label = new wxStaticText(this, wxID_ANY,
83 wxString::Format(_L("Error: %s"), wxString::FromUTF8(m_error_message)));
84 error_label->SetFont(::Label::Body_13);
85 error_label->SetForegroundColour(wxColour(208, 93, 93));
86 error_label->Wrap(TEXT_WRAP);
87 error_label->SetMaxSize(wxSize(TEXT_WRAP, -1));
88 main_sizer->Add(error_label, 0, wxLEFT | wxRIGHT, BORDER_W);
89 main_sizer->AddSpacer(FromDIP(5));
90
91 if (!m_error_details.empty()) {
92 auto expand_btn = new Button(this, _L("Show details"));
93 expand_btn->SetStyle(ButtonStyle::Regular, ButtonType::Compact);
94 main_sizer->Add(expand_btn, 0, wxLEFT, BORDER_W);
95 main_sizer->AddSpacer(FromDIP(5));
96
97 auto details_text = new wxTextCtrl(this, wxID_ANY, wxString::FromUTF8(m_error_details),
98 wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE | wxTE_READONLY | wxNO_BORDER);
99
100 details_text->SetFont(wxGetApp().code_font());
101 details_text->SetBackgroundColour(wxColour("#F1F1F1"));
102 details_text->SetMaxSize(wxSize(TEXT_WRAP, -1));
103 main_sizer->Add(details_text, 0, wxLEFT | wxRIGHT | wxEXPAND, BORDER_W);
104
105 details_text->Hide();
106
107 expand_btn->Bind(wxEVT_BUTTON, [this, details_text, expand_btn](wxCommandEvent&){
108 Freeze();
109 details_text->Show(!details_text->IsShown());
110 expand_btn->SetLabel(details_text->IsShown() ? _L("Hide details") : _L("Show details"));
111 Layout();
112 Fit();
113 Refresh();
114 Thaw();
115 });
116
117 main_sizer->AddSpacer(FromDIP(15));
118 }
119 }
120
121 auto* version_label = new Label(this, _L("Version to install:"));
122 main_sizer->Add(version_label, 0, wxLEFT | wxRIGHT, BORDER_W);
123 main_sizer->AddSpacer(FromDIP(3));
124
126
127 main_sizer->Add(m_version_combo, 0, wxLEFT | wxRIGHT | wxEXPAND, BORDER_W);
128 main_sizer->AddSpacer(15);
129
130 auto dlg_btns = new DialogButtons(this,
131 {L("Download and Install"), L("Skip for Now")},
132 _L("Download and Install") // Primary button
133 );
134
135 dlg_btns->GetButtonFromIndex(0)->Bind(wxEVT_BUTTON, &NetworkPluginDownloadDialog::on_download, this);
136 dlg_btns->GetButtonFromIndex(1)->Bind(wxEVT_BUTTON, &NetworkPluginDownloadDialog::on_skip, this);
137
138 main_sizer->Add(dlg_btns, 0, wxLEFT | wxRIGHT | wxBOTTOM | wxEXPAND, FromDIP(10));
139}
@ Regular
Definition Button.hpp:24
@ Compact
Definition Button.hpp:31
#define L(s)
Definition ExtrusionEntity.cpp:25
#define TEXT_WRAP
Definition NetworkPluginDialog.cpp:28
class WXDLLIMPEXP_FWD_CORE wxStaticText
Definition ProgressDialog.hpp:30
static wxFont Body_13
Definition Label.hpp:54
void on_download(wxCommandEvent &evt)
Definition NetworkPluginDialog.cpp:243
@ CorruptedPlugin
Definition NetworkPluginDialog.hpp:30
ComboBox * m_version_combo
Definition NetworkPluginDialog.hpp:62
void on_skip(wxCommandEvent &evt)
Definition NetworkPluginDialog.cpp:258
void setup_version_selector()
Definition NetworkPluginDialog.cpp:217

References _L, Label::Body_13, BORDER_W, Compact, CorruptedPlugin, Slic3r::GUI::DialogButtons::GetButtonFromIndex(), L, m_error_details, m_error_message, m_mode, m_version_combo, on_download(), on_skip(), Regular, setup_version_selector(), TEXT_WRAP, and wxStaticText.

Referenced by NetworkPluginDownloadDialog().

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

◆ create_update_available_ui()

void Slic3r::GUI::NetworkPluginDownloadDialog::create_update_available_ui ( const std::string & current_version)
private
142{
143 wxBoxSizer* main_sizer = static_cast<wxBoxSizer*>(GetSizer());
144
145 auto* desc = new Label(this,
146 _L("A new version of the Bambu Network Plug-in is available."));
147 desc->Wrap(TEXT_WRAP);
148 desc->SetMaxSize(wxSize(TEXT_WRAP, -1));
149 main_sizer->Add(desc, 0, wxLEFT | wxRIGHT, BORDER_W);
150 main_sizer->AddSpacer(FromDIP(15));
151
152 auto* version_text = new Label(this,
153 wxString::Format(_L("Current version: %s"), wxString::FromUTF8(current_version)));
154 main_sizer->Add(version_text, 0, wxLEFT | wxRIGHT, BORDER_W);
155 main_sizer->AddSpacer(FromDIP(15));
156
157 auto* update_label = new Label(this, _L("Update to version:"));
158 main_sizer->Add(update_label, 0, wxLEFT | wxRIGHT, BORDER_W);
159 main_sizer->AddSpacer(FromDIP(3));
160
162 main_sizer->Add(m_version_combo, 0, wxLEFT | wxRIGHT | wxEXPAND, BORDER_W);
163 main_sizer->AddSpacer(20);
164
165 auto daa_sizer = new wxBoxSizer(wxHORIZONTAL);
166 auto cfg = wxGetApp().app_config;
167
168 auto daa_chk = new CheckBox(this);
169 daa_chk->SetValue(cfg->is_network_update_prompt_disabled());
170 daa_chk->Bind(wxEVT_TOGGLEBUTTON, [](wxCommandEvent& e){
171 auto cfg = wxGetApp().app_config;
172 cfg->set_network_update_prompt_disabled(e.IsChecked());
173 cfg->save();
174 });
175
176 auto daa_str = new Label(this, _L("Don't Ask Again"));
177 auto on_toggle = [daa_chk]() {
178 daa_chk->SetValue(!daa_chk->GetValue());
179 wxCommandEvent evt(wxEVT_TOGGLEBUTTON, daa_chk->GetId());
180 evt.SetEventObject(daa_chk);
181 daa_chk->GetEventHandler()->ProcessEvent(evt);
182 };
183 daa_str->Bind(wxEVT_LEFT_DOWN, [on_toggle](wxMouseEvent& e) {if(!e.LeftDClick()) on_toggle();});
184 daa_str->Bind(wxEVT_LEFT_DCLICK, [on_toggle](wxMouseEvent& e) {on_toggle();});
185
186 daa_sizer->Add(daa_chk, 0, wxALIGN_CENTER_VERTICAL);
187 daa_sizer->Add(daa_str, 1, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(5));
188
189 main_sizer->Add(daa_sizer, 0, wxLEFT | wxRIGHT | wxEXPAND, BORDER_W);
190 main_sizer->AddSpacer(10);
191
192 auto dlg_btns = new DialogButtons(this,
193 {L("Update Now"), L("Remind Later"), L("Skip Version")},
194 _L("Update Now")
195 );
196
197 dlg_btns->GetButtonFromIndex(0)->Bind(wxEVT_BUTTON, &NetworkPluginDownloadDialog::on_download, this);
198 dlg_btns->GetButtonFromIndex(1)->Bind(wxEVT_BUTTON, &NetworkPluginDownloadDialog::on_remind_later, this);
199 dlg_btns->GetButtonFromIndex(2)->Bind(wxEVT_BUTTON, &NetworkPluginDownloadDialog::on_skip_version, this);
200
201 main_sizer->Add(dlg_btns, 0, wxLEFT | wxRIGHT | wxBOTTOM | wxEXPAND, FromDIP(10));
202}
void on_skip_version(wxCommandEvent &evt)
Definition NetworkPluginDialog.cpp:268
void on_remind_later(wxCommandEvent &evt)
Definition NetworkPluginDialog.cpp:263
wxMouseEvent
Definition CameraPopup.cpp:47

References _L, BORDER_W, Slic3r::GUI::DialogButtons::GetButtonFromIndex(), L, m_version_combo, on_download(), on_remind_later(), on_skip_version(), setup_version_selector(), TEXT_WRAP, and Slic3r::GUI::wxMouseEvent.

Referenced by NetworkPluginDownloadDialog().

Here is the call graph for this function:
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; }

◆ get_selected_version()

std::string Slic3r::GUI::NetworkPluginDownloadDialog::get_selected_version ( ) const
230{
231 if (!m_version_combo) {
232 return "";
233 }
234
235 int selection = m_version_combo->GetSelection();
236 if (selection < 0 || selection >= static_cast<int>(m_available_versions.size())) {
237 return "";
238 }
239
240 return m_available_versions[selection].version;
241}
std::vector< NetworkLibraryVersionInfo > m_available_versions
Definition NetworkPluginDialog.hpp:65

References m_available_versions, and m_version_combo.

Referenced by Slic3r::GUI::GUI_App::show_network_plugin_download_dialog().

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

void Slic3r::GUI::NetworkPluginDownloadDialog::on_dont_ask ( wxCommandEvent & evt)
private
274{
276}
void EndModal(int retCode) override
Definition GUI_Utils.hpp:305

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

Here is the call graph for this function:

◆ on_download()

void Slic3r::GUI::NetworkPluginDownloadDialog::on_download ( wxCommandEvent & evt)
private
244{
245 int selection = m_version_combo ? m_version_combo->GetSelection() : 0;
246 if (selection >= 0 && selection < static_cast<int>(m_available_versions.size())) {
247 const std::string& warning = m_available_versions[selection].warning;
248 if (!warning.empty()) {
249 MessageDialog warn_dlg(this, wxString::FromUTF8(warning), _L("Warning"), wxOK | wxCANCEL | wxICON_WARNING);
250 if (warn_dlg.ShowModal() != wxID_OK) {
251 return;
252 }
253 }
254 }
256}

References _L, Slic3r::GUI::DPIDialog::EndModal(), m_available_versions, m_version_combo, RESULT_DOWNLOAD, and Slic3r::GUI::DPIAware< P >::ShowModal().

Referenced by create_missing_plugin_ui(), and create_update_available_ui().

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

◆ on_dpi_changed()

void Slic3r::GUI::NetworkPluginDownloadDialog::on_dpi_changed ( const wxRect & suggested_rect)
overrideprotectedvirtual

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

279{
280 Layout();
281 Fit();
282}

◆ on_remind_later()

void Slic3r::GUI::NetworkPluginDownloadDialog::on_remind_later ( wxCommandEvent & evt)
private
264{
266}

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

Referenced by create_update_available_ui().

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

◆ on_skip()

void Slic3r::GUI::NetworkPluginDownloadDialog::on_skip ( wxCommandEvent & evt)
private
259{
261}

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

Referenced by create_missing_plugin_ui().

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

◆ on_skip_version()

void Slic3r::GUI::NetworkPluginDownloadDialog::on_skip_version ( wxCommandEvent & evt)
private
269{
271}

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

Referenced by create_update_available_ui().

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

◆ setup_version_selector()

void Slic3r::GUI::NetworkPluginDownloadDialog::setup_version_selector ( )
private
218{
219 m_version_combo = new ComboBox(this, wxID_ANY, wxEmptyString,
220 wxDefaultPosition, wxSize(FromDIP(380), FromDIP(28)), 0, nullptr, wxCB_READONLY);
221
223 for (const auto& ver : m_available_versions)
225
226 m_version_combo->SetSelection(0);
227}
wxString network_version_label(const NetworkLibraryVersionInfo &ver)
Definition NetworkPluginDialog.cpp:204
std::vector< NetworkLibraryVersionInfo > get_all_available_versions()
Definition BBLNetworkPlugin.cpp:885

References Slic3r::get_all_available_versions(), m_available_versions, m_version_combo, and Slic3r::GUI::network_version_label().

Referenced by create_missing_plugin_ui(), and create_update_available_ui().

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

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

std::vector<NetworkLibraryVersionInfo> Slic3r::GUI::NetworkPluginDownloadDialog::m_available_versions
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_error_details

std::string Slic3r::GUI::NetworkPluginDownloadDialog::m_error_details
private

◆ m_error_message

std::string Slic3r::GUI::NetworkPluginDownloadDialog::m_error_message
private

◆ m_force_rescale

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

◆ m_mode

Mode Slic3r::GUI::NetworkPluginDownloadDialog::m_mode
private

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

ComboBox* Slic3r::GUI::NetworkPluginDownloadDialog::m_version_combo {nullptr}
private

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