ENH: update airducts

jira: [STUDIO-13296]
Change-Id: If5805345b0429504eba551a3115d8fcedd199c6d
(cherry picked from commit c586f91e63e46ab8910bb7aca1537ba4cf47396a)
This commit is contained in:
xin.zhang 2025-08-21 14:24:05 +08:00 committed by Noisyfox
parent 2626a6bc3b
commit fb2266f901

View file

@ -370,14 +370,14 @@ FanControlNew::FanControlNew(wxWindow *parent, const AirDuctData &fan_data, int
sizer_control_top->Add(m_static_bitmap_fan, 0, wxLEFT | wxTOP, FromDIP(8));
sizer_control_top->Add(m_static_name, 0, wxLEFT | wxTOP, FromDIP(5));
sizer_control_top->Add(0, 0, 1, wxEXPAND, 0);
sizer_control_top->Add(m_switch_button, 0, wxALIGN_RIGHT | wxRIGHT | wxTOP, FromDIP(10));
sizer_control_top->Add(m_switch_button, 0, wxALIGN_RIGHT | wxRIGHT | wxTOP, FromDIP(5));
sizer_control->Add(sizer_control_top, 0, wxEXPAND, 0);
m_static_status_name = new wxStaticText(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxST_ELLIPSIZE_END | wxALIGN_CENTER_HORIZONTAL);
m_static_status_name->SetForegroundColour(wxColour("#009688"));
m_static_status_name->SetBackgroundColour(wxColour(248, 248, 248));
m_static_status_name->SetFont(Label::Head_18);
m_static_status_name->SetFont(Label::Head_16);
m_static_status_name->SetMinSize(wxSize(FromDIP(100), -1));
m_static_status_name->SetMaxSize(wxSize(FromDIP(100), -1));
m_fan_operate = new FanOperate(this, wxID_ANY, wxDefaultPosition, wxDefaultSize);
@ -403,10 +403,10 @@ FanControlNew::FanControlNew(wxWindow *parent, const AirDuctData &fan_data, int
command_control_fan();
});
m_sizer_control_bottom->Add(m_static_status_name, 0, wxALL, FromDIP(10));
m_sizer_control_bottom->Add(m_fan_operate, 0, wxALL, FromDIP(10));
m_sizer_control_bottom->Add(m_static_status_name, 0, wxLEFT | wxALIGN_CENTER, FromDIP(30));
m_sizer_control_bottom->Add(m_fan_operate, 0, wxALL, FromDIP(5));
sizer_control->Add(m_sizer_control_bottom, 0, wxALL, 0);
sizer_control->Add(m_sizer_control_bottom, 0, wxALL | wxEXPAND, 0);
m_sizer_main->Add(sizer_control, 0, wxALIGN_CENTER, 0);
update_mode();
@ -554,7 +554,24 @@ void FanControlNew::set_machine_obj(MachineObject* obj)
void FanControlNew::set_name(wxString name)
{
if (name.Contains('(') && name.Contains(')'))
{
wxClientDC dc(m_static_name);
dc.SetFont(m_static_name->GetFont());
if (dc.GetTextExtent(name).GetWidth() > m_static_name->GetSize().GetWidth())
{
const wxString& name_without_brackets = name.BeforeFirst('(');
const wxString& bracket_content = name.Right(name.Length() - name_without_brackets.Length());
const wxString& content = name_without_brackets + "\n" + bracket_content;
m_static_name->SetLabelText(content);
Layout();
return;
}
}
m_static_name->SetLabelText(name);
Layout();
}
void FanControlNew::set_fan_speed(int g)