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

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

Inheritance diagram for Slic3r::GUI::RichMessageDialog:
Collaboration diagram for Slic3r::GUI::RichMessageDialog:

Public Types

using wxMD = wxMessageDialogBase

Public Member Functions

 RichMessageDialog (wxWindow *parent, const wxString &message, const wxString &caption=wxEmptyString, long style=wxOK)
 RichMessageDialog (RichMessageDialog &&)=delete
 RichMessageDialog (const RichMessageDialog &)=delete
RichMessageDialog & operator= (RichMessageDialog &&)=delete
RichMessageDialog & operator= (const RichMessageDialog &)=delete
virtual ~RichMessageDialog ()=default
int ShowModal () override
void ShowCheckBox (const wxString &checkBoxText, bool checked=false)
wxString GetCheckBoxText () const
bool IsCheckBoxChecked () const
virtual bool SetYesNoLabels (const wxMD::ButtonLabel &yes, const wxMD::ButtonLabel &no)
virtual bool SetYesNoCancelLabels (const wxMD::ButtonLabel &yes, const wxMD::ButtonLabel &no, const wxMD::ButtonLabel &cancel)
virtual bool SetOKLabel (const wxMD::ButtonLabel &ok)
virtual bool SetOKCancelLabels (const wxMD::ButtonLabel &ok, const wxMD::ButtonLabel &cancel)
virtual bool SetHelpLabel (const wxMD::ButtonLabel &help)
bool HasCustomLabels () const
wxString GetYesLabel () const
wxString GetNoLabel () const
wxString GetOKLabel () const
wxString GetCancelLabel () const
wxString GetHelpLabel () const
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 ()

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

void DoSetCustomLabel (wxString &var, const wxMD::ButtonLabel &label)
const wxString & GetCustomYesLabel () const
const wxString & GetCustomNoLabel () const
const wxString & GetCustomOKLabel () const
const wxString & GetCustomHelpLabel () const
const wxString & GetCustomCancelLabel () const
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

virtual wxString GetDefaultYesLabel () const
virtual wxString GetDefaultNoLabel () const
virtual wxString GetDefaultOKLabel () const
virtual wxString GetDefaultCancelLabel () const
virtual wxString GetDefaultHelpLabel () const
void update_em_unit ()
bool is_new_scale_factor () const
void rescale (const wxRect &suggested_rect)

Private Attributes

wxString m_checkBoxText
bool m_checkBoxValue { false }
wxString m_yes
wxString m_no
wxString m_ok
wxString m_cancel
wxString m_help
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 Typedef Documentation

◆ wxMD

using Slic3r::GUI::RichMessageDialog::wxMD = wxMessageDialogBase

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

◆ RichMessageDialog() [1/3]

Slic3r::GUI::RichMessageDialog::RichMessageDialog ( wxWindow * parent,
const wxString & message,
const wxString & caption = wxEmptyString,
long style = wxOK )
533 : MsgDialog(parent, caption.IsEmpty() ? wxString::Format(_L("%s info"), SLIC3R_APP_FULL_NAME) : caption, wxEmptyString, style)
534{
535 add_msg_content(this, content_sizer, message);
536 finalize();
537}
#define _L(s)
Definition OBJ.cpp:34
#define style
Definition WipeTowerDialog.cpp:101
#define SLIC3R_APP_FULL_NAME
Definition libslic3r.h:11
static void add_msg_content(wxWindow *parent, wxBoxSizer *content_sizer, wxString msg, bool has_code_excerpts=false, bool is_marked_msg=false, const wxString &link_text="", std::function< void(const wxString &)> link_callback=nullptr)
Definition MsgDialog.cpp:338
wxBoxSizer * content_sizer
Definition MsgDialog.hpp:104
void finalize()
Definition MsgDialog.cpp:257
MsgDialog(MsgDialog &&)=delete

References Slic3r::GUI::MsgDialog::MsgDialog(), _L, Slic3r::GUI::add_msg_content(), Slic3r::GUI::MsgDialog::content_sizer, Slic3r::GUI::MsgDialog::finalize(), SLIC3R_APP_FULL_NAME, and style.

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

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

◆ RichMessageDialog() [2/3]

