OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::GUI::AMSFilamentPanel Class Reference

#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/AMSDryControl.hpp>

Inheritance diagram for Slic3r::GUI::AMSFilamentPanel:
Collaboration diagram for Slic3r::GUI::AMSFilamentPanel:

Public Member Functions

 AMSFilamentPanel (wxWindow *parent, const wxString &ams_name, wxWindowID id=wxID_ANY)
void AddFilamentItem (const wxString &text, const std::string &icon_name)
void AddFilamentItem (FilamentItemPanel *panel)
void SetAmsName (const wxString &ams_name)
void Clear ()
void msw_rescale ()

Private Member Functions

void OnPaint (wxPaintEvent &event)

Private Attributes

wxBoxSizer * m_filament_sizer
Label * m_ams_name_label
int m_border_radius
wxPanel * m_filament_container {nullptr}
std::vector< FilamentItemPanel * > m_filament_items

Detailed Description

Constructor & Destructor Documentation

◆ AMSFilamentPanel()

Slic3r::GUI::AMSFilamentPanel::AMSFilamentPanel ( wxWindow * parent,
const wxString & ams_name,
wxWindowID id = wxID_ANY )
235 : wxPanel(parent, id)
236{
237 SetBackgroundColour(wxColour("#DBDBDB"));
238
239 wxBoxSizer* main_sizer = new wxBoxSizer(wxVERTICAL);
240
241 // Filament items section
242 m_filament_container = new wxPanel(this);
243 m_filament_container->SetBackgroundColour(wxColour("#F0F0F1"));
244 m_filament_sizer = new wxBoxSizer(wxHORIZONTAL);
246
247 // AMS name section
248 m_ams_name_label = new Label(this, ams_name);
249 m_ams_name_label->SetForegroundColour(wxColour("#858585"));
251 m_ams_name_label->SetBackgroundColour(wxColour("#DBDBDB"));
252
253 main_sizer->Add(m_filament_container, 1, wxEXPAND | wxALL, 0);
254 main_sizer->Add(m_ams_name_label, 0, wxALIGN_LEFT | wxALL, FromDIP(5));
255
256 SetSizer(main_sizer);
257 wxGetApp().UpdateDarkUI(this);
258}
static wxFont Body_14
Definition Label.hpp:53
wxPanel * m_filament_container
Definition AMSDryControl.hpp:86
Label * m_ams_name_label
Definition AMSDryControl.hpp:84
wxBoxSizer * m_filament_sizer
Definition AMSDryControl.hpp:83

References Label::Body_14, m_ams_name_label, m_filament_container, and m_filament_sizer.

Member Function Documentation

◆ AddFilamentItem() [1/2]

void Slic3r::GUI::AMSFilamentPanel::AddFilamentItem ( const wxString & text,
const std::string & icon_name )
271{
272 FilamentItemPanel* item = new FilamentItemPanel(m_filament_container, text, icon_name);
273 m_filament_items.push_back(item);
274 m_filament_sizer->Add(item, 0, wxALL, FromDIP(5));
275 Layout();
276}
std::vector< FilamentItemPanel * > m_filament_items
Definition AMSDryControl.hpp:87

References m_filament_container, m_filament_items, and m_filament_sizer.

◆ AddFilamentItem() [2/2]

void Slic3r::GUI::AMSFilamentPanel::AddFilamentItem ( FilamentItemPanel * panel)
261{
262 if (panel) {
263 panel->Reparent(m_filament_container);
264 m_filament_sizer->Add(panel, 0, wxALL, FromDIP(5));
265 m_filament_items.push_back(panel);
266 Layout();
267 }
268}

References m_filament_container, m_filament_items, and m_filament_sizer.

◆ Clear()

void Slic3r::GUI::AMSFilamentPanel::Clear ( )
285{
286 m_filament_sizer->Clear(true);
287 m_filament_items.clear();
288}

References m_filament_items, and m_filament_sizer.

◆ msw_rescale()

void Slic3r::GUI::AMSFilamentPanel::msw_rescale ( )
291{
292 for (auto item : m_filament_items) {
293 item->msw_rescale();
294 }
295 Layout();
296}

References m_filament_items.

◆ OnPaint()

void Slic3r::GUI::AMSFilamentPanel::OnPaint ( wxPaintEvent & event)
private

◆ SetAmsName()

void Slic3r::GUI::AMSFilamentPanel::SetAmsName ( const wxString & ams_name)
279{
280 m_ams_name_label->SetLabel(ams_name);
281 Layout();
282}

References m_ams_name_label.

Member Data Documentation

◆ m_ams_name_label

Label* Slic3r::GUI::AMSFilamentPanel::m_ams_name_label
private

Referenced by AMSFilamentPanel(), and SetAmsName().

◆ m_border_radius

int Slic3r::GUI::AMSFilamentPanel::m_border_radius
private

◆ m_filament_container

wxPanel* Slic3r::GUI::AMSFilamentPanel::m_filament_container {nullptr}
private
86{nullptr};

Referenced by AMSFilamentPanel(), AddFilamentItem(), and AddFilamentItem().

◆ m_filament_items

std::vector<FilamentItemPanel*> Slic3r::GUI::AMSFilamentPanel::m_filament_items
private

◆ m_filament_sizer

wxBoxSizer* Slic3r::GUI::AMSFilamentPanel::m_filament_sizer
private

The documentation for this class was generated from the following files: