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

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

Inheritance diagram for Slic3r::GUI::MsgDataIncompatible:
Collaboration diagram for Slic3r::GUI::MsgDataIncompatible:

Public Member Functions

 MsgDataIncompatible (const std::unordered_map< std::string, wxString > &incompats)
 MsgDataIncompatible (MsgDataIncompatible &&)=delete
 MsgDataIncompatible (const MsgDataIncompatible &)=delete
MsgDataIncompatible & operator= (MsgDataIncompatible &&)=delete
MsgDataIncompatible & operator= (const MsgDataIncompatible &)=delete
 ~MsgDataIncompatible ()
void show_dsa_button (wxString const &title={})
bool get_checkbox_state ()
virtual void on_dpi_changed (const wxRect &suggested_rect)
void SetButtonLabel (wxWindowID btn_id, const wxString &label, bool set_focus=false)
void AddButton (wxWindowID btn_id, const wxString &label, bool set_focus=false)
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 Types

enum  {
  BORDER = 20 , LOGO_SPACING = 25 , LOGO_GAP = 20 , CONTENT_WIDTH = 242 ,
  CONTENT_MAX_HEIGHT = 60 , BTN_SPACING = 20 , VERT_SPACING = 15
}

Protected Member Functions

Button * add_button (wxWindowID btn_id, bool set_focus=false, const wxString &label=wxString())
Button * get_button (wxWindowID btn_id)
void apply_style (long style)
void finalize ()
virtual void on_sys_color_changed ()

Protected Attributes

wxFont boldfont
wxBoxSizer * content_sizer
wxBoxSizer * btn_sizer
wxBoxSizer * m_dsa_sizer
wxStaticBitmap * logo
MsgButtonsHash m_buttons
CheckBox * m_checkbox_dsa {nullptr}
wxString m_forward_str

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

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
BORDER 
LOGO_SPACING 
LOGO_GAP 
CONTENT_WIDTH 
CONTENT_MAX_HEIGHT 
BTN_SPACING 
VERT_SPACING 
85 {
86 BORDER = 20,
87 LOGO_SPACING = 25,
88 LOGO_GAP = 20,
89 CONTENT_WIDTH = 242,
90 CONTENT_MAX_HEIGHT = 60,//TO
91 BTN_SPACING = 20,
92 VERT_SPACING = 15,//TO
93 };
@ CONTENT_WIDTH
Definition MsgDialog.hpp:89
@ LOGO_GAP
Definition MsgDialog.hpp:88
@ VERT_SPACING
Definition MsgDialog.hpp:92
@ BORDER
Definition MsgDialog.hpp:86
@ CONTENT_MAX_HEIGHT
Definition MsgDialog.hpp:90
@ BTN_SPACING
Definition MsgDialog.hpp:91
@ LOGO_SPACING
Definition MsgDialog.hpp:87

Constructor & Destructor Documentation

◆ MsgDataIncompatible() [1/3]

