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

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

Inheritance diagram for Slic3r::GUI::CreatePresetForPrinterDialog:
Collaboration diagram for Slic3r::GUI::CreatePresetForPrinterDialog:

Public Member Functions

 CreatePresetForPrinterDialog (wxWindow *parent, std::string filament_type, std::string filament_id, std::string filament_vendor, std::string filament_name)
 ~CreatePresetForPrinterDialog ()
void EndModal (int retCode) override
float scale_factor () const
float prev_scale_factor () const
void set_scale_factor (float v)
void set_prev_scale_factor (float v)
void set_em_unit (int v)
bool force_rescale () const
int em_unit () const
const wxFont & normal_font () const
void enable_force_rescale ()
int ShowModal ()

Protected Member Functions

virtual void on_sys_color_changed ()

Private Member Functions

void on_dpi_changed (const wxRect &suggested_rect) override
void get_visible_printer_and_compatible_filament_presets ()
wxBoxSizer * create_selected_printer_preset_sizer ()
wxBoxSizer * create_selected_filament_preset_sizer ()
wxWindow * create_dialog_buttons ()
void update_em_unit ()
bool is_new_scale_factor () const
void rescale (const wxRect &suggested_rect)

Private Attributes

std::string m_filament_id
std::string m_filament_name
std::string m_filament_vendor
std::string m_filament_type
std::shared_ptr< PresetBundle > m_preset_bundle
ComboBox * m_selected_printer = nullptr
ComboBox * m_selected_filament = nullptr
std::unordered_map< wxString, std::shared_ptr< Preset > > filament_choice_to_filament_preset
std::unordered_map< std::string, std::vector< std::shared_ptr< Preset > > > m_printer_compatible_filament_presets
float m_scale_factor
int m_em_unit
wxFont m_normal_font
float m_prev_scale_factor
bool m_can_rescale
bool m_force_rescale
int m_new_font_point_size

Detailed Description

Constructor & Destructor Documentation

◆ CreatePresetForPrinterDialog()

