ENH:Add thermal precondition

jira:[STUDIO-13970][STUDIO-13904]

Change-Id: I4b4fa27da1a65e0019c5f4c1dcc099c92189bf50
(cherry picked from commit 92dbde8385fec9719e0e9cfde764421793decd4d)
This commit is contained in:
milk
2025-08-30 20:18:58 +08:00
committed by Noisyfox
parent 69ecdeba71
commit ffab04262d
11 changed files with 302 additions and 19 deletions

View File

@@ -0,0 +1,40 @@
#pragma once
#include <wx/wx.h>
#include <wx/dialog.h>
#include <wx/stattext.h>
#include <wx/button.h>
#include <wx/sizer.h>
#include <wx/statbmp.h>
namespace Slic3r {
class MachineObject;
class ThermalPreconditioningDialog : public wxDialog
{
public:
ThermalPreconditioningDialog(wxWindow *parent, std::string dev_id, const wxString &remaining_time);
~ThermalPreconditioningDialog() = default;
// Allow external updates of remaining time text
void set_remaining_time_text(const wxString& text) { if (m_remaining_time_label) m_remaining_time_label->SetLabelText(text); }
void update_thermal_remaining_time();
private:
void create_ui();
void on_ok_clicked(wxCommandEvent& event);
void on_timer(wxTimerEvent &event);
std::string m_dev_id;
wxTimer m_refresh_timer;
wxStaticText* m_remaining_time_label;
wxStaticText* m_explanation_label;
wxButton* m_ok_button;
wxStaticBitmap* m_title_bitmap;
DECLARE_EVENT_TABLE()
};
} // namespace Slic3r