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

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

Inheritance diagram for Slic3r::GUI::ConfigWizard:
Collaboration diagram for Slic3r::GUI::ConfigWizard:

Classes

struct  priv

Public Types

enum  RunReason { RR_DATA_EMPTY , RR_DATA_LEGACY , RR_DATA_INCOMPAT , RR_USER }
enum  StartPage {
  SP_WELCOME , SP_PRINTERS , SP_FILAMENTS , SP_MATERIALS ,
  SP_CUSTOM
}

Public Member Functions

 ConfigWizard (wxWindow *parent)
 ConfigWizard (ConfigWizard &&)=delete
 ConfigWizard (const ConfigWizard &)=delete
ConfigWizard & operator= (ConfigWizard &&)=delete
ConfigWizard & operator= (const ConfigWizard &)=delete
 ~ConfigWizard ()
bool run (RunReason reason, StartPage start_page=SP_WELCOME)
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 ()

Static Public Member Functions

static const wxString & name (const bool from_menu=false)

Protected Member Functions

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

Private Member Functions

void update_em_unit ()
bool is_new_scale_factor () const
void rescale (const wxRect &suggested_rect)

Private Attributes

std::unique_ptr< priv > p
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

Friends

struct ConfigWizardPage

Detailed Description

Member Enumeration Documentation

◆ RunReason

Enumerator
RR_DATA_EMPTY 
RR_DATA_LEGACY 
RR_DATA_INCOMPAT 
RR_USER 
23 {
24 RR_DATA_EMPTY, // No or empty datadir
25 RR_DATA_LEGACY, // Pre-updating datadir
26 RR_DATA_INCOMPAT, // Incompatible datadir - Slic3r downgrade situation
27 RR_USER, // User requested the Wizard from the menus
28 };
@ RR_DATA_EMPTY
Definition ConfigWizard.hpp:24
@ RR_DATA_LEGACY
Definition ConfigWizard.hpp:25
@ RR_USER
Definition ConfigWizard.hpp:27
@ RR_DATA_INCOMPAT
Definition ConfigWizard.hpp:26

◆ StartPage

Enumerator
SP_WELCOME 
SP_PRINTERS 
SP_FILAMENTS 
SP_MATERIALS 
SP_CUSTOM 
31 {
37 };
@ SP_CUSTOM
Definition ConfigWizard.hpp:36
@ SP_MATERIALS
Definition ConfigWizard.hpp:35
@ SP_PRINTERS
Definition ConfigWizard.hpp:33
@ SP_FILAMENTS
Definition ConfigWizard.hpp:34
@ SP_WELCOME
Definition ConfigWizard.hpp:32

Constructor & Destructor Documentation

◆ ConfigWizard() [1/3]

