2023-04-23 01:04:55 +00:00
|
|
|
#include "CalibrationPanel.hpp"
|
|
|
|
#include "I18N.hpp"
|
|
|
|
|
|
|
|
namespace Slic3r { namespace GUI {
|
2023-05-18 01:41:50 +00:00
|
|
|
#define REFRESH_INTERVAL 1000
|
2023-04-23 01:04:55 +00:00
|
|
|
CalibrationPanel::CalibrationPanel(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
|
|
|
|
: wxPanel(parent, id, pos, size, style)
|
|
|
|
{
|
|
|
|
SetBackgroundColour(*wxWHITE);
|
|
|
|
|
|
|
|
init_tabpanel();
|
|
|
|
|
|
|
|
wxBoxSizer* sizer_main = new wxBoxSizer(wxVERTICAL);
|
|
|
|
sizer_main->Add(m_tabpanel, 1, wxEXPAND, 0);
|
|
|
|
|
|
|
|
SetSizerAndFit(sizer_main);
|
|
|
|
Layout();
|
2023-05-18 01:41:50 +00:00
|
|
|
|
|
|
|
init_timer();
|
|
|
|
Bind(wxEVT_TIMER, &CalibrationPanel::on_timer, this);
|
2023-04-23 01:04:55 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void CalibrationPanel::init_tabpanel() {
|
|
|
|
//m_side_tools = new SideTools(this, wxID_ANY);
|
|
|
|
wxBoxSizer* sizer_side_tools = new wxBoxSizer(wxVERTICAL);
|
|
|
|
//sizer_side_tools->Add(m_side_tools, 1, wxEXPAND, 0);
|
|
|
|
|
|
|
|
m_tabpanel = new Tabbook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, sizer_side_tools, wxNB_LEFT | wxTAB_TRAVERSAL | wxNB_NOPAGETHEME);
|
|
|
|
m_tabpanel->SetBackgroundColour(*wxWHITE);
|
|
|
|
|
2023-05-18 01:41:50 +00:00
|
|
|
m_pa_panel = new PressureAdvanceWizard(m_tabpanel);
|
|
|
|
m_tabpanel->AddPage(m_pa_panel, _L("Pressure Adavance"), "", true);
|
2023-04-23 01:04:55 +00:00
|
|
|
|
|
|
|
m_flow_panel = new FlowRateWizard(m_tabpanel);
|
|
|
|
m_tabpanel->AddPage(m_flow_panel, _L("Flow Rate"), "", false);
|
|
|
|
|
|
|
|
m_volumetric_panel = new MaxVolumetricSpeedWizard(m_tabpanel);
|
|
|
|
m_tabpanel->AddPage(m_volumetric_panel, _L("Max Volumetric Speed"), "", false);
|
|
|
|
|
|
|
|
m_temp_panel = new TemperatureWizard(m_tabpanel);
|
2023-05-18 01:41:50 +00:00
|
|
|
m_tabpanel->AddPage(m_temp_panel, _L("Temperature"), "", false);
|
|
|
|
}
|
2023-04-23 01:04:55 +00:00
|
|
|
|
2023-05-18 01:41:50 +00:00
|
|
|
void CalibrationPanel::init_timer()
|
|
|
|
{
|
|
|
|
m_refresh_timer = new wxTimer();
|
|
|
|
m_refresh_timer->SetOwner(this);
|
|
|
|
m_refresh_timer->Start(REFRESH_INTERVAL);
|
|
|
|
wxPostEvent(this, wxTimerEvent());
|
|
|
|
}
|
2023-04-23 01:04:55 +00:00
|
|
|
|
2023-05-18 01:41:50 +00:00
|
|
|
void CalibrationPanel::on_timer(wxTimerEvent& event) {
|
|
|
|
// todo only update at CalibrationPanel
|
|
|
|
update_all();
|
2023-04-23 01:04:55 +00:00
|
|
|
}
|
|
|
|
|
2023-05-18 01:41:50 +00:00
|
|
|
void CalibrationPanel::update_all() {
|
|
|
|
if (m_pa_panel) {
|
|
|
|
m_pa_panel->update_printer_selections();
|
|
|
|
m_pa_panel->update_print_progress();
|
|
|
|
}
|
|
|
|
if (m_flow_panel) {
|
|
|
|
m_flow_panel->update_printer_selections();
|
|
|
|
m_flow_panel->update_print_progress();
|
|
|
|
}
|
|
|
|
if (m_volumetric_panel) {
|
|
|
|
m_volumetric_panel->update_printer_selections();
|
|
|
|
m_volumetric_panel->update_print_progress();
|
|
|
|
}
|
|
|
|
if (m_temp_panel) {
|
|
|
|
m_temp_panel->update_printer_selections();
|
|
|
|
m_temp_panel->update_print_progress();
|
2023-04-23 01:04:55 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}}
|