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

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

Inheritance diagram for Slic3r::GUI::SavePresetDialog:
Collaboration diagram for Slic3r::GUI::SavePresetDialog:

Classes

class  Item

Public Member Functions

 SavePresetDialog (wxWindow *parent, Preset::Type type, int mode=0, std::string suffix="")
 SavePresetDialog (wxWindow *parent, std::vector< Preset::Type > types, int mode=0, std::string suffix="")
 ~SavePresetDialog ()
void AddItem (Preset::Type type, const std::string &suffix)
std::string get_name ()
std::string get_name (Preset::Type type)
void input_name_from_other (std::string new_preset_name)
void confirm_from_other ()
bool enable_ok_btn () const
void add_info_for_edit_ph_printer (wxBoxSizer *sizer)
void update_info_for_edit_ph_printer (const std::string &preset_name)
void layout ()
bool get_save_to_project_selection (Preset::Type type)
bool get_detach_value (Preset::Type type)
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
void on_sys_color_changed () override

Private Types

enum  ActionType { ChangePreset , AddPreset , Switch , UndefAction }

Private Member Functions

void build (std::vector< Preset::Type > types, std::string suffix="")
void on_select_cancel (wxCommandEvent &event)
void update_physical_printers (const std::string &preset_name)
void accept (wxCommandEvent &event)
void update_em_unit ()
bool is_new_scale_factor () const
void rescale (const wxRect &suggested_rect)

Private Attributes

std::vector< Item * > m_items
wxBoxSizer * m_presets_sizer {nullptr}
wxStaticText * m_label {nullptr}
wxBoxSizer * m_radio_sizer {nullptr}
ActionType m_action {UndefAction}
int m_mode
std::string m_ph_printer_name
std::string m_old_preset_name
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

◆ ActionType

Enumerator
ChangePreset 
AddPreset 
Switch 
UndefAction 
34 {
37 Switch,
39 };
@ ChangePreset
Definition SavePresetDialog.hpp:35
@ UndefAction
Definition SavePresetDialog.hpp:38
@ Switch
Definition SavePresetDialog.hpp:37
@ AddPreset
Definition SavePresetDialog.hpp:36

Constructor & Destructor Documentation

◆ SavePresetDialog() [1/2]