Slic3r::GUI::ConfigWizard::ConfigWizard ( wxWindow * parent)
2666 : DPIDialog(parent, wxID_ANY, wxString(SLIC3R_APP_NAME) + " - " + _(name()), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE /*| wxRESIZE_BORDER*/)
2667 , p(new priv(this))
2668{
2669 this->SetFont(wxGetApp().normal_font());
2670 SetBackgroundColour(*wxWHITE);
2671 p->load_vendors();
2672 //BBS: add bed exclude areas
2673 p->custom_config.reset(DynamicPrintConfig::new_from_defaults_keys({
2674 "gcode_flavor", "printable_area", "bed_exclude_area", "bed_exclude_volumes", "bed_exclude_volume_mode", "extruder_bed_exclude_volumes",
2675 "bed_custom_texture", "bed_custom_model", "nozzle_diameter", "filament_diameter", "thumbnails"
2676 //, "nozzle_temperature", "bed_temperature"
2677 }));
2678
2679 p->index = new ConfigWizardIndex(this);
2680
2681 auto *vsizer = new wxBoxSizer(wxVERTICAL);
2682 auto *topsizer = new wxBoxSizer(wxHORIZONTAL);
2683 auto* hline = new StaticLine(this);
2684 p->btnsizer = new wxBoxSizer(wxHORIZONTAL);
2685
2686 // Initially we _do not_ SetScrollRate in order to figure out the overall width of the Wizard without scrolling.
2687 // Later, we compare that to the size of the current screen and set minimum width based on that (see below).
2688 p->hscroll = new wxScrolledWindow(this);
2689 p->hscroll_sizer = new wxBoxSizer(wxHORIZONTAL);
2690 p->hscroll->SetSizer(p->hscroll_sizer);
2691
2692 wxGetApp().UpdateDarkUI(p->hscroll);
2693
2694 topsizer->Add(p->index, 0, wxEXPAND);
2695 topsizer->AddSpacer(INDEX_MARGIN);
2696 topsizer->Add(p->hscroll, 1, wxEXPAND);
2697
2698 p->btn_prev = new Button(this, _L("<Back"));
2699 p->btn_next = new Button(this, _L("Next>"));
2700 p->btn_finish = new Button(this,_L("Finish"));
2701 p->btn_finish->SetId(wxID_APPLY);
2702 p->btn_cancel = new Button(this, _L("Cancel")); // Note: The label needs to be present, otherwise we get accelerator bugs on Mac
2703 p->btn_cancel->SetId(wxID_CANCEL);
2704
2705 p->btnsizer->AddStretchSpacer();
2706 p->btnsizer->Add(p->btn_prev, 0, wxLEFT, BTN_SPACING);
2707 p->btnsizer->Add(p->btn_next, 0, wxLEFT, BTN_SPACING);
2708 p->btnsizer->Add(p->btn_finish, 0, wxLEFT, BTN_SPACING);
2709 p->btnsizer->Add(p->btn_cancel, 0, wxLEFT, BTN_SPACING);
2710
2711 wxGetApp().UpdateDarkUI(p->btn_prev);
2712 wxGetApp().UpdateDarkUI(p->btn_next);
2713 wxGetApp().UpdateDarkUI(p->btn_finish);
2714 wxGetApp().UpdateDarkUI(p->btn_cancel);
2715
2716 //BBS: add BBL as default
2717 const auto bbl_it = p->bundles.find("BBL");
2718 wxCHECK_RET(bbl_it != p->bundles.cend(), "Vendor BambooLab not found");
2719 const VendorProfile * vendor_bbl = bbl_it->second.vendor_profile;
2720
2721 p->only_sla_mode = false;
2722 p->any_sla_selected = p->check_sla_selected();
2723 if (p->only_sla_mode)
2724 p->any_fff_selected = p->check_fff_selected();
2725
2726 p->add_page(p->page_custom = new PageCustom(this));
2727 p->custom_printer_selected = p->page_custom->custom_wanted();
2728
2729 p->add_page(p->page_firmware = new PageFirmware(this));
2730 p->add_page(p->page_bed = new PageBedShape(this));
2731 p->add_page(p->page_diams = new PageDiameters(this));
2732 //p->add_page(p->page_temps = new PageTemperatures(this));
2733
2734 p->update_materials(T_ANY);
2735 p->add_page(p->page_filaments = new PageMaterials(this, &p->filaments,
2736 _L("Filament Profiles Selection"), _L("Filaments"), _L("Type:")));
2737
2738 p->load_pages();
2739
2740 vsizer->Add(topsizer, 1, wxEXPAND | wxALL, DIALOG_MARGIN);
2741 vsizer->Add(hline, 0, wxEXPAND | wxLEFT | wxRIGHT, VERTICAL_SPACING);
2742 vsizer->Add(p->btnsizer, 0, wxEXPAND | wxALL, DIALOG_MARGIN);
2743
2744 SetSizer(vsizer);
2745 SetSizerAndFit(vsizer);
2746
2747 // We can now enable scrolling on hscroll
2748 p->hscroll->SetScrollRate(30, FromDIP(20));
2749
2750 on_window_geometry(this, [this]() {
2751 p->init_dialog_size();
2752 });
2753
2754 p->btn_prev->Bind(wxEVT_BUTTON, [this](const wxCommandEvent&)
2755 {
2756 ConfigWizardPage* active_page = this->p->index->active_page();
2757 if ((active_page == p->page_filaments || active_page == p->page_sla_materials) &&
2758 !p->check_and_install_missing_materials(dynamic_cast<PageMaterials*>(active_page)->materials->technology))
2759 // In that case don't leave the page and the function above queried the user whether to install default materials.
2760 return;
2761 this->p->index->go_prev();
2762 });
2763
2764 p->btn_next->Bind(wxEVT_BUTTON, [this](const wxCommandEvent &)
2765 {
2766 ConfigWizardPage* active_page = this->p->index->active_page();
2767 if ((active_page == p->page_filaments || active_page == p->page_sla_materials) &&
2768 !p->check_and_install_missing_materials(dynamic_cast<PageMaterials*>(active_page)->materials->technology))
2769 // In that case don't leave the page and the function above queried the user whether to install default materials.
2770 return;
2771 this->p->index->go_next();
2772 });
2773
2774 p->btn_finish->Bind(wxEVT_BUTTON, [this](const wxCommandEvent &)
2775 {
2776 if (p->on_bnt_finish())
2777 this->EndModal(wxID_OK);
2778 });
2779
2780 p->index->Bind(EVT_INDEX_PAGE, [this](const wxCommandEvent &) {
2781 const bool is_last = p->index->active_is_last();
2782 p->btn_next->Show(! is_last);
2783 if (is_last)
2784 p->btn_finish->SetFocus();
2785
2786 Layout();
2787 });
2788
2789 if (wxLinux_gtk3)
2790 this->Bind(wxEVT_SHOW, [](const wxShowEvent& e) {
2791 ;
2792 });
2793
2794 wxGetApp().UpdateDlgDarkUI(this);
2795}
#define _(s)
Definition 3mf.cpp:306
#define wxLinux_gtk3
Definition ConfigWizard.cpp:91
#define _L(s)
Definition OBJ.cpp:34
static DynamicPrintConfig * new_from_defaults_keys(const std::vector< std::string > &keys)
Definition PrintConfig.cpp:10311
std::unique_ptr< priv > p
Definition ConfigWizard.hpp:56
friend struct ConfigWizardPage
Definition ConfigWizard.hpp:58
static const wxString & name(const bool from_menu=false)
Definition ConfigWizard.cpp:2830
const wxFont & normal_font() const
Definition GUI_Utils.hpp:205
void EndModal(int retCode) override
Definition GUI_Utils.hpp:305
@ T_ANY
Definition ConfigWizard_private.hpp:71
void on_window_geometry(wxTopLevelWindow *tlw, std::function< void()> callback)
Definition GUI_Utils.cpp:166
@ BTN_SPACING
Definition ConfigWizard_private.hpp:55
@ DIALOG_MARGIN
Definition ConfigWizard_private.hpp:53
@ VERTICAL_SPACING
Definition ConfigWizard_private.hpp:57
@ INDEX_MARGIN
Definition ConfigWizard_private.hpp:54
Definition ConfigWizard_private.hpp:541

