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

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

Inheritance diagram for Slic3r::GUI::CalibrationFlowFineSavePage:
Collaboration diagram for Slic3r::GUI::CalibrationFlowFineSavePage:

Public Member Functions

 CalibrationFlowFineSavePage (wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL)
void create_page (wxWindow *parent)
void set_save_img ()
void set_default_options (const wxString &name)
void set_curr_flow_ratio (float value)
bool get_result (float *out_value, wxString *out_name)
virtual bool Show (bool show=true) override
void msw_rescale () override
CaliPageType get_page_type ()
CalibrationWizardPage * get_prev_page ()
CalibrationWizardPage * get_next_page ()
void set_prev_page (CalibrationWizardPage *prev)
void set_next_page (CalibrationWizardPage *next)
CalibrationWizardPage * chain (CalibrationWizardPage *next)
virtual void update (MachineObject *obj)
virtual void on_device_connected (MachineObject *obj)
virtual void on_reset_page ()
virtual void set_cali_filament_mode (CalibrationFilamentMode mode)
virtual void set_cali_method (CalibrationMethod method)
virtual void on_sys_color_changed ()

Protected Attributes

CaliPageStepGuide * m_step_panel { nullptr }
CaliPagePicture * m_picture_panel
ComboBox * m_optimal_block_fine
TextInput * m_save_name_input
Label * m_fine_calc_result_text
float m_curr_flow_ratio
float m_fine_flow_ratio
wxBoxSizer * m_top_sizer
CalibMode m_cali_mode
CaliPageType m_page_type
CalibrationFilamentMode m_cali_filament_mode
CalibrationMethod m_cali_method { CalibrationMethod::CALI_METHOD_MANUAL }
MachineObject * curr_obj { nullptr }
wxWindow * m_parent { nullptr }
CaliPageCaption * m_page_caption { nullptr }
CaliPageActionPanel * m_action_panel { nullptr }
Label * m_statictext_printer_msg { nullptr }

Private Attributes

CalibrationWizardPage * m_prev_page {nullptr}
CalibrationWizardPage * m_next_page {nullptr}

Detailed Description

Constructor & Destructor Documentation

◆ CalibrationFlowFineSavePage()

Slic3r::GUI::CalibrationFlowFineSavePage::CalibrationFlowFineSavePage ( wxWindow * parent,
wxWindowID id = wxID_ANY,
const wxPoint & pos = wxDefaultPosition,
const wxSize & size = wxDefaultSize,
long style = wxTAB_TRAVERSAL )
1867 : CalibrationCommonSavePage(parent, id, pos, size, style)
1868{
1869 SetBackgroundColour(*wxWHITE);
1870
1872
1874
1875 m_top_sizer = new wxBoxSizer(wxVERTICAL);
1876
1877 create_page(this);
1878
1879 this->SetSizer(m_top_sizer);
1880 m_top_sizer->Fit(this);
1881}
#define style
Definition WipeTowerDialog.cpp:101
wxBoxSizer * m_top_sizer
Definition CalibrationWizardSavePage.hpp:39
CalibrationCommonSavePage(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL)
Definition CalibrationWizardSavePage.cpp:116
void create_page(wxWindow *parent)
Definition CalibrationWizardSavePage.cpp:1883
CaliPageType m_page_type
Definition CalibrationWizardPage.hpp:338
CalibMode m_cali_mode
Definition CalibrationWizardPage.hpp:337
@ CALI_PAGE_FINE_SAVE
Definition CalibrationWizardPage.hpp:87
@ Calib_Flow_Rate
Definition calib.hpp:29

References Slic3r::GUI::CalibrationCommonSavePage::CalibrationCommonSavePage(), Slic3r::GUI::CALI_PAGE_FINE_SAVE, Slic3r::Calib_Flow_Rate, create_page(), Slic3r::GUI::CalibrationWizardPage::m_cali_mode, Slic3r::GUI::CalibrationWizardPage::m_page_type, Slic3r::GUI::CalibrationCommonSavePage::m_top_sizer, and style.

Here is the call graph for this function:

Member Function Documentation

◆ chain()