Slic3r::GUI::MsgDataIncompatible::MsgDataIncompatible ( const std::unordered_map< std::string, wxString > & incompats)
308 :
309 MsgDialog(nullptr, _(L("Configuration incompatible")), _(L("the configuration package is incompatible with the current application.")), wxICON_ERROR)
310{
311 //TODO
312 //auto *text = new wxStaticText(this, wxID_ANY, wxString::Format(_(L(
313 // "This version of %s is not compatible with currently installed configuration bundles.\n"
314 // "This probably happened as a result of running an older %s after using a newer one.\n\n"
315
316 // "You may either exit %s and try again with a newer version, or you may re-run the initial configuration. "
317 // "Doing so will create a backup snapshot of the existing configuration before installing files compatible with this %s.")) + "\n",
318 // SLIC3R_APP_NAME, SLIC3R_APP_NAME, SLIC3R_APP_NAME, SLIC3R_APP_NAME));
319 //text->Wrap(CONTENT_WIDTH * wxGetApp().em_unit());
320 //content_sizer->Add(text);
321
322 //auto *text2 = new wxStaticText(this, wxID_ANY, wxString::Format(_(L("This %s version: %s")), SLIC3R_APP_NAME, SLIC3R_VERSION));
323 //text2->Wrap(CONTENT_WIDTH * wxGetApp().em_unit());
324 //content_sizer->Add(text2);
325 //content_sizer->AddSpacer(VERT_SPACING);
326
327 //auto *text3 = new wxStaticText(this, wxID_ANY, _(L("Incompatible bundles:")));
328 //text3->Wrap(CONTENT_WIDTH * wxGetApp().em_unit());
329 //content_sizer->Add(text3);
330 //content_sizer->AddSpacer(VERT_SPACING);
331
332 //auto *versions = new wxFlexGridSizer(2, 0, VERT_SPACING);
333 //for (const auto &incompat : incompats) {
334 // auto *text_vendor = new wxStaticText(this, wxID_ANY, incompat.first);
335 // text_vendor->SetFont(boldfont);
336 // versions->Add(text_vendor);
337 // versions->Add(new wxStaticText(this, wxID_ANY, incompat.second));
338 //}
339
340 //content_sizer->Add(versions);
341 //content_sizer->AddSpacer(2*VERT_SPACING);
342
343 //add_button(wxID_REPLACE, true, _L("Re-configure"));
344 //add_button(wxID_EXIT, false, wxString::Format(_L("Exit %s"), SLIC3R_APP_NAME));
345
346 //for (auto ID : {wxID_EXIT, wxID_REPLACE})
347 // get_button(ID)->Bind(wxEVT_BUTTON, [this](const wxCommandEvent& evt) { this->EndModal(evt.GetId()); });
348
349 finalize();
350}
#define _(s)
Definition 3mf.cpp:306
#define L(s)
Definition ExtrusionEntity.cpp:25
void finalize()
Definition MsgDialog.cpp:257
MsgDialog(MsgDialog &&)=delete

References Slic3r::GUI::MsgDialog::MsgDialog(), _, Slic3r::GUI::MsgDialog::finalize(), and L.

Referenced by MsgDataIncompatible(), MsgDataIncompatible(), operator=(), and operator=().

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

◆ MsgDataIncompatible() [2/3]

Slic3r::GUI::MsgDataIncompatible::MsgDataIncompatible ( MsgDataIncompatible && )
delete

References MsgDataIncompatible().

Here is the call graph for this function:

◆ MsgDataIncompatible() [3/3]

Slic3r::GUI::MsgDataIncompatible::MsgDataIncompatible ( const MsgDataIncompatible & )
delete

References MsgDataIncompatible().

Here is the call graph for this function:

◆ ~MsgDataIncompatible()

Slic3r::GUI::MsgDataIncompatible::~MsgDataIncompatible ( )
352{}

Member Function Documentation

◆ add_button()

Button * Slic3r::GUI::MsgDialog::add_button ( wxWindowID btn_id,
bool set_focus = false,
const wxString & label = wxString() )
protectedinherited
185{
186 Button* btn = new Button(this, label, "", 0, 0, btn_id);
187 /* ORCA not required since all buttons has same size and Rescale re applies its style
188 ButtonSizeType type;
189
190 if (label.length() < 5) {
191 type = ButtonSizeNormal;
192 btn->SetMinSize(MSG_DIALOG_BUTTON_SIZE); // ?????
193 }
194 else if (label.length() >= 5 && label.length() < 8) {
195 type = ButtonSizeMiddle;
196 btn->SetMinSize(MSG_DIALOG_MIDDLE_BUTTON_SIZE);
197 }
198 else if (label.length() >= 8 && label.length() < 12) {
199 type = ButtonSizeMiddle;
200 btn->SetMinSize(MSG_DIALOG_LONG_BUTTON_SIZE);
201 } else {
202 type = ButtonSizeLong;
203 btn->SetMinSize(MSG_DIALOG_LONGER_BUTTON_SIZE);
204 }
205 */
206
207 if (btn_id == wxID_OK || btn_id == wxID_YES || btn_id == wxFORWARD) {
209 }
210
211 if (btn_id == wxID_CANCEL || btn_id == wxID_NO) {
213 }
214
215 if (set_focus)
216 btn->SetFocus();
217 btn_sizer->Add(btn, 0, wxLEFT | wxALIGN_CENTER_VERTICAL, FromDIP(ButtonProps::ChoiceButtonGap()));
218 btn->Bind(wxEVT_BUTTON, [this, btn_id](wxCommandEvent&) { EndModal(btn_id); });
219
220 MsgButton *mb = new MsgButton;
221 ButtonData *bd = new ButtonData;
222
223 bd->button = btn;
224 //bd->type = type;
225
226 // m_buttons.size() is a size_t, which does not match the %d conversion
227 mb->id = wxString(std::to_string(m_buttons.size()));
228 mb->buttondata = bd;
229 m_buttons[ wxString(std::to_string(m_buttons.size()))] = mb;
230 return btn;
231};
static const wxColour bd
Definition AxisCtrlButton.cpp:25
@ Confirm
Definition Button.hpp:25
@ Regular
Definition Button.hpp:24
@ Choice
Definition Button.hpp:33
static int ChoiceButtonGap()
Definition Button.hpp:19
void SetStyle(const ButtonStyle style, const ButtonType type)
Definition Button.cpp:200
void EndModal(int retCode) override
Definition GUI_Utils.hpp:305
MsgButtonsHash m_buttons
Definition MsgDialog.hpp:108
wxBoxSizer * btn_sizer
Definition MsgDialog.hpp:105

