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

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

Inheritance diagram for Slic3r::GUI::CaliPageActionPanel:
Collaboration diagram for Slic3r::GUI::CaliPageActionPanel:

Public Member Functions

 CaliPageActionPanel (wxWindow *parent, CalibMode cali_mode, CaliPageType page_type, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL)
void bind_button (CaliPageActionType action_type, bool is_block)
void show_button (CaliPageActionType action_type, bool show=true)
void enable_button (CaliPageActionType action_type, bool enable=true)
void msw_rescale ()

Protected Attributes

std::vector< CaliPageButton * > m_action_btns

Detailed Description

Constructor & Destructor Documentation

◆ CaliPageActionPanel()

Slic3r::GUI::CaliPageActionPanel::CaliPageActionPanel ( wxWindow * parent,
CalibMode cali_mode,
CaliPageType page_type,
wxWindowID id = wxID_ANY,
const wxPoint & pos = wxDefaultPosition,
const wxSize & size = wxDefaultSize,
long style = wxTAB_TRAVERSAL )
703 : wxPanel(parent, id, pos, size, style)
704{
705 m_parent = parent;
706
707 wxWindow* btn_parent = this;
708
709 if (cali_mode == CalibMode::Calib_PA_Line) {
710 if (page_type == CaliPageType::CALI_PAGE_START) {
711 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_MANAGE_RESULT));
712 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_MANUAL_CALI));
713 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_AUTO_CALI));
714 }
715 else if (page_type == CaliPageType::CALI_PAGE_PRESET) {
716 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_CALI));
717 }
718 else if (page_type == CaliPageType::CALI_PAGE_CALI) {
719 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_CALI_NEXT));
720 }
721 else if (page_type == CaliPageType::CALI_PAGE_PA_SAVE) {
722 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_PA_SAVE));
723 }
724 }
725 else if (cali_mode == CalibMode::Calib_Flow_Rate) {
726 if (page_type == CaliPageType::CALI_PAGE_START) {
727 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_MANUAL_CALI));
728 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_AUTO_CALI));
729 }
730 else if (page_type == CaliPageType::CALI_PAGE_PRESET) {
731 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_CALI));
732 }
733 else if (page_type == CaliPageType::CALI_PAGE_CALI) {
734 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_CALI_NEXT));
735 }
736 else if (page_type == CaliPageType::CALI_PAGE_COARSE_SAVE) {
737 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_FLOW_COARSE_SAVE));
738 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_FLOW_CALI_STAGE_2));
739 }
740 else if (page_type == CaliPageType::CALI_PAGE_FINE_SAVE) {
741 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_FLOW_FINE_SAVE));
742 }
743 else if (page_type == CaliPageType::CALI_PAGE_FLOW_SAVE) {
744 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_FLOW_SAVE));
745 }
746 }
747 else {
748 if (page_type == CaliPageType::CALI_PAGE_START) {
749 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_START));
750 }
751 else if (page_type == CaliPageType::CALI_PAGE_PRESET) {
752 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_CALI));
753 }
754 else if (page_type == CaliPageType::CALI_PAGE_CALI) {
755 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_CALI_NEXT));
756 }
757 else if (page_type == CaliPageType::CALI_PAGE_COMMON_SAVE) {
758 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_COMMON_SAVE));
759 }
760 else {
761 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_PREV));
762 m_action_btns.push_back(new CaliPageButton(btn_parent, CaliPageActionType::CALI_ACTION_NEXT));
763 }
764
765 }
766
767 auto top_sizer = new wxBoxSizer(wxHORIZONTAL);
768
769 top_sizer->Add(0, 0, 1, wxEXPAND, 0);
770 for (int i = 0; i < m_action_btns.size(); i++) {
771 top_sizer->Add(m_action_btns[i], 0, wxALL, FromDIP(5));
772
773 m_action_btns[i]->Bind(wxEVT_BUTTON,
774 [this, i](wxCommandEvent& evt) {
775 wxCommandEvent event(EVT_CALI_ACTION);
776 event.SetEventObject(m_parent);
777 event.SetInt((int)m_action_btns[i]->get_action_type());
778 wxPostEvent(m_parent, event);
779 });
780 }
781 top_sizer->Add(0, 0, 1, wxEXPAND, 0);
782
783 this->SetSizer(top_sizer);
784 top_sizer->Fit(this);
785}
#define style
Definition WipeTowerDialog.cpp:101
std::vector< CaliPageButton * > m_action_btns
Definition CalibrationWizardPage.hpp:297
@ CALI_ACTION_NEXT
Definition CalibrationWizardPage.hpp:231
@ CALI_ACTION_FLOW_FINE_SAVE
Definition CalibrationWizardPage.hpp:236
@ CALI_ACTION_PA_SAVE
Definition CalibrationWizardPage.hpp:233
@ CALI_ACTION_AUTO_CALI
Definition CalibrationWizardPage.hpp:225
@ CALI_ACTION_PREV
Definition CalibrationWizardPage.hpp:230
@ CALI_ACTION_MANUAL_CALI
Definition CalibrationWizardPage.hpp:224
@ CALI_ACTION_MANAGE_RESULT
Definition CalibrationWizardPage.hpp:223
@ CALI_ACTION_CALI_NEXT
Definition CalibrationWizardPage.hpp:232
@ CALI_ACTION_FLOW_COARSE_SAVE
Definition CalibrationWizardPage.hpp:235
@ CALI_ACTION_CALI
Definition CalibrationWizardPage.hpp:227
@ CALI_ACTION_START
Definition CalibrationWizardPage.hpp:226
@ CALI_ACTION_COMMON_SAVE
Definition CalibrationWizardPage.hpp:237
@ CALI_ACTION_FLOW_SAVE
Definition CalibrationWizardPage.hpp:234
@ CALI_ACTION_FLOW_CALI_STAGE_2
Definition CalibrationWizardPage.hpp:228
@ CALI_PAGE_FINE_SAVE
Definition CalibrationWizardPage.hpp:87
@ CALI_PAGE_COARSE_SAVE
Definition CalibrationWizardPage.hpp:85
@ CALI_PAGE_FLOW_SAVE
Definition CalibrationWizardPage.hpp:89
@ CALI_PAGE_PRESET
Definition CalibrationWizardPage.hpp:83
@ CALI_PAGE_COMMON_SAVE
Definition CalibrationWizardPage.hpp:90
@ CALI_PAGE_START
Definition CalibrationWizardPage.hpp:82
@ CALI_PAGE_CALI
Definition CalibrationWizardPage.hpp:84
@ CALI_PAGE_PA_SAVE
Definition CalibrationWizardPage.hpp:88
@ Calib_PA_Line
Definition calib.hpp:25
@ Calib_Flow_Rate
Definition calib.hpp:29