CalibrationWizardPage * Slic3r::GUI::CalibrationWizardPage::chain ( CalibrationWizardPage * next)
inlineinherited
313 {
314 set_next_page(next);
315 next->set_prev_page(this);
316 return next;
317 }
void set_next_page(CalibrationWizardPage *next)
Definition CalibrationWizardPage.hpp:311

References CalibrationWizardPage(), set_next_page(), and set_prev_page().

Here is the call graph for this function:

◆ create_page()

void Slic3r::GUI::CalibrationFlowFineSavePage::create_page ( wxWindow * parent)
1884{
1885 m_page_caption = new CaliPageCaption(parent, m_cali_mode);
1886 m_page_caption->show_prev_btn(true);
1887 m_top_sizer->Add(m_page_caption, 0, wxEXPAND, 0);
1888
1889 wxArrayString steps;
1890 steps.Add(_L("Preset"));
1891 steps.Add(_L("Calibration1"));
1892 steps.Add(_L("Calibration2"));
1893 steps.Add(_L("Record Factor"));
1894 m_step_panel = new CaliPageStepGuide(parent, steps);
1895 m_step_panel->set_steps(3);
1896 m_top_sizer->Add(m_step_panel, 0, wxEXPAND, 0);
1897
1898 auto complete_text = new Label(parent, _L("Please find the best object on your plate"));
1899 complete_text->SetFont(Label::Head_14);
1900 complete_text->Wrap(-1);
1901 m_top_sizer->Add(complete_text, 0, wxEXPAND, 0);
1902 m_top_sizer->AddSpacer(FromDIP(20));
1903
1904 m_picture_panel = new CaliPagePicture(parent);
1905 set_save_img();
1906 m_top_sizer->Add(m_picture_panel, 0, wxEXPAND, 0);
1907
1908 m_top_sizer->AddSpacer(FromDIP(20));
1909
1910 auto fine_value_sizer = new wxBoxSizer(wxVERTICAL);
1911 auto fine_value_text = new Label(parent, _L("Fill in the value above the block with smoothest top surface"));
1912 fine_value_text->Wrap(-1);
1913 fine_value_text->SetFont(::Label::Head_14);
1914 m_optimal_block_fine = new ComboBox(parent, wxID_ANY, "", wxDefaultPosition, CALIBRATION_OPTIMAL_INPUT_SIZE, 0, nullptr, wxCB_READONLY);
1915 wxArrayString fine_block_items;
1916 for (int i = 0; i < 10; i++) {
1917 fine_block_items.Add(std::to_string(-9 + (i)));
1918 }
1919 m_optimal_block_fine->Set(fine_block_items);
1920 m_fine_calc_result_text = new Label(parent, "");
1921 fine_value_sizer->Add(fine_value_text, 0, 0);
1922 fine_value_sizer->Add(m_optimal_block_fine, 0, 0);
1923 fine_value_sizer->Add(m_fine_calc_result_text, 0);
1924 m_top_sizer->Add(fine_value_sizer, 0, 0, 0);
1925 m_top_sizer->AddSpacer(FromDIP(20));
1926
1927 auto save_text = new Label(parent, _L("Save to Filament Preset"));
1928 save_text->Wrap(-1);
1929 save_text->SetFont(Label::Head_14);
1930 m_top_sizer->Add(save_text, 0, 0, 0);
1931
1932 m_save_name_input = new TextInput(parent, "", "", "", wxDefaultPosition, {CALIBRATION_TEXT_MAX_LENGTH, FromDIP(24)}, 0);
1933 m_top_sizer->Add(m_save_name_input, 0, 0, 0);
1934
1935 m_top_sizer->AddSpacer(FromDIP(20));
1936
1937 m_optimal_block_fine->Bind(wxEVT_COMBOBOX, [this](auto& e) {
1938 m_fine_flow_ratio = m_curr_flow_ratio * (100.0f + stof(m_optimal_block_fine->GetValue().ToStdString())) / 100.0f;
1939 m_fine_calc_result_text->SetLabel(wxString::Format(_L("flow ratio : %s "), std::to_string(m_fine_flow_ratio)));
1940 });
1941
1942 m_action_panel = new CaliPageActionPanel(parent, m_cali_mode, CaliPageType::CALI_PAGE_FINE_SAVE);
1943 m_top_sizer->Add(m_action_panel, 0, wxEXPAND, 0);
1944}
#define CALIBRATION_TEXT_MAX_LENGTH
Definition CalibrationWizardPage.hpp:40
#define CALIBRATION_OPTIMAL_INPUT_SIZE
Definition CalibrationWizardPage.hpp:37
#define _L(s)
Definition OBJ.cpp:34
static wxFont Head_14
Definition Label.hpp:45
TextInput * m_save_name_input
Definition CalibrationWizardSavePage.hpp:328
float m_fine_flow_ratio
Definition CalibrationWizardSavePage.hpp:333
float m_curr_flow_ratio
Definition CalibrationWizardSavePage.hpp:332
void set_save_img()
Definition CalibrationWizardSavePage.cpp:1946
CaliPagePicture * m_picture_panel
Definition CalibrationWizardSavePage.hpp:326
CaliPageStepGuide * m_step_panel
Definition CalibrationWizardSavePage.hpp:325
Label * m_fine_calc_result_text
Definition CalibrationWizardSavePage.hpp:330
ComboBox * m_optimal_block_fine
Definition CalibrationWizardSavePage.hpp:327
CaliPageActionPanel * m_action_panel
Definition CalibrationWizardPage.hpp:345
CaliPageCaption * m_page_caption
Definition CalibrationWizardPage.hpp:344