References bd, btn_sizer, Slic3r::GUI::MsgButton::buttondata, Choice, ButtonProps::ChoiceButtonGap(), Confirm, Slic3r::GUI::DPIDialog::EndModal(), Slic3r::GUI::MsgButton::id, m_buttons, Regular, and Button::SetStyle().

Referenced by Slic3r::GUI::ConfigsOverwriteConfirmDialog::ConfigsOverwriteConfirmDialog(), Slic3r::GUI::DownloadDialog::DownloadDialog(), Slic3r::GUI::MsgUpdateForced::MsgUpdateForced(), AddButton(), apply_style(), Slic3r::GUI::ElegooPrintHostSendDialog::init(), Slic3r::GUI::FlashforgePrintHostSendDialog::init(), and Slic3r::GUI::PrintHostSendDialog::init().

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

◆ AddButton()

void Slic3r::GUI::MsgDialog::AddButton ( wxWindowID btn_id,
const wxString & label,
bool set_focus = false )
inlineinherited
82{ add_button(btn_id, set_focus, label); }
Button * add_button(wxWindowID btn_id, bool set_focus=false, const wxString &label=wxString())
Definition MsgDialog.cpp:184

References add_button().

Referenced by Slic3r::GUI::PrintOptionsDialog::PrintOptionsDialog(), Slic3r::GUI::wgtDeviceNozzleRackNozzleItem::OnBtnNozzleStatus(), and Slic3r::GUI::wgtDeviceNozzleRackHotendUpdate::OnStatusIconClick().

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

◆ apply_style()

void Slic3r::GUI::MsgDialog::apply_style ( long style)
protectedinherited
238{
239 if (style & wxFORWARD)
240 add_button(wxFORWARD, true, _L("Go to") + " " + m_forward_str);
241 if (style & wxOK) {
242 if (style & wxFORWARD) { add_button(wxID_CANCEL, false, _L("Later")); }
243 else {
244 add_button(wxID_OK, true, _L("OK"));
245 }
246 }
247 if (style & wxYES) add_button(wxID_YES, true, _L("Yes"));
248 if (style & wxNO) add_button(wxID_NO, false,_L("No"));
249 if (style & wxCANCEL) add_button(wxID_CANCEL, false, _L("Cancel"));
250
251 logo->SetBitmap( create_scaled_bitmap(style & wxAPPLY ? "completed" :
252 style & wxICON_WARNING ? "exclamation" : // ORCA "exclamation" used for dialogs "obj_warning" used for 16x16 areas
253 style & wxICON_INFORMATION ? "info" :
254 style & wxICON_QUESTION ? "question" : "OrcaSlicer", this, 64, style & wxICON_ERROR));
255}
#define _L(s)
Definition OBJ.cpp:34
#define style
Definition WipeTowerDialog.cpp:101
wxStaticBitmap * logo
Definition MsgDialog.hpp:107
wxString m_forward_str
Definition MsgDialog.hpp:110
wxBitmap create_scaled_bitmap(const std::string &bmp_name_in, wxWindow *win, const int px_cnt, const bool grayscale, const std::string &new_color, const bool menu_bitmap, const bool resize, const bool bitmap2, const std::vector< std::string > &array_new_color)
Definition wxExtensions.cpp:448