Slic3r::GUI::CreatePresetForPrinterDialog::CreatePresetForPrinterDialog ( wxWindow * parent,
std::string filament_type,
std::string filament_id,
std::string filament_vendor,
std::string filament_name )
4913 : DPIDialog(parent ? parent : nullptr, wxID_ANY, _L("Add Preset"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX)
4914 , m_filament_id(filament_id)
4915 , m_filament_name(filament_name)
4918{
4919 m_preset_bundle = std::make_shared<PresetBundle>(*(wxGetApp().preset_bundle));
4921
4922 this->SetBackgroundColour(*wxWHITE);
4923
4924 wxBoxSizer *main_sizer = new wxBoxSizer(wxVERTICAL);
4925 // top line
4926 auto m_line_top = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1, 1), wxTAB_TRAVERSAL);
4927 m_line_top->SetBackgroundColour(wxColour(0xA6, 0xa9, 0xAA));
4928 main_sizer->Add(m_line_top, 0, wxEXPAND, 0);
4929 main_sizer->Add(0, 0, 0, wxTOP, FromDIP(5));
4930
4931 wxStaticText *basic_information = new wxStaticText(this, wxID_ANY, _L("Add preset for new printer"));
4932 basic_information->SetFont(Label::Head_16);
4933 main_sizer->Add(basic_information, 0, wxALL, FromDIP(10));
4934
4935 main_sizer->Add(create_selected_printer_preset_sizer(), 0, wxALL, FromDIP(10));
4936 main_sizer->Add(create_selected_filament_preset_sizer(), 0, wxALL, FromDIP(10));
4937 main_sizer->Add(create_dialog_buttons(), 0, wxEXPAND);
4938
4939 this->SetSizer(main_sizer);
4940 this->Layout();
4941 this->Fit();
4942 wxGetApp().UpdateDlgDarkUI(this);
4943}
#define _L(s)
Definition OBJ.cpp:34
class WXDLLIMPEXP_FWD_CORE wxStaticText
Definition ProgressDialog.hpp:30
static wxFont Head_16
Definition Label.hpp:43
wxBoxSizer * create_selected_filament_preset_sizer()
Definition CreatePresetsDialog.cpp:5007
std::string m_filament_vendor
Definition CreatePresetsDialog.hpp:328
wxWindow * create_dialog_buttons()
Definition CreatePresetsDialog.cpp:5037
std::string m_filament_type
Definition CreatePresetsDialog.hpp:329
std::shared_ptr< PresetBundle > m_preset_bundle
Definition CreatePresetsDialog.hpp:330
void get_visible_printer_and_compatible_filament_presets()
Definition CreatePresetsDialog.cpp:4951
wxBoxSizer * create_selected_printer_preset_sizer()
Definition CreatePresetsDialog.cpp:4983
std::string m_filament_name
Definition CreatePresetsDialog.hpp:327
std::string m_filament_id
Definition CreatePresetsDialog.hpp:326
zaa_minimize_perimeter_height filament_vendor((ConfigOptionBools, filament_is_support))((ConfigOptionBools
zaa_minimize_perimeter_height filament_type((ConfigOptionBools, filament_soluble))((ConfigOptionStrings

References _L, create_dialog_buttons(), create_selected_filament_preset_sizer(), create_selected_printer_preset_sizer(), Slic3r::filament_type(), Slic3r::filament_vendor(), get_visible_printer_and_compatible_filament_presets(), Label::Head_16, m_filament_id, m_filament_name, m_filament_type, m_filament_vendor, m_preset_bundle, and wxStaticText.

Here is the call graph for this function:

◆ ~CreatePresetForPrinterDialog()

Slic3r::GUI::CreatePresetForPrinterDialog::~CreatePresetForPrinterDialog ( )
4945{}

Member Function Documentation

◆ create_dialog_buttons()

wxWindow * Slic3r::GUI::CreatePresetForPrinterDialog::create_dialog_buttons ( )
private
5038{
5039 auto dlg_btns = new DialogButtons(this, {"OK", "Cancel"});
5040 dlg_btns->GetOK()->Bind(wxEVT_BUTTON, [this](wxCommandEvent &e) {
5041 wxString selected_printer_name = m_selected_printer->GetStringSelection();
5042 std::string printer_name = into_u8(selected_printer_name);
5043 BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " add preset: get compatible printer name:";
5044
5045 wxString filament_preset_name = m_selected_filament->GetStringSelection();
5046 std::unordered_map<wxString, std::shared_ptr<Preset>>::iterator iter = filament_choice_to_filament_preset.find(filament_preset_name);
5047 if (filament_choice_to_filament_preset.end() != iter) {
5048 std::shared_ptr<Preset> filament_preset = iter->second;
5049 PresetBundle * preset_bundle = wxGetApp().preset_bundle;
5050 std::vector<std::string> failures;
5051 DynamicConfig dynamic_config;
5052 dynamic_config.set_key_value("filament_vendor", new ConfigOptionStrings({m_filament_vendor}));
5053 dynamic_config.set_key_value("compatible_printers", new ConfigOptionStrings({printer_name}));
5054 dynamic_config.set_key_value("filament_type", new ConfigOptionStrings({m_filament_type}));
5055 bool res = preset_bundle->filaments.clone_presets_for_filament(filament_preset.get(), failures, m_filament_name, m_filament_id, dynamic_config, printer_name);
5056 if (!res) {
5057 std::string failure_names;
5058 for (std::string &failure : failures) { failure_names += failure + "\n"; }
5059 MessageDialog dlg(this, _L("Some existing presets have failed to be created, as follows:\n") + from_u8(failure_names) + _L("\nDo you want to rewrite it?"),
5060 wxString(SLIC3R_APP_FULL_NAME) + " - " + _L("Info"), wxYES_NO | wxYES_DEFAULT | wxCENTRE);
5061 if (dlg.ShowModal() == wxID_YES) {
5062 res = preset_bundle->filaments.clone_presets_for_filament(filament_preset.get(), failures, m_filament_name, m_filament_id, dynamic_config, printer_name, true);
5063 BOOST_LOG_TRIVIAL(info) << "clone filament have failures rewritten is successful? " << res;
5064 } else {
5065 BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << "have same name preset and not rewritten";
5066 return;
5067 }
5068 } else {
5069 BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << "create filament preset successful and name is:" << m_filament_name + " @" + printer_name;
5070 }
5071
5072 } else {
5073 BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << "filament choice not find filament preset and choice is:" << filament_preset_name;
5074 MessageDialog dlg(this, _L("The filament choice not find filament preset, please reselect it"), wxString(SLIC3R_APP_FULL_NAME) + " - " + _L("Info"),
5075 wxOK | wxCENTRE);
5076 dlg.ShowModal();
5077 return;
5078 }
5079
5080 EndModal(wxID_OK);
5081 });
5082 dlg_btns->GetCANCEL()->Bind(wxEVT_BUTTON, [this](wxCommandEvent &e) {
5083 EndModal(wxID_CANCEL);
5084 });
5085
5086 return dlg_btns;
5087}
ComboBox * m_selected_printer
Definition CreatePresetsDialog.hpp:331
std::unordered_map< wxString, std::shared_ptr< Preset > > filament_choice_to_filament_preset
Definition CreatePresetsDialog.hpp:333
ComboBox * m_selected_filament
Definition CreatePresetsDialog.hpp:332
void EndModal(int retCode) override
Definition GUI_Utils.hpp:305
#define SLIC3R_APP_FULL_NAME
Definition libslic3r.h:11
std::string into_u8(const wxString &str)
Definition GUI.cpp:549
wxString from_u8(const std::string &str)
Definition GUI.cpp:544

References _L, Slic3r::PresetCollection::clone_presets_for_filament(), Slic3r::GUI::DPIDialog::EndModal(), filament_choice_to_filament_preset, Slic3r::PresetBundle::filaments, Slic3r::GUI::from_u8(), Slic3r::GUI::DialogButtons::GetOK(), Slic3r::GUI::into_u8(), m_filament_id, m_filament_name, m_filament_type, m_filament_vendor, m_selected_filament, m_selected_printer, Slic3r::DynamicConfig::set_key_value(), Slic3r::GUI::DPIAware< P >::ShowModal(), and SLIC3R_APP_FULL_NAME.

Referenced by CreatePresetForPrinterDialog().

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

◆ create_selected_filament_preset_sizer()

wxBoxSizer * Slic3r::GUI::CreatePresetForPrinterDialog::create_selected_filament_preset_sizer ( )
private
5008{
5009 wxBoxSizer * select_filament_preset_sizer = new wxBoxSizer(wxVERTICAL);
5010 wxStaticText *printer_text = new wxStaticText(this, wxID_ANY, _L("Copy preset from filament"), wxDefaultPosition, wxDefaultSize);
5011 select_filament_preset_sizer->Add(printer_text, 0, wxEXPAND | wxALL, 0);
5012 m_selected_filament = new ComboBox(this, wxID_ANY, wxEmptyString, wxDefaultPosition, PRINTER_PRESET_MODEL_SIZE, 0, nullptr, wxCB_READONLY);
5013 select_filament_preset_sizer->Add(m_selected_filament, 0, wxEXPAND | wxTOP, FromDIP(5));
5014
5015 m_selected_printer->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent &e) {
5016 wxString printer_name = m_selected_printer->GetStringSelection();
5017 std::unordered_map<std::string, std::vector<std::shared_ptr<Preset>>>::iterator filament_iter = m_printer_compatible_filament_presets.find(into_u8(printer_name));
5018 if (m_printer_compatible_filament_presets.end() != filament_iter) {
5020 wxArrayString filament_choices;
5021 for (std::shared_ptr<Preset> filament_preset : filament_iter->second) {
5022 wxString filament_name = wxString::FromUTF8(filament_preset->name);
5023 filament_choice_to_filament_preset[filament_name] = filament_preset;
5024 filament_choices.push_back(filament_name);
5025 }
5026 m_selected_filament->Set(filament_choices);
5027 BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " count of compatible filament presets :" << filament_choices.size();
5028 if (filament_choices.size()) { m_selected_filament->SetSelection(0); }
5029 } else {
5030 BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << "printer preset not find compatible filament presets";
5031 }
5032 });
5033
5034 return select_filament_preset_sizer;
5035}
#define PRINTER_PRESET_MODEL_SIZE
Definition CreatePresetsDialog.cpp:88
std::unordered_map< std::string, std::vector< std::shared_ptr< Preset > > > m_printer_compatible_filament_presets
Definition CreatePresetsDialog.hpp:334

References _L, filament_choice_to_filament_preset, Slic3r::GUI::into_u8(), m_printer_compatible_filament_presets, m_selected_filament, m_selected_printer, PRINTER_PRESET_MODEL_SIZE, and wxStaticText.

Referenced by CreatePresetForPrinterDialog().

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

◆ create_selected_printer_preset_sizer()

wxBoxSizer * Slic3r::GUI::CreatePresetForPrinterDialog::create_selected_printer_preset_sizer ( )
private
4984{
4985 wxBoxSizer *select_preseter_preset_sizer = new wxBoxSizer(wxVERTICAL);
4986 wxStaticText *printer_text = new wxStaticText(this, wxID_ANY, _L("Printer"), wxDefaultPosition, wxDefaultSize);
4987 select_preseter_preset_sizer->Add(printer_text, 0, wxEXPAND | wxALL, 0);
4988 m_selected_printer = new ComboBox(this, wxID_ANY, wxEmptyString, wxDefaultPosition, PRINTER_PRESET_MODEL_SIZE, 0, nullptr, wxCB_READONLY);
4989 select_preseter_preset_sizer->Add(m_selected_printer, 0, wxEXPAND | wxTOP, FromDIP(5));
4990
4991 wxArrayString printer_choices;
4992 for (std::pair<std::string, std::vector<std::shared_ptr<Preset>>> printer_to_filament_presets : m_printer_compatible_filament_presets) {
4993 auto compatible_printer_name = printer_to_filament_presets.first;
4994 if (compatible_printer_name.empty()) {
4995 BOOST_LOG_TRIVIAL(info)<<__FUNCTION__ << " a printer has no name";
4996 continue;
4997 }
4998 wxString printer_name = from_u8(compatible_printer_name);
4999 printer_choices.push_back(printer_name);
5000 BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " entry, and visible printer is: " << compatible_printer_name;
5001 }
5002 m_selected_printer->Set(printer_choices);
5003
5004 return select_preseter_preset_sizer;
5005}

References _L, Slic3r::GUI::from_u8(), m_printer_compatible_filament_presets, m_selected_printer, PRINTER_PRESET_MODEL_SIZE, and wxStaticText.

Referenced by CreatePresetForPrinterDialog().

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

◆ em_unit()

int Slic3r::GUI::DPIAware< wxDialog >::em_unit ( ) const
inlineinherited
203{ return m_em_unit; }
Definition GUI_Utils.hpp:107

Referenced by Slic3r::GUI::AuxiliaryDialog::AuxiliaryDialog(), Slic3r::GUI::CopyrightsDialog::CopyrightsDialog(), Slic3r::GUI::DesignTextDialog::DesignTextDialog(), Slic3r::GUI::EditGCodeDialog::EditGCodeDialog(), Slic3r::GUI::FileArchiveDialog::FileArchiveDialog(), Slic3r::GUI::MsgNoUpdates::MsgNoUpdates(), Slic3r::GUI::MsgUpdateForced::MsgUpdateForced(), Slic3r::GUI::OAuthDialog::OAuthDialog(), Slic3r::GUI::ParamsDialog::ParamsDialog(), Slic3r::GUI::PhysicalPrinterDialog::PhysicalPrinterDialog(), Slic3r::GUI::SettingsDialog::SettingsDialog(), anonymous_namespace{3DPrinterOS.cpp}::TokenAuthDialog::TokenAuthDialog(), anonymous_namespace{3DPrinterOS.cpp}::UploadOptionsDialog::UploadOptionsDialog(), Slic3r::GUI::PublishSettingsDialog::add_row_ui(), Slic3r::GUI::DiffPresetDialog::complete_dialog_creation(), Slic3r::GUI::DiffPresetDialog::create_edit_sizer(), Slic3r::GUI::DiffPresetDialog::create_presets_sizer(), Slic3r::GUI::DiffPresetDialog::create_tree(), Slic3r::GUI::ElegooPrintHostSendDialog::init(), Slic3r::GUI::FlashforgePrintHostSendDialog::init(), Slic3r::GUI::PrintHostSendDialog::init(), Slic3r::GUI::AboutDialog::on_dpi_changed(), Slic3r::GUI::AuxiliaryDialog::on_dpi_changed(), Slic3r::GUI::BedShapeDialog::on_dpi_changed(), Slic3r::GUI::ConfigWizard::on_dpi_changed(), Slic3r::GUI::CopyrightsDialog::on_dpi_changed(), Slic3r::GUI::DiffPresetDialog::on_dpi_changed(), Slic3r::GUI::EditGCodeDialog::on_dpi_changed(), Slic3r::GUI::FileArchiveDialog::on_dpi_changed(), Slic3r::GUI::OAuthDialog::on_dpi_changed(), Slic3r::GUI::ObjectTableDialog::on_dpi_changed(), Slic3r::GUI::ParamsDialog::on_dpi_changed(), Slic3r::GUI::PhysicalPrinterDialog::on_dpi_changed(), Slic3r::GUI::PrintHostQueueDialog::on_dpi_changed(), Slic3r::GUI::PurgeModeDialog::on_dpi_changed(), Slic3r::GUI::SavePresetDialog::on_dpi_changed(), Slic3r::GUI::SendSystemInfoDialog::on_dpi_changed(), Slic3r::GUI::SettingsDialog::on_dpi_changed(), and Slic3r::GUI::UnsavedChangesDialog::on_dpi_changed().

Here is the caller graph for this function:

◆ enable_force_rescale()

void Slic3r::GUI::DPIAware< wxDialog >::enable_force_rescale ( )
inlineinherited
206{ m_force_rescale = true; }

◆ EndModal()

void Slic3r::GUI::DPIDialog::EndModal ( int retCode)
inlineoverrideinherited
306 {
307 if (!dialogStack.empty() && dialogStack.front() != this) {
308 // This is a bug in wxWidgets
309 // when the dialog is not top modal dialog, EndModal() just hide dialog without quit
310 // the modal event loop. And the modal event loop blocks us from bottom widgets.
311 // Solution: let user click it manually or close outside. FIXME
312 BOOST_LOG_TRIVIAL(warning) << "DPIAware::EndModal Error: dialogStack is not empty, but top dialog is not this one. retCode=" << retCode;
313 return;
314 }
315
316 return wxDialog::EndModal(retCode);
317 }
std::deque< wxDialog * > dialogStack
Definition GUI_Utils.cpp:549

References Slic3r::GUI::dialogStack.

Referenced by Slic3r::GUI::CloneDialog::CloneDialog(), Slic3r::GUI::ConfigWizard::ConfigWizard(), Slic3r::GUI::CreatePresetSuccessfulDialog::CreatePresetSuccessfulDialog(), Slic3r::GUI::DeleteConfirmDialog::DeleteConfirmDialog(), Slic3r::GUI::DesignVariableDialog::DesignVariableDialog(), Slic3r::GUI::anonymous_namespace{PrintHostDialogs.cpp}::FlashforgeSlotDialog::FlashforgeSlotDialog(), Slic3r::GUI::GuideFrame::GuideFrame(), Slic3r::GUI::InputIpAddressDialog::InputIpAddressDialog(), Slic3r::GUI::ManualNozzleCountDialog::ManualNozzleCountDialog(), Slic3r::GUI::MsgUpdateConfig::MsgUpdateConfig(), Slic3r::GUI::MsgUpdateForced::MsgUpdateForced(), Slic3r::GUI::MultiChoiceDialog::MultiChoiceDialog(), Slic3r::GUI::NetworkErrorDialog::NetworkErrorDialog(), Slic3r::GUI::NetworkPluginRestartDialog::NetworkPluginRestartDialog(), Slic3r::GUI::PartSkipConfirmDialog::PartSkipConfirmDialog(), Slic3r::GUI::PhysicalPrinterDialog::PhysicalPrinterDialog(), Slic3r::GUI::PlateNameEditDialog::PlateNameEditDialog(), Slic3r::GUI::PlateSettingsDialog::PlateSettingsDialog(), Slic3r::GUI::PublishSettingsDialog::PublishSettingsDialog(), Slic3r::GUI::SelectMachineDialog::SelectMachineDialog(), Slic3r::GUI::SendFailedConfirm::SendFailedConfirm(), Slic3r::GUI::SendSystemInfoDialog::SendSystemInfoDialog(), Slic3r::GUI::ShortcutCaptureDialog::ShortcutCaptureDialog(), Slic3r::GUI::SingleChoiceDialog::SingleChoiceDialog(), StepMeshDialog::StepMeshDialog(), Slic3r::GUI::SyncAmsInfoDialog::SyncAmsInfoDialog(), anonymous_namespace{3DPrinterOS.cpp}::TokenAuthDialog::TokenAuthDialog(), Slic3r::GUI::UpdatePluginDialog::UpdatePluginDialog(), Slic3r::GUI::UpdateVersionDialog::UpdateVersionDialog(), Slic3r::GUI::wgtDeviceNozzleRackUpgradeDlg::wgtDeviceNozzleRackUpgradeDlg(), Slic3r::GUI::SavePresetDialog::accept(), Slic3r::GUI::MsgDialog::add_button(), Slic3r::GUI::TipsDialog::add_button(), Slic3r::GUI::FilamentPickerDialog::BindEvents(), Slic3r::GUI::PluginPickerDialog::build_capability_ui(), Slic3r::GUI::BedShapeDialog::build_dialog(), Slic3r::GUI::PluginPickerDialog::build_ui(), Slic3r::GUI::UnsavedChangesDialog::close(), Slic3r::GUI::FileArchiveDialog::create_btn_sizer(), Slic3r::GUI::ColorDecomposeDialog::create_button_panel(), Slic3r::GUI::MixedFilamentDialog::create_button_panel(), Slic3r::GUI::CreateFilamentPresetDialog::create_dialog_buttons(), Slic3r::GUI::CreatePresetForPrinterDialog::create_dialog_buttons(), Slic3r::GUI::EditFilamentPresetDialog::create_dialog_buttons(), Slic3r::GUI::ExportConfigsDialog::create_dialog_buttons(), Slic3r::GUI::PreferencesDialog::create_item_language_combobox(), Slic3r::GUI::PreferencesDialog::create_item_region_combobox(), Slic3r::GUI::PreferencesDialog::create_items(), Slic3r::GUI::CreatePrinterPresetDialog::create_page1_dialog_buttons(), Slic3r::GUI::CreatePrinterPresetDialog::create_page2_dialog_buttons(), Slic3r::GUI::ExportConfigsDialog::data_init(), Slic3r::GUI::WebDialog::destroy_silently(), Slic3r::GUI::EditFilamentPresetDialog::edit_preset(), Slic3r::GUI::ConnectPrinterDialog::end_modal(), Slic3r::GUI::PrintHostSendDialog::EndModal(), Slic3r::GUI::ColorPickerDialog::finish(), Slic3r::GUI::WebDialog::finish(), Slic3r::GUI::Newer3mfVersionDialog::get_btn_sizer(), Slic3r::GUI::ScoreDialog::get_button_sizer(), Slic3r::GUI::WebViewHostDialog::handle_common_script_command(), Slic3r::GUI::ExportPresetBundleDialog::InitExportData(), Slic3r::GUI::SelectMachineDialog::navigate_to_timelapse_page(), Slic3r::GUI::BindMachineDialog::on_bind_success(), Slic3r::GUI::ConnectPrinterDialog::on_button_confirm(), Slic3r::GUI::RecenterDialog::on_button_confirm(), Slic3r::GUI::BindMachineDialog::on_cancel(), Slic3r::GUI::EditCalibrationHistoryDialog::on_cancel(), Slic3r::GUI::InputIpAddressDialog::on_cancel(), Slic3r::GUI::NewCalibrationHistoryDialog::on_cancel(), Slic3r::GUI::OAuthDialog::on_cancel(), Slic3r::GUI::PingCodeBindDialog::on_cancel(), Slic3r::GUI::SelectMachineDialog::on_cancel(), Slic3r::GUI::SendToPrinterDialog::on_cancel(), Slic3r::GUI::SyncAmsInfoDialog::on_cancel(), Slic3r::GUI::UnBindMachineDialog::on_cancel(), Slic3r::GUI::WebDialog::on_close_window(), Slic3r::GUI::NetworkPluginDownloadDialog::on_dont_ask(), Slic3r::GUI::NetworkPluginDownloadDialog::on_download(), Slic3r::GUI::EditDevNameDialog::on_edit_name(), Slic3r::GUI::ConfirmBeforeSendDialog::on_hide(), Slic3r::GUI::PrivacyUpdateDialog::on_hide(), Slic3r::GUI::ShortcutCaptureDialog::on_key(), Slic3r::GUI::TextureImportDialog::on_ok_clicked(), Slic3r::GUI::FileArchiveDialog::on_open_button(), Slic3r::GUI::NetworkPluginDownloadDialog::on_remind_later(), Slic3r::GUI::ProjectDropDialog::on_select_cancel(), Slic3r::GUI::SavePresetDialog::on_select_cancel(), Slic3r::GUI::ProjectDropDialog::on_select_ok(), Slic3r::GUI::SendMultiMachinePage::on_send(), Slic3r::GUI::NetworkPluginDownloadDialog::on_skip(), Slic3r::GUI::TextureImportDialog::on_skip_clicked(), Slic3r::GUI::NetworkPluginDownloadDialog::on_skip_version(), Slic3r::GUI::Cornering_Test_Dlg::on_start(), Slic3r::GUI::FlowRateCalibrationDialog::on_start(), Slic3r::GUI::Input_Shaping_Damp_Test_Dlg::on_start(), Slic3r::GUI::Input_Shaping_Freq_Test_Dlg::on_start(), Slic3r::GUI::MaxVolumetricSpeed_Test_Dlg::on_start(), Slic3r::GUI::PA_Calibration_Dlg::on_start(), Slic3r::GUI::Retraction_Test_Dlg::on_start(), Slic3r::GUI::Temp_Calibration_Dlg::on_start(), Slic3r::GUI::VFA_Test_Dlg::on_start(), Slic3r::GUI::CalibrationDialog::on_start_calibration(), Slic3r::GUI::UnBindMachineDialog::on_unbind_printer(), Slic3r::GUI::PartSkipDialog::OnApplyDialog(), anonymous_namespace{3DPrinterOS.cpp}::TokenAuthDialog::OnCancel(), Slic3r::GUI::AboutDialog::onCloseDialog(), Slic3r::GUI::CopyrightsDialog::onCloseDialog(), Slic3r::GUI::MultiNozzleSyncDialog::OnRackStatusReadingFinished(), Slic3r::GUI::GuideFrame::OnScriptMessage(), Slic3r::GUI::InputIpAddressDialog::OnTimer(), Slic3r::GUI::KBShortcutsDialog::open_mouse_preferences(), Slic3r::GUI::TroubleshootDialog::PackAll(), Slic3r::GUI::TroubleshootDialog::RebuildSystemProfiles(), Slic3r::GUI::SpeedDialWebDialog::run_action(), Slic3r::GUI::OAuthDialog::Show(), Slic3r::GUI::MultiNozzleSyncDialog::UpdateButton(), and Slic3r::GUI::CreatePrinterPresetDialog::validate_input_valid().

◆ force_rescale()

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

◆ get_visible_printer_and_compatible_filament_presets()

void Slic3r::GUI::CreatePresetForPrinterDialog::get_visible_printer_and_compatible_filament_presets ( )
private
4952{
4953 const std::deque<Preset> &printer_presets = m_preset_bundle->printers.get_presets();
4955 for (const Preset &printer_preset : printer_presets) {
4956 if (printer_preset.is_visible) {
4957 if (m_preset_bundle->printers.get_preset_base(printer_preset) != &printer_preset) continue;
4958 if (m_preset_bundle->printers.select_preset_by_name(printer_preset.name, true)) {
4960 const std::deque<Preset> &filament_presets = m_preset_bundle->filaments.get_presets();
4961 for (const Preset &filament_preset : filament_presets) {
4962 if (filament_preset.is_default || !filament_preset.is_compatible || filament_preset.is_project_embedded) continue;
4963 ConfigOptionStrings *filament_types;
4964 const Preset * filament_preset_base = m_preset_bundle->filaments.get_preset_base(filament_preset);
4965 if (filament_preset_base == &filament_preset || filament_preset_base == nullptr) {
4966 filament_types = dynamic_cast<ConfigOptionStrings *>(const_cast<Preset *>(&filament_preset)->config.option("filament_type"));
4967 } else {
4968 filament_types = dynamic_cast<ConfigOptionStrings *>(const_cast<Preset *>(filament_preset_base)->config.option("filament_type"));
4969 }
4970
4971 if (filament_types && filament_types->values.empty()) continue;
4972 const std::string filament_type = filament_types->values[0];
4973 std::string filament_type_ = m_filament_type == "PLA Aero" ? "PLA-AERO" : m_filament_type;
4974 if (filament_type == filament_type_) {
4975 m_printer_compatible_filament_presets[printer_preset.name].push_back(std::make_shared<Preset>(filament_preset));
4976 }
4977 }
4978 }
4979 }
4980 }
4981}
static const std::vector< std::string > filament_types
Definition CreatePresetsDialog.cpp:123
PresetCollection & printer_presets(PresetBundle &bundle)
Definition PluginHostPresets.cpp:50
@ Preset
Definition calib.hpp:39
@ Always
Definition Preset.hpp:527

References Slic3r::Always, Slic3r::Preset::config, Slic3r::filament_type(), Slic3r::GUI::filament_types, m_filament_type, m_preset_bundle, m_printer_compatible_filament_presets, and Slic3r::ConfigBase::option().

Referenced by CreatePresetForPrinterDialog().

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

◆ normal_font()

◆ on_dpi_changed()

void Slic3r::GUI::CreatePresetForPrinterDialog::on_dpi_changed ( const wxRect & suggested_rect)
overrideprivatevirtual

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

4947 {
4948 Layout();
4949}

◆ on_sys_color_changed()

◆ prev_scale_factor()

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

◆ rescale()

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

◆ scale_factor()

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

◆ set_em_unit()

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

◆ set_prev_scale_factor()

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

◆ set_scale_factor()

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

◆ 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

◆ filament_choice_to_filament_preset

std::unordered_map<wxString, std::shared_ptr<Preset> > Slic3r::GUI::CreatePresetForPrinterDialog::filament_choice_to_filament_preset
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_filament_id

std::string Slic3r::GUI::CreatePresetForPrinterDialog::m_filament_id
private

◆ m_filament_name

std::string Slic3r::GUI::CreatePresetForPrinterDialog::m_filament_name
private

◆ m_filament_type

std::string Slic3r::GUI::CreatePresetForPrinterDialog::m_filament_type
private

◆ m_filament_vendor

std::string Slic3r::GUI::CreatePresetForPrinterDialog::m_filament_vendor
private

◆ m_force_rescale

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

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

std::shared_ptr<PresetBundle> Slic3r::GUI::CreatePresetForPrinterDialog::m_preset_bundle
private

◆ m_prev_scale_factor

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

◆ m_printer_compatible_filament_presets

std::unordered_map<std::string, std::vector<std::shared_ptr<Preset> > > Slic3r::GUI::CreatePresetForPrinterDialog::m_printer_compatible_filament_presets
private

◆ m_scale_factor

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

◆ m_selected_filament

ComboBox* Slic3r::GUI::CreatePresetForPrinterDialog::m_selected_filament = nullptr
private

◆ m_selected_printer

ComboBox* Slic3r::GUI::CreatePresetForPrinterDialog::m_selected_printer = nullptr
private

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