References _L, Slic3r::GUI::CALI_PAGE_FINE_SAVE, CALIBRATION_OPTIMAL_INPUT_SIZE, CALIBRATION_TEXT_MAX_LENGTH, Label::Head_14, Slic3r::GUI::CalibrationWizardPage::m_action_panel, Slic3r::GUI::CalibrationWizardPage::m_cali_mode, m_curr_flow_ratio, m_fine_calc_result_text, m_fine_flow_ratio, m_optimal_block_fine, Slic3r::GUI::CalibrationWizardPage::m_page_caption, m_picture_panel, m_save_name_input, m_step_panel, Slic3r::GUI::CalibrationCommonSavePage::m_top_sizer, and set_save_img().

Referenced by CalibrationFlowFineSavePage().

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

◆ get_next_page()

CalibrationWizardPage * Slic3r::GUI::CalibrationWizardPage::get_next_page ( )
inlineinherited
309{ return m_next_page; }
CalibrationWizardPage * m_next_page
Definition CalibrationWizardPage.hpp:350

References CalibrationWizardPage(), and m_next_page.

Here is the call graph for this function:

◆ get_page_type()

CaliPageType Slic3r::GUI::CalibrationWizardPage::get_page_type ( )
inlineinherited
306{ return m_page_type; }

References m_page_type.

Referenced by Slic3r::GUI::CalibrationWizard::on_cali_go_home().

Here is the caller graph for this function:

◆ get_prev_page()

CalibrationWizardPage * Slic3r::GUI::CalibrationWizardPage::get_prev_page ( )
inlineinherited
308{ return m_prev_page; }
CalibrationWizardPage * m_prev_page
Definition CalibrationWizardPage.hpp:349

References CalibrationWizardPage(), and m_prev_page.

Here is the call graph for this function:

◆ get_result()

bool Slic3r::GUI::CalibrationFlowFineSavePage::get_result ( float * out_value,
wxString * out_name )
1964 {
1965 // Check if the value is valid
1967 MessageDialog msg_dlg(nullptr, _L("Please choose a block with smoothest top surface."), wxEmptyString, wxICON_WARNING | wxOK);
1968 msg_dlg.ShowModal();
1969 return false;
1970 }
1971 if (m_save_name_input->GetTextCtrl()->GetValue().IsEmpty()) {
1972 MessageDialog msg_dlg(nullptr, _L("Please enter the name of the preset you want to save."), wxEmptyString, wxICON_WARNING | wxOK);
1973 msg_dlg.ShowModal();
1974 return false;
1975 }
1976 *out_value = m_fine_flow_ratio;
1977 *out_name = m_save_name_input->GetTextCtrl()->GetValue();
1978 return true;
1979}

References _L, m_fine_flow_ratio, m_optimal_block_fine, m_save_name_input, and Slic3r::GUI::DPIAware< P >::ShowModal().

Here is the call graph for this function:

◆ msw_rescale()

void Slic3r::GUI::CalibrationFlowFineSavePage::msw_rescale ( )
overridevirtual