References _L, add_button(), create_scaled_bitmap(), logo, m_forward_str, and style.

Referenced by MsgDialog().

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

◆ finalize()

◆ force_rescale()

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

◆ get_button()

Button * Slic3r::GUI::MsgDialog::get_button ( wxWindowID btn_id)
protectedinherited
233 {
234 return static_cast<Button*>(FindWindowById(btn_id, this));
235}

Referenced by Slic3r::GUI::MsgUpdateForced::MsgUpdateForced(), and SetButtonLabel().

Here is the caller graph for this function:

◆ get_checkbox_state()

bool Slic3r::GUI::MsgDialog::get_checkbox_state ( )
inherited

◆ 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::MsgDialog::on_dpi_changed ( const wxRect & suggested_rect)
virtualinherited

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

150 {
151 if (m_buttons.size() > 0) {
152 MsgButtonsHash::iterator i = m_buttons.begin();
153
154 while (i != m_buttons.end()) {
155 MsgButton *bd = i->second;
156 /* ORCA not required since all buttons has same size and Rescale re applies its style
157 wxSize bsize;
158
159
160 switch (bd->buttondata->type) {
161 case ButtonSizeNormal:bsize = MSG_DIALOG_BUTTON_SIZE;break;
162 case ButtonSizeMiddle: bsize = MSG_DIALOG_MIDDLE_BUTTON_SIZE; break;
163 case ButtonSizeLong: bsize = MSG_DIALOG_LONG_BUTTON_SIZE; break;
164 default: break;
165 }
166
167 bd->buttondata->button->SetMinSize(bsize);
168 */
169 bd->buttondata->button->Rescale();
170 i++;
171 }
172 }
173 }

References bd, and m_buttons.

◆ on_sys_color_changed()

◆ operator=() [1/2]

MsgDataIncompatible & Slic3r::GUI::MsgDataIncompatible::operator= ( const MsgDataIncompatible & )
delete

References MsgDataIncompatible().

Here is the call graph for this function:

◆ operator=() [2/2]

MsgDataIncompatible & Slic3r::GUI::MsgDataIncompatible::operator= ( MsgDataIncompatible && )
delete

References MsgDataIncompatible().

Here is the call 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; }

◆ SetButtonLabel()

void Slic3r::GUI::MsgDialog::SetButtonLabel ( wxWindowID btn_id,
const wxString & label,
bool set_focus = false )
inherited
176{
177 if (Button* btn = get_button(btn_id)) {
178 btn->SetLabel(label);
179 if (set_focus)
180 btn->SetFocus();
181 }
182}
Button * get_button(wxWindowID btn_id)
Definition MsgDialog.cpp:233

References get_button().

Referenced by Slic3r::GUI::MixedFilamentWarningDialog::MixedFilamentWarningDialog(), Slic3r::GUI::ConfigManipulation::check_layer_height(), Slic3r::GUI::FanControlNew::check_printing_state(), Slic3r::GUI::FanOperate::check_printing_state(), Slic3r::DevNozzleRack::CtrlRackReadAll(), Slic3r::DevNozzleRack::CtrlRackUpgrade(), Slic3r::GUI::ObjectList::del_from_cut_object(), Slic3r::GUI::Plater::priv::delete_object_from_model(), Slic3r::GUI::Field::get_value_by_opt_type(), Slic3r::GUI::GUI_App::handle_web_request(), Slic3r::GUI::ConfigManipulation::layer_height_out_of_range_dialog(), Slic3r::GUI::Plater::priv::load_files(), Slic3r::GUI::StatusPanel::on_lamp_switch(), Slic3r::GUI::TextureImportDialog::on_mesh_repair_decision_required(), Slic3r::GUI::Tab::on_value_change(), Slic3r::GUI::AMSSettingTypePanel::OnAmsTypeChanged(), Slic3r::GUI::run_scene_benchmark(), Slic3r::GUI::FanControlPopupNew::UpdatePartSubMode(), and Slic3r::GUI::Tab::validate_filament_temperature_pairs().

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

◆ show_dsa_button()

