mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-07 15:07:31 -06:00
ENH:dynamic display of AUX fan
Change-Id: Ib2b5578567eaa6fde15fdb54bdf24063b627d2d7 (cherry picked from commit 38f3fb6bf6b67c527dab313c1282ff97edf85efc)
This commit is contained in:
parent
394196eef0
commit
ce7c28b134
6 changed files with 72 additions and 17 deletions
|
@ -105,7 +105,7 @@ static std::vector<std::string> message_containing_done{
|
|||
#define TASK_BUTTON_SIZE2 (wxSize(-1, FromDIP(24)))
|
||||
#define Z_BUTTON_SIZE (wxSize(FromDIP(52), FromDIP(52)))
|
||||
#define MISC_BUTTON_PANEL_SIZE (wxSize(FromDIP(136), FromDIP(55)))
|
||||
#define MISC_BUTTON_SIZE (wxSize(FromDIP(66), FromDIP(51)))
|
||||
#define MISC_BUTTON_2FAN_SIZE (wxSize(FromDIP(66), FromDIP(51)))
|
||||
#define MISC_BUTTON_3FAN_SIZE (wxSize(FromDIP(44), FromDIP(51)))
|
||||
#define TEMP_CTRL_MIN_SIZE (wxSize(FromDIP(122), FromDIP(52)))
|
||||
#define AXIS_MIN_SIZE (wxSize(FromDIP(220), FromDIP(220)))
|
||||
|
@ -1075,8 +1075,8 @@ wxBoxSizer *StatusBasePanel::create_misc_control(wxWindow *parent)
|
|||
/* create speed control */
|
||||
m_switch_speed = new ImageSwitchButton(parent, m_bitmap_speed_active, m_bitmap_speed);
|
||||
m_switch_speed->SetLabels(_L("100%"), _L("100%"));
|
||||
m_switch_speed->SetMinSize(MISC_BUTTON_SIZE);
|
||||
m_switch_speed->SetMaxSize(MISC_BUTTON_SIZE);
|
||||
m_switch_speed->SetMinSize(MISC_BUTTON_2FAN_SIZE);
|
||||
m_switch_speed->SetMaxSize(MISC_BUTTON_2FAN_SIZE);
|
||||
m_switch_speed->SetPadding(FromDIP(3));
|
||||
m_switch_speed->SetBorderWidth(FromDIP(2));
|
||||
m_switch_speed->SetFont(Label::Head_13);
|
||||
|
@ -1092,8 +1092,8 @@ wxBoxSizer *StatusBasePanel::create_misc_control(wxWindow *parent)
|
|||
/* create lamp control */
|
||||
m_switch_lamp = new ImageSwitchButton(parent, m_bitmap_lamp_on, m_bitmap_lamp_off);
|
||||
m_switch_lamp->SetLabels(_L("Lamp"), _L("Lamp"));
|
||||
m_switch_lamp->SetMinSize(MISC_BUTTON_SIZE);
|
||||
m_switch_lamp->SetMaxSize(MISC_BUTTON_SIZE);
|
||||
m_switch_lamp->SetMinSize(MISC_BUTTON_2FAN_SIZE);
|
||||
m_switch_lamp->SetMaxSize(MISC_BUTTON_2FAN_SIZE);
|
||||
m_switch_lamp->SetPadding(FromDIP(3));
|
||||
m_switch_lamp->SetBorderWidth(FromDIP(2));
|
||||
m_switch_lamp->SetFont(Label::Head_13);
|
||||
|
@ -1172,10 +1172,14 @@ wxBoxSizer *StatusBasePanel::create_misc_control(wxWindow *parent)
|
|||
m_fan_panel->SetBackgroundColor(parent->GetBackgroundColour());
|
||||
});
|
||||
|
||||
m_switch_block_fan = new wxPanel(m_fan_panel);
|
||||
m_switch_block_fan->SetBackgroundColour(parent->GetBackgroundColour());
|
||||
|
||||
fan_line_sizer->Add(0, 0, 0, wxLEFT, FromDIP(2));
|
||||
fan_line_sizer->Add(m_switch_nozzle_fan, 0, wxALIGN_CENTER | wxTOP | wxBOTTOM , FromDIP(2));
|
||||
fan_line_sizer->Add(m_switch_printing_fan, 0, wxALIGN_CENTER | wxTOP | wxBOTTOM, FromDIP(2));
|
||||
fan_line_sizer->Add(m_switch_cham_fan, 0, wxALIGN_CENTER | wxTOP | wxBOTTOM , FromDIP(2));
|
||||
fan_line_sizer->Add(m_switch_block_fan, 1, wxEXPAND | wxTOP | wxBOTTOM , FromDIP(2));
|
||||
fan_line_sizer->Add(0, 0, 0, wxLEFT, FromDIP(2));
|
||||
|
||||
m_fan_panel->SetSizer(fan_line_sizer);
|
||||
|
@ -2150,7 +2154,9 @@ void StatusPanel::update_misc_ctrl(MachineObject *obj)
|
|||
// update extruder icon
|
||||
update_extruder_status(obj);
|
||||
|
||||
bool is_suppt_aux_fun = obj->is_function_supported(PrinterFunction::FUNC_AUX_FAN);
|
||||
bool is_suppt_cham_fun = obj->is_function_supported(PrinterFunction::FUNC_CHAMBER_FAN);
|
||||
|
||||
//update cham fan
|
||||
if (m_current_support_cham_fan != is_suppt_cham_fun) {
|
||||
if (is_suppt_cham_fun) {
|
||||
|
@ -2162,15 +2168,35 @@ void StatusPanel::update_misc_ctrl(MachineObject *obj)
|
|||
}
|
||||
else {
|
||||
m_switch_cham_fan->Hide();
|
||||
m_switch_nozzle_fan->SetMinSize(MISC_BUTTON_SIZE);
|
||||
m_switch_nozzle_fan->SetMaxSize(MISC_BUTTON_SIZE);
|
||||
m_switch_printing_fan->SetMinSize(MISC_BUTTON_SIZE);
|
||||
m_switch_printing_fan->SetMaxSize(MISC_BUTTON_SIZE);
|
||||
m_switch_nozzle_fan->SetMinSize(MISC_BUTTON_2FAN_SIZE);
|
||||
m_switch_nozzle_fan->SetMaxSize(MISC_BUTTON_2FAN_SIZE);
|
||||
m_switch_printing_fan->SetMinSize(MISC_BUTTON_2FAN_SIZE);
|
||||
m_switch_printing_fan->SetMaxSize(MISC_BUTTON_2FAN_SIZE);
|
||||
}
|
||||
|
||||
m_misc_ctrl_sizer->Layout();
|
||||
}
|
||||
|
||||
if (m_current_support_aux_fan != is_suppt_aux_fun) {
|
||||
if (is_suppt_aux_fun) {
|
||||
m_switch_printing_fan->Show();
|
||||
m_switch_nozzle_fan->SetMinSize(MISC_BUTTON_3FAN_SIZE);
|
||||
m_switch_nozzle_fan->SetMaxSize(MISC_BUTTON_3FAN_SIZE);
|
||||
m_switch_cham_fan->SetMinSize(MISC_BUTTON_3FAN_SIZE);
|
||||
m_switch_cham_fan->SetMaxSize(MISC_BUTTON_3FAN_SIZE);
|
||||
}
|
||||
else {
|
||||
m_switch_printing_fan->Hide();
|
||||
m_switch_nozzle_fan->SetMinSize(MISC_BUTTON_2FAN_SIZE);
|
||||
m_switch_nozzle_fan->SetMaxSize(MISC_BUTTON_2FAN_SIZE);
|
||||
m_switch_cham_fan->SetMinSize(MISC_BUTTON_2FAN_SIZE);
|
||||
m_switch_cham_fan->SetMaxSize(MISC_BUTTON_2FAN_SIZE);
|
||||
}
|
||||
|
||||
m_misc_ctrl_sizer->Layout();
|
||||
}
|
||||
|
||||
|
||||
// nozzle fan
|
||||
if (m_switch_nozzle_fan_timeout > 0) {
|
||||
m_switch_nozzle_fan_timeout--;
|
||||
|
@ -2226,7 +2252,8 @@ void StatusPanel::update_misc_ctrl(MachineObject *obj)
|
|||
m_switch_speed->SetLabels(text_speed, text_speed);
|
||||
}
|
||||
|
||||
m_current_support_cham_fan = is_suppt_cham_fun?true:false;
|
||||
m_current_support_aux_fan = is_suppt_aux_fun;
|
||||
m_current_support_cham_fan = is_suppt_cham_fun;
|
||||
}
|
||||
|
||||
void StatusPanel::update_extruder_status(MachineObject* obj)
|
||||
|
@ -3559,8 +3586,8 @@ void StatusPanel::on_nozzle_fan_switch(wxCommandEvent &event)
|
|||
m_fan_control_popup = new FanControlPopup(this);
|
||||
|
||||
if (obj) {
|
||||
bool is_suppt_cham_fun = obj->is_function_supported(PrinterFunction::FUNC_CHAMBER_FAN);
|
||||
m_fan_control_popup->update_show_mode(is_suppt_cham_fun);
|
||||
m_fan_control_popup->show_cham_fan(obj->is_function_supported(PrinterFunction::FUNC_CHAMBER_FAN));
|
||||
m_fan_control_popup->show_aux_fan(obj->is_function_supported(PrinterFunction::FUNC_AUX_FAN));
|
||||
}
|
||||
|
||||
auto pos = m_switch_nozzle_fan->GetScreenPosition();
|
||||
|
@ -3873,10 +3900,10 @@ void StatusPanel::msw_rescale()
|
|||
m_bitmap_speed_active.msw_rescale();
|
||||
|
||||
m_switch_speed->SetImages(m_bitmap_speed, m_bitmap_speed);
|
||||
m_switch_speed->SetMinSize(MISC_BUTTON_SIZE);
|
||||
m_switch_speed->SetMinSize(MISC_BUTTON_2FAN_SIZE);
|
||||
m_switch_speed->Rescale();
|
||||
m_switch_lamp->SetImages(m_bitmap_lamp_on, m_bitmap_lamp_off);
|
||||
m_switch_lamp->SetMinSize(MISC_BUTTON_SIZE);
|
||||
m_switch_lamp->SetMinSize(MISC_BUTTON_2FAN_SIZE);
|
||||
m_switch_lamp->Rescale();
|
||||
m_switch_nozzle_fan->SetImages(m_bitmap_fan_on, m_bitmap_fan_off);
|
||||
m_switch_nozzle_fan->Rescale();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue