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

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

Inheritance diagram for Slic3r::GUI::SLAImportDialog:
Collaboration diagram for Slic3r::GUI::SLAImportDialog:

Public Types

enum  Sel { modelAndProfile , profileOnly , modelOnly }

Public Member Functions

 SLAImportDialog (Plater *plater)
Sel get_selection () const override
Vec2i32 get_marchsq_windowsize () const override
std::string get_path () const override

Private Attributes

wxFilePickerCtrl * m_filepicker
wxComboBox * m_import_dropdown
wxComboBox * m_quality_dropdown

Detailed Description

Member Enumeration Documentation

◆ Sel

Enumerator
modelAndProfile 
profileOnly 
modelOnly 
@ profileOnly
Definition SLAImportJob.hpp:15
@ modelOnly
Definition SLAImportJob.hpp:15
@ modelAndProfile
Definition SLAImportJob.hpp:15

Constructor & Destructor Documentation

◆ SLAImportDialog()

Slic3r::GUI::SLAImportDialog::SLAImportDialog ( Plater * plater)
inline
37 : wxDialog{plater, wxID_ANY, _L("Import SLA archive")}
38 {
39 auto szvert = new wxBoxSizer{wxVERTICAL};
40 auto szfilepck = new wxBoxSizer{wxHORIZONTAL};
41
42 m_filepicker = new wxFilePickerCtrl(this, wxID_ANY, from_u8(wxGetApp().app_config->get_last_dir()), _(L("Choose SLA archive:")),
43 _L("SL1 / SL1S archive files") + " (*.sl1, *.sl1s, *.zip)|*.sl1;*.SL1;*.sl1s;*.SL1S;*.zip;*.ZIP",
44 wxDefaultPosition, wxDefaultSize, wxFLP_DEFAULT_STYLE | wxFD_OPEN | wxFD_FILE_MUST_EXIST);
45
46 szfilepck->Add(new wxStaticText(this, wxID_ANY, _L("Import file") + ": "), 0, wxALIGN_CENTER);
47 szfilepck->Add(m_filepicker, 1);
48 szvert->Add(szfilepck, 0, wxALL | wxEXPAND, 5);
49
50 auto szchoices = new wxBoxSizer{wxHORIZONTAL};
51
52 static const std::vector<wxString> inp_choices = {_(L("Import model and profile")), _(L("Import profile only")),
53 _(L("Import model only"))};
54
55 m_import_dropdown = new wxComboBox(this, wxID_ANY, inp_choices[0], wxDefaultPosition, wxDefaultSize, inp_choices.size(),
56 inp_choices.data(), wxCB_READONLY | wxCB_DROPDOWN);
57
58 szchoices->Add(m_import_dropdown);
59 szchoices->Add(new wxStaticText(this, wxID_ANY, _L("Quality") + ": "), 0, wxALIGN_CENTER | wxALL, 5);
60
61 static const std::vector<wxString> qual_choices = {_(L("Accurate")), _(L("Balanced")), _(L("Quick"))};
62
63 m_quality_dropdown = new wxComboBox(this, wxID_ANY, qual_choices[0], wxDefaultPosition, wxDefaultSize, qual_choices.size(),
64 qual_choices.data(), wxCB_READONLY | wxCB_DROPDOWN);
65 szchoices->Add(m_quality_dropdown);
66
67 m_import_dropdown->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent &) {
69 m_quality_dropdown->Disable();
70 else
71 m_quality_dropdown->Enable();
72 });
73
74 szvert->Add(szchoices, 0, wxALL, 5);
75 szvert->AddStretchSpacer(1);
76 auto szbtn = new wxBoxSizer(wxHORIZONTAL);
77 szbtn->Add(new wxButton{this, wxID_CANCEL});
78 szbtn->Add(new wxButton{this, wxID_OK});
79 szvert->Add(szbtn, 0, wxALIGN_RIGHT | wxALL, 5);
80
81 SetSizerAndFit(szvert);
82 }
#define _(s)
Definition 3mf.cpp:306
#define L(s)
Definition ExtrusionEntity.cpp:25
#define _L(s)
Definition OBJ.cpp:34
class WXDLLIMPEXP_FWD_CORE wxButton
Definition ProgressDialog.hpp:27
class WXDLLIMPEXP_FWD_CORE wxStaticText
Definition ProgressDialog.hpp:30
Sel get_selection() const override
Definition SLAImportDialog.hpp:84
wxFilePickerCtrl * m_filepicker
Definition SLAImportDialog.hpp:33
wxComboBox * m_import_dropdown
Definition SLAImportDialog.hpp:34
wxComboBox * m_quality_dropdown
Definition SLAImportDialog.hpp:34
static Plater * plater()
Definition GUI_Factories.cpp:400
wxString from_u8(const std::string &str)
Definition GUI.cpp:544

References _, _L, Slic3r::GUI::from_u8(), get_selection(), L, m_filepicker, m_import_dropdown, m_quality_dropdown, Slic3r::GUI::plater(), Slic3r::GUI::SLAImportJobView::profileOnly, wxButton, and wxStaticText.

Here is the call graph for this function:

Member Function Documentation

◆ get_marchsq_windowsize()

Vec2i32 Slic3r::GUI::SLAImportDialog::get_marchsq_windowsize ( ) const
inlineoverridevirtual

Implements Slic3r::GUI::SLAImportJobView.

91 {
92 enum { Accurate, Balanced, Fast };
93
94 switch (m_quality_dropdown->GetSelection()) {
95 case Fast: return {8, 8};
96 case Balanced: return {4, 4};
97 default:
98 case Accurate: return {2, 2};
99 }
100 }

References m_quality_dropdown.

◆ get_path()

std::string Slic3r::GUI::SLAImportDialog::get_path ( ) const
inlineoverridevirtual

Implements Slic3r::GUI::SLAImportJobView.

102{ return m_filepicker->GetPath().ToUTF8().data(); }

References m_filepicker.

◆ get_selection()

Sel Slic3r::GUI::SLAImportDialog::get_selection ( ) const
inlineoverridevirtual

Implements Slic3r::GUI::SLAImportJobView.

85 {
86 int sel = m_import_dropdown->GetSelection();
87 return Sel(std::min(int(Sel::modelOnly), std::max(0, sel)));
88 }
Sel
Definition SLAImportJob.hpp:15

References m_import_dropdown, and Slic3r::GUI::SLAImportJobView::modelOnly.

Referenced by SLAImportDialog().

Here is the caller graph for this function:

Member Data Documentation

◆ m_filepicker

wxFilePickerCtrl* Slic3r::GUI::SLAImportDialog::m_filepicker
private

Referenced by SLAImportDialog(), and get_path().

◆ m_import_dropdown

wxComboBox* Slic3r::GUI::SLAImportDialog::m_import_dropdown
private

Referenced by SLAImportDialog(), and get_selection().

◆ m_quality_dropdown

wxComboBox * Slic3r::GUI::SLAImportDialog::m_quality_dropdown
private

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