void Slic3r::GUI::MsgDialog::show_dsa_button ( wxString const & title = {})
inherited
112{
113 m_checkbox_dsa = new CheckBox(this);
114 m_dsa_sizer->Add(m_checkbox_dsa, 0, wxALIGN_CENTER);
115 m_checkbox_dsa->Bind(wxEVT_TOGGLEBUTTON, [this](wxCommandEvent& e) {
116 auto event = wxCommandEvent(EVT_CHECKBOX_CHANGE);
117 event.SetInt(m_checkbox_dsa->GetValue()?1:0);
118 event.SetEventObject(this);
119 wxPostEvent(this, event);
120 e.Skip();
121 });
122
123 auto m_text_dsa = new wxStaticText(this, wxID_ANY, title.IsEmpty() ? _L("Don't show again") : title, wxDefaultPosition, wxDefaultSize, 0);
124 auto on_toggle = [this]() {
125 m_checkbox_dsa->SetValue(!m_checkbox_dsa->GetValue());
126 wxCommandEvent ev(wxEVT_TOGGLEBUTTON, m_checkbox_dsa->GetId());
127 ev.SetEventObject(m_checkbox_dsa);
128 m_checkbox_dsa->GetEventHandler()->ProcessEvent(ev);
129 };
130 m_text_dsa->Bind(wxEVT_LEFT_DOWN, [on_toggle](wxMouseEvent& e) {if(!e.LeftDClick()) on_toggle();});
131 m_text_dsa->Bind(wxEVT_LEFT_DCLICK, [on_toggle](wxMouseEvent& e) {on_toggle();});
132
133 m_dsa_sizer->Add(m_text_dsa, 0, wxALL | wxALIGN_CENTER, FromDIP(2));
134 m_dsa_sizer->AddSpacer(FromDIP(10)); // spacing after checkbox
135 m_text_dsa->SetFont(::Label::Body_13);
136 m_text_dsa->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#323A3D")));
137 btn_sizer->Layout();
138 Fit();
139}
class WXDLLIMPEXP_FWD_CORE wxStaticText
Definition ProgressDialog.hpp:30
static wxFont Body_13
Definition Label.hpp:54
static wxColour darkModeColorFor(wxColour const &color)
Definition StateColor.cpp:219
wxMouseEvent
Definition CameraPopup.cpp:47
wxBoxSizer * m_dsa_sizer
Definition MsgDialog.hpp:106

References _L, Label::Body_13, btn_sizer, StateColor::darkModeColorFor(), m_checkbox_dsa, m_dsa_sizer, Slic3r::GUI::wxMouseEvent, and wxStaticText.

Referenced by Slic3r::DevNozzleRack::CheckRackMoveWarningDlg(), Slic3r::GUI::Plater::close_with_confirm(), Slic3r::GUI::confirm_create_decompose_missing_components(), Slic3r::DevNozzleRack::CtrlRackUpgrade(), Slic3r::GUI::ObjectList::layers_editing(), Slic3r::GUI::Plater::priv::load_files(), Slic3r::GUI::Plater::priv::on_action_layersediting(), Slic3r::GUI::RichMessageDialog::ShowModal(), Slic3r::GUI::MediaPlayCtrl::ToggleStream(), and Slic3r::GUI::ConfigManipulation::update_print_fff_config().

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

◆ boldfont

wxFont Slic3r::GUI::MsgDialog::boldfont
protectedinherited

◆ btn_sizer

wxBoxSizer* Slic3r::GUI::MsgDialog::btn_sizer
protectedinherited

◆ content_sizer

◆ logo

wxStaticBitmap* Slic3r::GUI::MsgDialog::logo
protectedinherited

◆ m_buttons

MsgButtonsHash Slic3r::GUI::MsgDialog::m_buttons
protectedinherited

◆ m_can_rescale

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

◆ m_checkbox_dsa

CheckBox* Slic3r::GUI::MsgDialog::m_checkbox_dsa {nullptr}
protectedinherited

◆ m_dsa_sizer

wxBoxSizer* Slic3r::GUI::MsgDialog::m_dsa_sizer
protectedinherited

Referenced by MsgDialog(), and show_dsa_button().

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

wxString Slic3r::GUI::MsgDialog::m_forward_str
protectedinherited

Referenced by MsgDialog(), and apply_style().

◆ 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

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