Reimplemented from Slic3r::GUI::CalibrationWizardPage.

1999{
2001 m_picture_panel->msw_rescale();
2002}
virtual void msw_rescale()
Definition CalibrationWizardPage.cpp:997

References m_picture_panel, and Slic3r::GUI::CalibrationWizardPage::msw_rescale().

Here is the call graph for this function:

◆ on_device_connected()

virtual void Slic3r::GUI::CalibrationWizardPage::on_device_connected ( MachineObject * obj)
inlinevirtualinherited

◆ on_reset_page()

virtual void Slic3r::GUI::CalibrationWizardPage::on_reset_page ( )
inlinevirtualinherited

◆ on_sys_color_changed()

void Slic3r::GUI::CalibrationWizardPage::on_sys_color_changed ( )
virtualinherited

Reimplemented in Slic3r::GUI::CalibrationPresetPage.

1004{
1005 m_page_caption->on_sys_color_changed();
1006}

References m_page_caption.

Referenced by Slic3r::GUI::CalibrationPresetPage::on_sys_color_changed().

Here is the caller graph for this function:

◆ set_cali_filament_mode()

virtual void Slic3r::GUI::CalibrationWizardPage::set_cali_filament_mode ( CalibrationFilamentMode mode)
inlinevirtualinherited

Reimplemented in Slic3r::GUI::CalibrationPresetPage.

325 {
327 }
CalibrationFilamentMode m_cali_filament_mode
Definition CalibrationWizardPage.hpp:339

References m_cali_filament_mode.

Referenced by Slic3r::GUI::CalibrationPresetPage::set_cali_filament_mode().

Here is the caller graph for this function:

◆ set_cali_method()

virtual void Slic3r::GUI::CalibrationWizardPage::set_cali_method ( CalibrationMethod method)
inlinevirtualinherited

Reimplemented in Slic3r::GUI::CalibrationCaliPage, Slic3r::GUI::CalibrationPASavePage, and Slic3r::GUI::CalibrationPresetPage.

329 {
330 m_cali_method = method;
331 }
CalibrationMethod m_cali_method
Definition CalibrationWizardPage.hpp:340

References m_cali_method.

Referenced by Slic3r::GUI::CalibrationPASavePage::set_cali_method(), and Slic3r::GUI::CalibrationPresetPage::set_cali_method().

Here is the caller graph for this function:

◆ set_curr_flow_ratio()

void Slic3r::GUI::CalibrationFlowFineSavePage::set_curr_flow_ratio ( float value)
1960 {
1961 m_curr_flow_ratio = value;
1962}

References m_curr_flow_ratio.

Referenced by Show().

Here is the caller graph for this function:

◆ set_default_options()

void Slic3r::GUI::CalibrationFlowFineSavePage::set_default_options ( const wxString & name)
1954 {
1955 m_optimal_block_fine->SetSelection(-1);
1956 m_fine_calc_result_text->SetLabelText("");
1957 m_save_name_input->GetTextCtrl()->SetValue(name);
1958}

References m_fine_calc_result_text, m_optimal_block_fine, and m_save_name_input.

Referenced by Show().

Here is the caller graph for this function:

◆ set_next_page()

void Slic3r::GUI::CalibrationWizardPage::set_next_page ( CalibrationWizardPage * next)
inlineinherited
311{ m_next_page = next; }

References CalibrationWizardPage(), and m_next_page.

Referenced by chain().

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

◆ set_prev_page()

void Slic3r::GUI::CalibrationWizardPage::set_prev_page ( CalibrationWizardPage * prev)
inlineinherited
310{ m_prev_page = prev; }

References CalibrationWizardPage(), and m_prev_page.

Referenced by chain().

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

◆ set_save_img()

void Slic3r::GUI::CalibrationFlowFineSavePage::set_save_img ( )
1946 {
1947 if (wxGetApp().app_config->get_language_code() == "zh-cn") {
1948 m_picture_panel->set_bmp(ScalableBitmap(this, "flow_rate_calibration_fine_result_CN", 350));
1949 } else {
1950 m_picture_panel->set_bmp(ScalableBitmap(this, "flow_rate_calibration_fine_result", 350));
1951 }
1952}

References m_picture_panel.

Referenced by create_page().

