#include "CalibrationPanel.hpp" #include "I18N.hpp" namespace Slic3r { namespace GUI { #define REFRESH_INTERVAL 1000 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(); init_timer(); Bind(wxEVT_TIMER, &CalibrationPanel::on_timer, this); } 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); m_pa_panel = new PressureAdvanceWizard(m_tabpanel); m_tabpanel->AddPage(m_pa_panel, _L("Pressure Adavance"), "", true); 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); m_tabpanel->AddPage(m_temp_panel, _L("Temperature"), "", false); } void CalibrationPanel::init_timer() { m_refresh_timer = new wxTimer(); m_refresh_timer->SetOwner(this); m_refresh_timer->Start(REFRESH_INTERVAL); wxPostEvent(this, wxTimerEvent()); } void CalibrationPanel::on_timer(wxTimerEvent& event) { // todo only update at CalibrationPanel update_all(); } 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(); } } }}