Slic3r::GUI::RichMessageDialog::RichMessageDialog ( RichMessageDialog && )
delete

References RichMessageDialog().

Here is the call graph for this function:

◆ RichMessageDialog() [3/3]

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

References RichMessageDialog().

Here is the call graph for this function:

◆ ~RichMessageDialog()

virtual Slic3r::GUI::RichMessageDialog::~RichMessageDialog ( )
virtualdefault

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

◆ DoSetCustomLabel()

void Slic3r::GUI::RichMessageDialog::DoSetCustomLabel ( wxString & var,
const wxMD::ButtonLabel & label )
inlineprotected
291 {
292 var = label.GetAsString();
293 }
std::string var(const std::string &file_name)
Definition utils.cpp:278

References Slic3r::var().

Referenced by SetHelpLabel(), SetOKCancelLabels(), SetOKLabel(), SetYesNoCancelLabels(), and SetYesNoLabels().

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

◆ GetCancelLabel()

wxString Slic3r::GUI::RichMessageDialog::GetCancelLabel ( ) const
inline
277 {
278 return m_cancel.empty() ? GetDefaultCancelLabel() : m_cancel;
279 }
wxString m_cancel
Definition MsgDialog.hpp:320
virtual wxString GetDefaultCancelLabel() const
Definition MsgDialog.hpp:312

References GetDefaultCancelLabel(), and m_cancel.

Here is the call graph for this function:

◆ GetCheckBoxText()

wxString Slic3r::GUI::RichMessageDialog::GetCheckBoxText ( ) const
inline
212{ return m_checkBoxText; }
wxString m_checkBoxText
Definition MsgDialog.hpp:189

References m_checkBoxText.

◆ GetCustomCancelLabel()

const wxString & Slic3r::GUI::RichMessageDialog::GetCustomCancelLabel ( ) const
inlineprotected
304{ return m_cancel; }

References m_cancel.

◆ GetCustomHelpLabel()

const wxString & Slic3r::GUI::RichMessageDialog::GetCustomHelpLabel ( ) const
inlineprotected
303{ return m_help; }
wxString m_help
Definition MsgDialog.hpp:321

References m_help.

◆ GetCustomNoLabel()

const wxString & Slic3r::GUI::RichMessageDialog::GetCustomNoLabel ( ) const
inlineprotected
301{ return m_no; }
wxString m_no
Definition MsgDialog.hpp:318

References m_no.

◆ GetCustomOKLabel()

const wxString & Slic3r::GUI::RichMessageDialog::GetCustomOKLabel ( ) const
inlineprotected
302{ return m_ok; }
wxString m_ok
Definition MsgDialog.hpp:319

References m_ok.

◆ GetCustomYesLabel()

const wxString & Slic3r::GUI::RichMessageDialog::GetCustomYesLabel ( ) const
inlineprotected
300{ return m_yes; }
wxString m_yes
Definition MsgDialog.hpp:317

References m_yes.

◆ GetDefaultCancelLabel()

virtual wxString Slic3r::GUI::RichMessageDialog::GetDefaultCancelLabel ( ) const
inlineprivatevirtual
312{ return wxGetTranslation("Cancel"); }

Referenced by GetCancelLabel().

Here is the caller graph for this function:

◆ GetDefaultHelpLabel()

virtual wxString Slic3r::GUI::RichMessageDialog::GetDefaultHelpLabel ( ) const
inlineprivatevirtual
313{ return wxGetTranslation("Help"); }

Referenced by GetHelpLabel().

Here is the caller graph for this function:

◆ GetDefaultNoLabel()

virtual wxString Slic3r::GUI::RichMessageDialog::GetDefaultNoLabel ( ) const
inlineprivatevirtual
310{ return wxGetTranslation("No"); }

Referenced by GetNoLabel().

Here is the caller graph for this function:

◆ GetDefaultOKLabel()

virtual wxString Slic3r::GUI::RichMessageDialog::GetDefaultOKLabel ( ) const
inlineprivatevirtual
311{ return wxGetTranslation("OK"); }

Referenced by GetOKLabel().

Here is the caller graph for this function:

◆ GetDefaultYesLabel()