References Slic3r::GUI::CALI_ACTION_AUTO_CALI, Slic3r::GUI::CALI_ACTION_CALI, Slic3r::GUI::CALI_ACTION_CALI_NEXT, Slic3r::GUI::CALI_ACTION_COMMON_SAVE, Slic3r::GUI::CALI_ACTION_FLOW_CALI_STAGE_2, Slic3r::GUI::CALI_ACTION_FLOW_COARSE_SAVE, Slic3r::GUI::CALI_ACTION_FLOW_FINE_SAVE, Slic3r::GUI::CALI_ACTION_FLOW_SAVE, Slic3r::GUI::CALI_ACTION_MANAGE_RESULT, Slic3r::GUI::CALI_ACTION_MANUAL_CALI, Slic3r::GUI::CALI_ACTION_NEXT, Slic3r::GUI::CALI_ACTION_PA_SAVE, Slic3r::GUI::CALI_ACTION_PREV, Slic3r::GUI::CALI_ACTION_START, Slic3r::GUI::CALI_PAGE_CALI, Slic3r::GUI::CALI_PAGE_COARSE_SAVE, Slic3r::GUI::CALI_PAGE_COMMON_SAVE, Slic3r::GUI::CALI_PAGE_FINE_SAVE, Slic3r::GUI::CALI_PAGE_FLOW_SAVE, Slic3r::GUI::CALI_PAGE_PA_SAVE, Slic3r::GUI::CALI_PAGE_PRESET, Slic3r::GUI::CALI_PAGE_START, Slic3r::Calib_Flow_Rate, Slic3r::Calib_PA_Line, m_action_btns, and style.

Member Function Documentation

◆ bind_button()

void Slic3r::GUI::CaliPageActionPanel::bind_button ( CaliPageActionType action_type,
bool is_block )
788{
789 for (int i = 0; i < m_action_btns.size(); i++) {
790 if (m_action_btns[i]->get_action_type() == action_type) {
791
792 if (is_block) {
793 m_action_btns[i]->Bind(wxEVT_BUTTON,
794 [](wxCommandEvent& evt) {
795 MessageDialog msg(nullptr, _L("The current firmware version of the printer does not support calibration.\nPlease upgrade the printer firmware."), _L("Calibration not supported"), wxOK | wxICON_WARNING);
796 msg.ShowModal();
797 });
798 }
799 else {
800 m_action_btns[i]->Bind(wxEVT_BUTTON,
801 [this, i](wxCommandEvent& evt) {
802 wxCommandEvent event(EVT_CALI_ACTION);
803 event.SetEventObject(m_parent);
804 event.SetInt((int)m_action_btns[i]->get_action_type());
805 wxPostEvent(m_parent, event);
806 });
807 }
808 }
809 }
810
811}
#define _L(s)
Definition OBJ.cpp:34

References _L, m_action_btns, and Slic3r::GUI::DPIAware< P >::ShowModal().

Here is the call graph for this function:

◆ enable_button()

void Slic3r::GUI::CaliPageActionPanel::enable_button ( CaliPageActionType action_type,
bool enable = true )
824{
825 for (int i = 0; i < m_action_btns.size(); i++) {
826 if (m_action_btns[i]->get_action_type() == action_type) {
827 m_action_btns[i]->Enable(enable);
828 }
829 }
830}

References m_action_btns.

◆ msw_rescale()

void Slic3r::GUI::CaliPageActionPanel::msw_rescale ( )
833{
834 for (int i = 0; i < m_action_btns.size(); i++) {
835 m_action_btns[i]->msw_rescale();
836 }
837}

References m_action_btns.

◆ show_button()

void Slic3r::GUI::CaliPageActionPanel::show_button ( CaliPageActionType action_type,
bool show = true )
814{
815 for (int i = 0; i < m_action_btns.size(); i++) {
816 if (m_action_btns[i]->get_action_type() == action_type) {
817 m_action_btns[i]->Show(show);
818 }
819 }
820 Layout();
821}

References m_action_btns.

Member Data Documentation

◆ m_action_btns

std::vector<CaliPageButton*> Slic3r::GUI::CaliPageActionPanel::m_action_btns
protected

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