Here is the caller graph for this function:

◆ Show()

bool Slic3r::GUI::CalibrationFlowFineSavePage::Show ( bool show = true)
overridevirtual
1981 {
1982 if (show) {
1983 if (curr_obj) {
1984 assert(curr_obj->selected_cali_preset.size() <= 1);
1985 if (!curr_obj->selected_cali_preset.empty()) {
1986 wxString default_name = get_default_name(curr_obj->selected_cali_preset[0].name, CalibMode::Calib_Flow_Rate);
1987 set_default_options(default_name);
1988 set_curr_flow_ratio(curr_obj->cache_flow_ratio);
1989 }
1990 }
1991 else {
1992 BOOST_LOG_TRIVIAL(trace) << "CalibrationFlowFineSave::Show(): obj is nullptr";
1993 }
1994 }
1995 return wxPanel::Show(show);
1996}
void set_default_options(const wxString &name)
Definition CalibrationWizardSavePage.cpp:1954
void set_curr_flow_ratio(float value)
Definition CalibrationWizardSavePage.cpp:1960
static wxString get_default_name(wxString filament_name, CalibMode mode)
Definition CalibrationWizardSavePage.cpp:48
void trace(unsigned int level, const char *message)
Definition utils.cpp:247

References Slic3r::Calib_Flow_Rate, Slic3r::GUI::CalibrationWizardPage::curr_obj, Slic3r::GUI::get_default_name(), set_curr_flow_ratio(), set_default_options(), and Slic3r::trace().

Here is the call graph for this function:

◆ update()

virtual void Slic3r::GUI::CalibrationWizardPage::update ( MachineObject * obj)
inlinevirtualinherited

Reimplemented in Slic3r::GUI::CalibrationCaliPage, Slic3r::GUI::CalibrationPASavePage, and Slic3r::GUI::CalibrationPresetPage.

319{ curr_obj = obj; }

References curr_obj.

Referenced by Slic3r::GUI::CalibrationPASavePage::update().

Here is the caller graph for this function:

Member Data Documentation

◆ curr_obj

◆ m_action_panel

◆ m_cali_filament_mode

◆ m_cali_method

◆ m_cali_mode

◆ m_curr_flow_ratio

float Slic3r::GUI::CalibrationFlowFineSavePage::m_curr_flow_ratio
protected

Referenced by create_page(), and set_curr_flow_ratio().

◆ m_fine_calc_result_text

Label* Slic3r::GUI::CalibrationFlowFineSavePage::m_fine_calc_result_text
protected

Referenced by create_page(), and set_default_options().

◆ m_fine_flow_ratio

float Slic3r::GUI::CalibrationFlowFineSavePage::m_fine_flow_ratio
protected

Referenced by create_page(), and get_result().

◆ m_next_page

CalibrationWizardPage* Slic3r::GUI::CalibrationWizardPage::m_next_page {nullptr}
privateinherited
350{nullptr};

Referenced by get_next_page(), and set_next_page().

◆ m_optimal_block_fine

ComboBox* Slic3r::GUI::CalibrationFlowFineSavePage::m_optimal_block_fine
protected

◆ m_page_caption

◆ m_page_type

◆ m_parent

wxWindow* Slic3r::GUI::CalibrationWizardPage::m_parent { nullptr }
protectedinherited
343{ nullptr };

Referenced by CalibrationWizardPage().

◆ m_picture_panel

CaliPagePicture* Slic3r::GUI::CalibrationFlowFineSavePage::m_picture_panel
protected

◆ m_prev_page

CalibrationWizardPage* Slic3r::GUI::CalibrationWizardPage::m_prev_page {nullptr}
privateinherited
349{nullptr};

Referenced by get_prev_page(), and set_prev_page().

◆ m_save_name_input

TextInput* Slic3r::GUI::CalibrationFlowFineSavePage::m_save_name_input
protected

◆ m_statictext_printer_msg

Label* Slic3r::GUI::CalibrationWizardPage::m_statictext_printer_msg { nullptr }
protectedinherited

◆ m_step_panel

CaliPageStepGuide* Slic3r::GUI::CalibrationFlowFineSavePage::m_step_panel { nullptr }
protected
325{ nullptr };

Referenced by create_page().

◆ m_top_sizer


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