virtual wxString Slic3r::GUI::RichMessageDialog::GetDefaultYesLabel ( ) const
inlineprivatevirtual
309{ return wxGetTranslation("Yes"); }

Referenced by GetYesLabel().

Here is the caller graph for this function:

◆ GetHelpLabel()

wxString Slic3r::GUI::RichMessageDialog::GetHelpLabel ( ) const
inline
281 {
282 return m_help.empty() ? GetDefaultHelpLabel() : m_help;
283 }
virtual wxString GetDefaultHelpLabel() const
Definition MsgDialog.hpp:313

References GetDefaultHelpLabel(), and m_help.

Here is the call graph for this function:

◆ GetNoLabel()

wxString Slic3r::GUI::RichMessageDialog::GetNoLabel ( ) const
inline
269 {
270 return m_no.empty() ? GetDefaultNoLabel() : m_no;
271 }
virtual wxString GetDefaultNoLabel() const
Definition MsgDialog.hpp:310

References GetDefaultNoLabel(), and m_no.

Here is the call graph for this function:

◆ GetOKLabel()

wxString Slic3r::GUI::RichMessageDialog::GetOKLabel ( ) const
inline
273 {
274 return m_ok.empty() ? GetDefaultOKLabel() : m_ok;
275 }
virtual wxString GetDefaultOKLabel() const
Definition MsgDialog.hpp:311

References GetDefaultOKLabel(), and m_ok.

Here is the call graph for this function:

◆ GetYesLabel()

wxString Slic3r::GUI::RichMessageDialog::GetYesLabel ( ) const
inline
265 {
266 return m_yes.empty() ? GetDefaultYesLabel() : m_yes;
267 }
virtual wxString GetDefaultYesLabel() const
Definition MsgDialog.hpp:309

References GetDefaultYesLabel(), and m_yes.

Here is the call graph for this function:

◆ HasCustomLabels()

bool Slic3r::GUI::RichMessageDialog::HasCustomLabels ( ) const
inline
256 {
257 return !(m_ok.empty() && m_cancel.empty() && m_help.empty() &&
258 m_yes.empty() && m_no.empty());
259 }

References m_cancel, m_help, m_no, m_ok, and m_yes.

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

◆ IsCheckBoxChecked()

bool Slic3r::GUI::RichMessageDialog::IsCheckBoxChecked ( ) const
551{
552 if (m_checkbox_dsa)
553 return m_checkbox_dsa->GetValue();
554
555 return m_checkBoxValue;
556}
bool m_checkBoxValue
Definition MsgDialog.hpp:190

References Slic3r::GUI::MsgDialog::m_checkbox_dsa, and m_checkBoxValue.

Referenced by Slic3r::GUI::GUI_App::check_legacy_user_filament_presets(), Slic3r::GUI::Plater::priv::on_action_slice_all(), Slic3r::GUI::Plater::priv::on_action_slice_plate(), Slic3r::GUI::GUI_App::on_init_inner(), Slic3r::GUI::SpeedDialWebDialog::run_action(), and Slic3r::GUI::Tab::validate_filament_temperature_pairs().

Here is the caller graph for this function:

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

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

References RichMessageDialog().

Here is the call graph for this function:

◆ operator=() [2/2]

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

References RichMessageDialog().

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:

◆ SetHelpLabel()

virtual bool Slic3r::GUI::RichMessageDialog::SetHelpLabel ( const wxMD::ButtonLabel & help)
inlinevirtual
250 {
252 return true;
253 }
void DoSetCustomLabel(wxString &var, const wxMD::ButtonLabel &label)
Definition MsgDialog.hpp:290

References DoSetCustomLabel(), and m_help.

Here is the call graph for this function:

◆ SetOKCancelLabels()

virtual bool Slic3r::GUI::RichMessageDialog::SetOKCancelLabels ( const wxMD::ButtonLabel & ok,
const wxMD::ButtonLabel & cancel )
inlinevirtual
243 {
245 DoSetCustomLabel(m_cancel, cancel);
246 return true;
247 }

References DoSetCustomLabel(), m_cancel, and m_ok.

Here is the call graph for this function:

◆ SetOKLabel()