Slic3r::GUI::SavePresetDialog::SavePresetDialog ( wxWindow * parent,
Preset::Type type,
int mode = 0,
std::string suffix = "" )
314 : DPIDialog(parent, wxID_ANY, _L("Save preset"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX), m_mode(mode)
315{
316 build(std::vector<Preset::Type>{type}, suffix);
317 wxGetApp().UpdateDlgDarkUI(this);
318}
#define _L(s)
Definition OBJ.cpp:34
void build(std::vector< Preset::Type > types, std::string suffix="")
Definition SavePresetDialog.cpp:332
int m_mode
Definition SavePresetDialog.hpp:92

References _L, build(), and m_mode.

Referenced by Slic3r::GUI::SavePresetDialog::Item::Item().

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

◆ SavePresetDialog() [2/2]

Slic3r::GUI::SavePresetDialog::SavePresetDialog ( wxWindow * parent,
std::vector< Preset::Type > types,
int mode = 0,
std::string suffix = "" )
321 : DPIDialog(parent, wxID_ANY, _L("Save preset"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX), m_mode(mode)
322{
323 build(types, suffix);
324 wxGetApp().UpdateDlgDarkUI(this);
325}

References _L, build(), and m_mode.

Here is the call graph for this function:

◆ ~SavePresetDialog()

Slic3r::GUI::SavePresetDialog::~SavePresetDialog ( )
328{
329 for (auto item : m_items) { delete item; }
330}
std::vector< Item * > m_items
Definition SavePresetDialog.hpp:86

References m_items.

Member Function Documentation

◆ accept()

void Slic3r::GUI::SavePresetDialog::accept ( wxCommandEvent & event)
private
517{
518 for (Item *item : m_items) {
519 item->accept();
520 if (item->type() == Preset::TYPE_PRINTER) update_physical_printers(item->preset_name());
521 }
522
523 EndModal(wxID_OK);
524}
void EndModal(int retCode) override
Definition GUI_Utils.hpp:305
Definition SavePresetDialog.hpp:42
void update_physical_printers(const std::string &preset_name)
Definition SavePresetDialog.cpp:493
@ TYPE_PRINTER
Definition Preset.hpp:250

References Slic3r::GUI::DPIDialog::EndModal(), m_items, Slic3r::Preset::TYPE_PRINTER, and update_physical_printers().

Referenced by build().

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

◆ add_info_for_edit_ph_printer()

void Slic3r::GUI::SavePresetDialog::add_info_for_edit_ph_printer ( wxBoxSizer * sizer)
416{
417 PhysicalPrinterCollection &printers = wxGetApp().preset_bundle->physical_printers;
418 m_ph_printer_name = printers.get_selected_printer_name();
419 m_old_preset_name = printers.get_selected_printer_preset_name();
420
421 wxString msg_text = from_u8((boost::format(_u8L("Printer \"%1%\" is selected with preset \"%2%\"")) %
423 .str());
424 m_label = new wxStaticText(this, wxID_ANY, msg_text);
425 m_label->SetFont(wxGetApp().bold_font());
426
428 m_radio_sizer = new wxBoxSizer(wxHORIZONTAL);
429
430 wxStaticBox *action_stb = new wxStaticBox(this, wxID_ANY, "");
431 if (!wxOSX) action_stb->SetBackgroundStyle(wxBG_STYLE_PAINT);
432 action_stb->SetFont(wxGetApp().bold_font());
433
434 wxStaticBoxSizer *stb_sizer = new wxStaticBoxSizer(action_stb, wxVERTICAL);
435 for (int id = 0; id < 3; id++) {
436 wxRadioButton *btn = new wxRadioButton(this, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, id == 0 ? wxRB_GROUP : 0);
437 btn->SetValue(id == int(ChangePreset));
438 btn->Bind(wxEVT_RADIOBUTTON, [this, id](wxCommandEvent &) { m_action = (ActionType) id; });
439 stb_sizer->Add(btn, 0, wxEXPAND | wxTOP, 5);
440 }
441 m_radio_sizer->Add(stb_sizer, 1, wxEXPAND | wxTOP, 2 * BORDER_W);
442
443 sizer->Add(m_label, 0, wxEXPAND | wxLEFT | wxTOP, 3 * BORDER_W);
444 sizer->Add(m_radio_sizer, 1, wxEXPAND | wxLEFT, 3 * BORDER_W);
445}
#define BORDER_W
Definition BitmapComboBox.cpp:48
#define wxOSX
Definition Field.cpp:94
class WXDLLIMPEXP_FWD_CORE wxStaticText
Definition ProgressDialog.hpp:30
wxStaticText * m_label
Definition SavePresetDialog.hpp:89
wxBoxSizer * m_radio_sizer
Definition SavePresetDialog.hpp:90
std::string m_old_preset_name
Definition SavePresetDialog.hpp:95
ActionType
Definition SavePresetDialog.hpp:34
std::string m_ph_printer_name
Definition SavePresetDialog.hpp:94
ActionType m_action
Definition SavePresetDialog.hpp:91
wxString from_u8(const std::string &str)
Definition GUI.cpp:544
#define _u8L(s)
Definition I18N.hpp:11

References _u8L, BORDER_W, ChangePreset, Slic3r::GUI::from_u8(), Slic3r::PhysicalPrinterCollection::get_selected_printer_name(), Slic3r::PhysicalPrinterCollection::get_selected_printer_preset_name(), m_action, m_label, m_old_preset_name, m_ph_printer_name, m_radio_sizer, wxOSX, and wxStaticText.

Here is the call graph for this function:

◆ AddItem()

void Slic3r::GUI::SavePresetDialog::AddItem ( Preset::Type type,
const std::string & suffix )
367{ m_items.emplace_back(new Item{type, suffix, m_presets_sizer, this}); }
wxBoxSizer * m_presets_sizer
Definition SavePresetDialog.hpp:88

References m_items, and m_presets_sizer.

Referenced by build().

Here is the caller graph for this function:

◆ build()

void Slic3r::GUI::SavePresetDialog::build ( std::vector< Preset::Type > types,
std::string suffix = "" )
private
333{
334 // def setting
335 SetBackgroundColour(SAVE_PRESET_DIALOG_DEF_COLOUR);
336 SetFont(wxGetApp().normal_font());
337
338 if (suffix.empty()) suffix = _u8L_CONTEXT(L_CONTEXT("Copy", "PresetName"), "PresetName");
339
340 wxBoxSizer *m_Sizer_main = new wxBoxSizer(wxVERTICAL);
341
342 m_presets_sizer = new wxBoxSizer(wxVERTICAL);
343
344 // Add first item
345 for (Preset::Type type : types) AddItem(type, suffix);
346
347 auto dlg_btns = new DialogButtons(this, {"OK", "Cancel"});
348
349 dlg_btns->GetOK()->Bind(wxEVT_BUTTON, &SavePresetDialog::accept, this);
350
351 dlg_btns->GetCANCEL()->Bind(wxEVT_BUTTON, &SavePresetDialog::on_select_cancel, this);
352
353 m_Sizer_main->Add(m_presets_sizer, 0, wxEXPAND | wxALL, BORDER_W);
354 m_Sizer_main->Add(dlg_btns, 0, wxEXPAND);
355
356 SetSizer(m_Sizer_main);
357 m_Sizer_main->SetSizeHints(this);
358
359 this->Centre(wxBOTH);
360}
#define L_CONTEXT(s, context)
Definition DesignOffer.hpp:17
#define SAVE_PRESET_DIALOG_DEF_COLOUR
Definition SavePresetDialog.hpp:24
const wxFont & normal_font() const
Definition GUI_Utils.hpp:205
void AddItem(Preset::Type type, const std::string &suffix)
Definition SavePresetDialog.cpp:367
void accept(wxCommandEvent &event)
Definition SavePresetDialog.cpp:516
void on_select_cancel(wxCommandEvent &event)
Definition SavePresetDialog.cpp:362
Type
Definition Preset.hpp:244
#define _u8L_CONTEXT(s, ctx)
Definition I18N.hpp:16

References _u8L_CONTEXT, accept(), AddItem(), BORDER_W, Slic3r::GUI::DialogButtons::GetOK(), L_CONTEXT, m_presets_sizer, Slic3r::GUI::DPIAware< wxDialog >::normal_font(), on_select_cancel(), and SAVE_PRESET_DIALOG_DEF_COLOUR.

Referenced by SavePresetDialog(), and SavePresetDialog().

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

◆ confirm_from_other()

void Slic3r::GUI::SavePresetDialog::confirm_from_other ( )
384 {
385 for (Item *item : m_items) {
386 item->accept();
387 if (item->type() == Preset::TYPE_PRINTER) update_physical_printers(item->preset_name());
388 }
389}

References m_items, Slic3r::Preset::TYPE_PRINTER, and update_physical_printers().

Referenced by Slic3r::GUI::Tab::save_preset().

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

◆ enable_ok_btn()

bool Slic3r::GUI::SavePresetDialog::enable_ok_btn ( ) const
408{
409 for (const Item *item : m_items)
410 if (!item->is_valid()) return false;
411
412 return true;
413}

References m_items.

◆ 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_detach_value()

bool Slic3r::GUI::SavePresetDialog::get_detach_value ( Preset::Type type)
400{
401 for (const Item* item : m_items)
402 if (item->type() == type)
403 return item->is_detached();
404 return false;
405}

References m_items.

Referenced by Slic3r::GUI::Tab::save_preset().

Here is the caller graph for this function:

◆ get_name() [1/2]

std::string Slic3r::GUI::SavePresetDialog::get_name ( )
369{ return m_items.front()->preset_name(); }

References m_items.

Referenced by Slic3r::GUI::UnsavedChangesDialog::save(), and Slic3r::GUI::Tab::save_preset().

Here is the caller graph for this function:

◆ get_name() [2/2]

std::string Slic3r::GUI::SavePresetDialog::get_name ( Preset::Type type)
372{
373 for (const Item *item : m_items)
374 if (item->type() == type) return item->preset_name();
375 return "";
376}

References m_items.

◆ get_save_to_project_selection()

bool Slic3r::GUI::SavePresetDialog::get_save_to_project_selection ( Preset::Type type)
393{
394 for (const Item *item : m_items)
395 if (item->type() == type) return item->save_to_project();
396 return false;
397}

References m_items.

Referenced by Slic3r::GUI::UnsavedChangesDialog::save(), and Slic3r::GUI::Tab::save_preset().

Here is the caller graph for this function:

◆ input_name_from_other()

void Slic3r::GUI::SavePresetDialog::input_name_from_other ( std::string new_preset_name)
378 {
379 //only work for one-item
380 Item* curr_item = m_items[0];
381 curr_item->m_input_ctrl->GetTextCtrl()->SetValue(new_preset_name);
382}

References TextInput::GetTextCtrl(), Slic3r::GUI::SavePresetDialog::Item::m_input_ctrl, and m_items.

Referenced by Slic3r::GUI::Tab::save_preset().

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

◆ layout()

void Slic3r::GUI::SavePresetDialog::layout ( )
475{
476 this->Layout();
477 this->Fit();
478}

◆ normal_font()

◆ on_dpi_changed()

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

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

481{
482 const int &em = em_unit();
483
484 //for (Item *item : m_items) item->update_valid_bmp();
485
486 // const wxSize& size = wxSize(45 * em, 35 * em);
487 //SetMinSize(/*size*/ wxSize(100, 50));
488
489 Fit();
490 Refresh();
491}
int em_unit() const
Definition GUI_Utils.hpp:203

References Slic3r::GUI::DPIAware< wxDialog >::em_unit().

Here is the call graph for this function:

◆ on_select_cancel()

void Slic3r::GUI::SavePresetDialog::on_select_cancel ( wxCommandEvent & event)
private
363{
364 EndModal(wxID_CANCEL);
365}

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

Referenced by build().

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

◆ on_sys_color_changed()

void Slic3r::GUI::SavePresetDialog::on_sys_color_changed ( )
inlineoverrideprotectedvirtual

Reimplemented from Slic3r::GUI::DPIAware< wxDialog >.

120{}

◆ prev_scale_factor()

float Slic3r::GUI::DPIAware< wxDialog >::prev_scale_factor ( ) const
inlineinherited
196{ return m_prev_scale_factor; }

◆ rescale()

void Slic3r::GUI::DPIAware< wxDialog >::rescale ( const wxRect & suggested_rect)
inlineprivateinherited
265 {
266 this->Freeze();
267
268 m_force_rescale = false;
269
270 // set normal application font as a current window font
271 m_normal_font = this->GetFont();
272
274
275 // rescale missed controls sizes and images
277
278 this->Layout();
279 this->Thaw();
280
281 // reset previous scale factor from current scale factor value
283 }
virtual void on_dpi_changed(const wxRect &suggested_rect)=0
void update_em_unit()
Definition GUI_Utils.hpp:249

◆ scale_factor()

float Slic3r::GUI::DPIAware< wxDialog >::scale_factor ( ) const
inlineinherited
195{ return m_scale_factor; }

◆ set_em_unit()

void Slic3r::GUI::DPIAware< wxDialog >::set_em_unit ( int v)
inlineinherited
200{ m_em_unit = v; }

◆ set_prev_scale_factor()

void Slic3r::GUI::DPIAware< wxDialog >::set_prev_scale_factor ( float v)
inlineinherited

◆ set_scale_factor()

void Slic3r::GUI::DPIAware< wxDialog >::set_scale_factor ( float v)
inlineinherited
198{ m_scale_factor = v; }

◆ ShowModal()

◆ update_em_unit()

void Slic3r::GUI::DPIAware< wxDialog >::update_em_unit ( )
inlineprivateinherited
250 {
251 // Linux specific issue : get_dpi_for_window(this) still doesn't responce to the Display's scale in new wxWidgets(3.1.3).
252 // So, calculate the m_em_unit value from the font size, as before
253#if !defined(__WXGTK__)
255#else
256 // initialize default width_unit according to the width of the one symbol ("m") of the currently active font of this window.
257 m_em_unit = std::max<size_t>(10, this->GetTextExtent("m").x - 1);
258#endif // __WXGTK__
259 }

◆ update_info_for_edit_ph_printer()

void Slic3r::GUI::SavePresetDialog::update_info_for_edit_ph_printer ( const std::string & preset_name)
448{
449 bool show = wxGetApp().preset_bundle->physical_printers.has_selection() && m_old_preset_name != preset_name;
450
451 m_label->Show(show);
452 m_radio_sizer->ShowItems(show);
453 if (!show) {
454 this->SetMinSize(wxSize(100, 50));
455 return;
456 }
457
458 if (wxSizerItem *sizer_item = m_radio_sizer->GetItem(size_t(0))) {
459 if (wxStaticBoxSizer *stb_sizer = static_cast<wxStaticBoxSizer *>(sizer_item->GetSizer())) {
460 wxString msg_text = format_wxstr(_L("Please choose an action with \"%1%\" preset after saving."), preset_name);
461 stb_sizer->GetStaticBox()->SetLabel(msg_text);
462
463 wxString choices[] = {format_wxstr(_L("For \"%1%\", change \"%2%\" to \"%3%\" "), m_ph_printer_name, m_old_preset_name, preset_name),
464 format_wxstr(_L("For \"%1%\", add \"%2%\" as a new preset"), m_ph_printer_name, preset_name),
465 format_wxstr(_L("Simply switch to \"%1%\""), preset_name)};
466
467 size_t n = 0;
468 for (const wxString &label : choices) stb_sizer->GetItem(n++)->GetWindow()->SetLabel(label);
469 }
470 Refresh();
471 }
472}
wxString format_wxstr(const char *fmt, TArgs &&... args)
Definition format.hpp:22

References _L, Slic3r::GUI::format_wxstr(), m_label, m_old_preset_name, m_ph_printer_name, and m_radio_sizer.

Here is the call graph for this function:

◆ update_physical_printers()

void Slic3r::GUI::SavePresetDialog::update_physical_printers ( const std::string & preset_name)
private
494{
495 if (m_action == UndefAction) return;
496
497 PhysicalPrinterCollection &physical_printers = wxGetApp().preset_bundle->physical_printers;
498 if (!physical_printers.has_selection()) return;
499
500 std::string printer_preset_name = physical_printers.get_selected_printer_preset_name();
501
502 if (m_action == Switch)
503 // unselect physical printer, if it was selected
504 physical_printers.unselect_printer();
505 else {
506 PhysicalPrinter printer = physical_printers.get_selected_printer();
507
508 if (m_action == ChangePreset) printer.delete_preset(printer_preset_name);
509
510 if (printer.add_preset(preset_name)) physical_printers.save_printer(printer);
511
512 physical_printers.select_printer(printer.get_full_name(preset_name));
513 }
514}

References Slic3r::PhysicalPrinter::add_preset(), ChangePreset, Slic3r::PhysicalPrinter::delete_preset(), Slic3r::PhysicalPrinter::get_full_name(), Slic3r::PhysicalPrinterCollection::get_selected_printer(), Slic3r::PhysicalPrinterCollection::get_selected_printer_preset_name(), Slic3r::PhysicalPrinterCollection::has_selection(), m_action, Slic3r::PhysicalPrinterCollection::save_printer(), Slic3r::PhysicalPrinterCollection::select_printer(), Switch, UndefAction, and Slic3r::PhysicalPrinterCollection::unselect_printer().

Referenced by accept(), and confirm_from_other().

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

Member Data Documentation

◆ m_action

ActionType Slic3r::GUI::SavePresetDialog::m_action {UndefAction}
private

◆ m_can_rescale

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

◆ m_em_unit

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

◆ m_force_rescale

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

◆ m_items

◆ m_label

wxStaticText* Slic3r::GUI::SavePresetDialog::m_label {nullptr}
private

◆ m_mode

int Slic3r::GUI::SavePresetDialog::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_old_preset_name

std::string Slic3r::GUI::SavePresetDialog::m_old_preset_name
private

◆ m_ph_printer_name

std::string Slic3r::GUI::SavePresetDialog::m_ph_printer_name
private

◆ m_presets_sizer

wxBoxSizer* Slic3r::GUI::SavePresetDialog::m_presets_sizer {nullptr}
private
88{nullptr};

Referenced by AddItem(), and build().

◆ m_prev_scale_factor

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

◆ m_radio_sizer

wxBoxSizer* Slic3r::GUI::SavePresetDialog::m_radio_sizer {nullptr}
private

◆ m_scale_factor

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

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