References _, _L, Slic3r::GUI::BTN_SPACING, ConfigWizardPage, Slic3r::GUI::DIALOG_MARGIN, Slic3r::GUI::DPIDialog::EndModal(), Slic3r::GUI::INDEX_MARGIN, Slic3r::GUI::PageMaterials::materials, name(), Slic3r::DynamicPrintConfig::new_from_defaults_keys(), Slic3r::GUI::DPIAware< wxDialog >::normal_font(), Slic3r::GUI::on_window_geometry(), p, Slic3r::GUI::T_ANY, Slic3r::GUI::Materials::technology, Slic3r::GUI::VERTICAL_SPACING, and wxLinux_gtk3.

Referenced by ConfigWizard(), ConfigWizard(), Slic3r::GUI::ConfigWizard::priv::priv(), operator=(), and operator=().

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

◆ ConfigWizard() [2/3]

Slic3r::GUI::ConfigWizard::ConfigWizard ( ConfigWizard && )
delete

References ConfigWizard().

Here is the call graph for this function:

◆ ConfigWizard() [3/3]

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

References ConfigWizard().

Here is the call graph for this function:

◆ ~ConfigWizard()

Slic3r::GUI::ConfigWizard::~ConfigWizard ( )
2797{}

Member Function Documentation

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

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

◆ name()

const wxString & Slic3r::GUI::ConfigWizard::name ( const bool from_menu = false)
static
2831{
2832 // A different naming convention is used for the Wizard on Windows & GTK vs. OSX.
2833 // Note: Don't call _() macro here.
2834 // This function just return the current name according to the OS.
2835 // Translation is implemented inside GUI_App::add_config_menu()
2836#if __APPLE__
2837 static const wxString config_wizard_name = L("Configuration Assistant");
2838 static const wxString config_wizard_name_menu = L("Configuration &Assistant");
2839#else
2840 static const wxString config_wizard_name = L("Configuration Wizard");
2841 static const wxString config_wizard_name_menu = L("Configuration &Wizard");
2842#endif
2843 return from_menu ? config_wizard_name_menu : config_wizard_name;
2844}
#define L(s)
Definition ExtrusionEntity.cpp:25