virtual bool Slic3r::GUI::RichMessageDialog::SetOKLabel ( const wxMD::ButtonLabel & ok)
inlinevirtual
236 {
238 return true;
239}

References DoSetCustomLabel(), and m_ok.

Here is the call graph for this function:

◆ SetYesNoCancelLabels()

virtual bool Slic3r::GUI::RichMessageDialog::SetYesNoCancelLabels ( const wxMD::ButtonLabel & yes,
const wxMD::ButtonLabel & no,
const wxMD::ButtonLabel & cancel )
inlinevirtual
228 {
231 DoSetCustomLabel(m_cancel, cancel);
232 return true;
233 }

References DoSetCustomLabel(), m_cancel, m_no, and m_yes.

Here is the call graph for this function:

◆ SetYesNoLabels()

virtual bool Slic3r::GUI::RichMessageDialog::SetYesNoLabels ( const wxMD::ButtonLabel & yes,
const wxMD::ButtonLabel & no )
inlinevirtual
219 {
222 return true;
223 }

References DoSetCustomLabel(), m_no, and m_yes.

Referenced by Slic3r::GUI::Config::take_config_snapshot_cancel_on_error(), and Slic3r::GUI::DesignPanel::tool_cancel().

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:

◆ ShowCheckBox()

void Slic3r::GUI::RichMessageDialog::ShowCheckBox ( const wxString & checkBoxText,
bool checked = false )
inline
207 {
208 m_checkBoxText = checkBoxText;
209 m_checkBoxValue = checked;
210 }

References m_checkBoxText, and m_checkBoxValue.

Referenced by Slic3r::GUI::GUI_App::check_legacy_user_filament_presets(), Slic3r::GUI::Plater::priv::on_action_slice_all(), Slic3r::GUI::Plater::priv::on_action_slice_plate(), Slic3r::GUI::GUI_App::on_init_inner(), Slic3r::GUI::SpeedDialWebDialog::run_action(), and Slic3r::GUI::Tab::validate_filament_temperature_pairs().

Here is the caller graph for this function:

◆ ShowModal()

int Slic3r::GUI::RichMessageDialog::ShowModal ( )
override
540{
541 if (!m_checkBoxText.IsEmpty()) {
544 }
545 Layout();
546
547 return MsgDialog::ShowModal();
548}
int ShowModal()
Definition GUI_Utils.hpp:216
void show_dsa_button(wxString const &title={})
Definition MsgDialog.cpp:111

References Slic3r::GUI::MsgDialog::m_checkbox_dsa, m_checkBoxText, m_checkBoxValue, Slic3r::GUI::MsgDialog::show_dsa_button(), and Slic3r::GUI::DPIAware< wxDialog >::ShowModal().

Referenced by Slic3r::GUI::GUI_App::check_legacy_user_filament_presets(), Slic3r::GUI::Plater::priv::on_action_slice_all(), Slic3r::GUI::Plater::priv::on_action_slice_plate(), Slic3r::GUI::GUI_App::on_init_inner(), Slic3r::GUI::SpeedDialWebDialog::run_action(), Slic3r::GUI::Config::take_config_snapshot_cancel_on_error(), Slic3r::GUI::DesignPanel::tool_cancel(), and Slic3r::GUI::Tab::validate_filament_temperature_pairs().

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

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_cancel

wxString Slic3r::GUI::RichMessageDialog::m_cancel
private

◆ m_checkbox_dsa

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

◆ m_checkBoxText

wxString Slic3r::GUI::RichMessageDialog::m_checkBoxText
private

◆ m_checkBoxValue

bool Slic3r::GUI::RichMessageDialog::m_checkBoxValue { false }
private
190{ false };

Referenced by IsCheckBoxChecked(), ShowCheckBox(), and ShowModal().

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

wxString Slic3r::GUI::RichMessageDialog::m_help
private

◆ m_new_font_point_size

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

◆ m_no

wxString Slic3r::GUI::RichMessageDialog::m_no
private

◆ m_normal_font

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

◆ m_ok

wxString Slic3r::GUI::RichMessageDialog::m_ok
private

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

wxString Slic3r::GUI::RichMessageDialog::m_yes
private

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