References L.

Referenced by ConfigWizard(), Slic3r::GUI::ConfigWizard::priv::check_and_install_missing_materials(), Slic3r::GUI::get_new_added_presets(), and Slic3r::GUI::ConfigWizard::priv::update_presets_in_config().

Here is the caller graph for this function:

◆ normal_font()

◆ on_dpi_changed()

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

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

2847{
2848 const int em = em_unit();
2849
2850 msw_buttons_rescale(this, em, { wxID_APPLY,
2851 wxID_CANCEL,
2852 p->btn_next->GetId(),
2853 p->btn_prev->GetId() });
2854
2855 p->init_dialog_size();
2856
2857 Refresh();
2858}
int em_unit() const
Definition GUI_Utils.hpp:203
void msw_buttons_rescale(wxDialog *dlg, const int em_unit, const std::vector< int > &btn_ids)
Definition wxExtensions.cpp:406

References Slic3r::GUI::DPIAware< wxDialog >::em_unit(), msw_buttons_rescale(), and p.

Here is the call graph for this function:

◆ on_sys_color_changed()

void Slic3r::GUI::ConfigWizard::on_sys_color_changed ( )
overrideprotectedvirtual

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

2861{
2862 wxGetApp().UpdateDlgDarkUI(this);
2863 Refresh();
2864}

◆ operator=() [1/2]

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

References ConfigWizard().

Here is the call graph for this function:

◆ operator=() [2/2]

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

References ConfigWizard(), and SP_WELCOME.

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

◆ run()

bool Slic3r::GUI::ConfigWizard::run ( RunReason reason,
StartPage start_page = SP_WELCOME )
2800{
2801 BOOST_LOG_TRIVIAL(info) << boost::format("Running ConfigWizard, reason: %1%, start_page: %2%") % reason % start_page;
2802
2803 GUI_App &app = wxGetApp();
2804
2805 p->set_run_reason(reason);
2806 p->set_start_page(start_page);
2807
2808 if (ShowModal() == wxID_OK) {
2809 bool apply_keeped_changes = false;
2810 if (! p->apply_config(app.app_config, app.preset_bundle, app.preset_updater, apply_keeped_changes))
2811 return false;
2812
2813 if (apply_keeped_changes)
2814 app.apply_keeped_preset_modifications();
2815
2816 app.app_config->set_legacy_datadir(false);
2817 app.update_mode();
2818 if (Plater *plater = app.plater())
2820 // BBS
2821 //app.obj_manipul()->update_ui_from_settings();
2822 BOOST_LOG_TRIVIAL(info) << "ConfigWizard applied";
2823 return true;
2824 } else {
2825 BOOST_LOG_TRIVIAL(info) << "ConfigWizard cancelled";
2826 return false;
2827 }
2828}
int ShowModal()
Definition GUI_Utils.hpp:216
void normalize_bed_types(bool printer_setting_changed)
Definition Plater.cpp:15672
static Plater * plater()
Definition GUI_Factories.cpp:400
@ Plater
Definition Shortcuts.hpp:21

References Slic3r::GUI::GUI_App::app_config, Slic3r::GUI::GUI_App::apply_keeped_preset_modifications(), p, Slic3r::GUI::GUI_App::plater(), Slic3r::GUI::plater(), Slic3r::GUI::GUI_App::preset_bundle, Slic3r::GUI::GUI_App::preset_updater, Slic3r::AppConfig::set_legacy_datadir(), Slic3r::GUI::DPIAware< wxDialog >::ShowModal(), and Slic3r::GUI::GUI_App::update_mode().

Here is the call graph for this function:

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

◆ ConfigWizardPage

Member Data Documentation

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

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

◆ m_normal_font

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

◆ m_prev_scale_factor

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

◆ m_scale_factor

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

◆ p

std::unique_ptr<priv> Slic3r::GUI::ConfigWizard::p
private

Referenced by ConfigWizard(), on_dpi_changed(), and run().


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