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

#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/DeviceTab/wgtDeviceNozzleRackUpdate.h>

Inheritance diagram for Slic3r::GUI::wgtDeviceNozzleRackUprade:
Collaboration diagram for Slic3r::GUI::wgtDeviceNozzleRackUprade:

Public Member Functions

 wgtDeviceNozzleRackUprade (wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL)
 ~wgtDeviceNozzleRackUprade ()=default
void UpdateRackInfo (const std::shared_ptr< DevNozzleRack > rack)
void Rescale ()

Private Member Functions

void CreateGui ()
void OnBtnReadAll (wxCommandEvent &e)

Private Attributes

std::weak_ptr< DevNozzleRack > m_nozzle_rack
wgtDeviceNozzleRackHotendUpdate * m_extruder_nozzle_item
std::unordered_map< int, wgtDeviceNozzleRackHotendUpdate * > m_nozzle_items

Detailed Description

Constructor & Destructor Documentation

◆ wgtDeviceNozzleRackUprade()

Slic3r::GUI::wgtDeviceNozzleRackUprade::wgtDeviceNozzleRackUprade ( wxWindow * parent,
wxWindowID id = wxID_ANY,
const wxPoint & pos = wxDefaultPosition,
const wxSize & size = wxDefaultSize,
long style = wxTAB_TRAVERSAL )
84 : wxPanel(parent, id, pos, size, style)
85{
86 CreateGui();
87}
#define style
Definition WipeTowerDialog.cpp:101
void CreateGui()
Definition wgtDeviceNozzleRackUpdate.cpp:89

References CreateGui(), and style.

Here is the call graph for this function:

◆ ~wgtDeviceNozzleRackUprade()

Slic3r::GUI::wgtDeviceNozzleRackUprade::~wgtDeviceNozzleRackUprade ( )
default

Member Function Documentation

◆ CreateGui()

void Slic3r::GUI::wgtDeviceNozzleRackUprade::CreateGui ( )
private
90{
91 SetBackgroundColour(*wxWHITE);
92
93 // Main vertical sizer
94 auto* main_sizer = new wxBoxSizer(wxVERTICAL);
95
96 // Header: title + buttons
97 auto* header_sizer = new wxBoxSizer(wxHORIZONTAL);
98
99 // Title label
100 auto* title_label = new Label(this, _L("Hotends Info"));
101 title_label->SetFont(Label::Head_14);
102 header_sizer->Add(title_label, 1, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(20));
103
104 // Spacer
105 header_sizer->AddStretchSpacer();
106 main_sizer->Add(header_sizer, 0, wxEXPAND | wxTOP | wxRIGHT, FromDIP(10));
107
108 // "Nozzles"
109 m_extruder_nozzle_item = new wgtDeviceNozzleRackHotendUpdate(this, "R");
110 m_extruder_nozzle_item->UpdateColourStyle(wxColour("#F8F8F8"));
111 m_extruder_nozzle_item->SetExtruderNozzleId(MAIN_EXTRUDER_ID);
112
113 main_sizer->Add(m_extruder_nozzle_item, 0, wxEXPAND | wxALL, FromDIP(12));
114 for (int id = 0; id < 6; id ++)
115 {
116 auto item = new wgtDeviceNozzleRackHotendUpdate(this, wxString::Format("%d", id + 1));
117 item->SetRackNozzleId(id);
118 m_nozzle_items[id] = item;
119
120 main_sizer->Add(item, 0, wxEXPAND | wxALL, FromDIP(12));
121 if (id < 5)
122 {
123 wxPanel* separator = new wxPanel(this);
124 separator->SetMaxSize(wxSize(-1, FromDIP(1)));
125 separator->SetMinSize(wxSize(-1, FromDIP(1)));
126 separator->SetBackgroundColour(wxColour(238, 238, 238)); // Orca: grey300 as a literal, no equivalent colour macro in Orca
127 main_sizer->Add(separator, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(12));
128 }
129 }
130
131 main_sizer->AddSpacer(FromDIP(20));
132
133 // Set sizer
134 this->SetSizer(main_sizer);
135 this->Layout();
136}
#define MAIN_EXTRUDER_ID
Definition DevDefs.h:101
#define _L(s)
Definition OBJ.cpp:34
static wxFont Head_14
Definition Label.hpp:45
std::unordered_map< int, wgtDeviceNozzleRackHotendUpdate * > m_nozzle_items
Definition wgtDeviceNozzleRackUpdate.h:82
wgtDeviceNozzleRackHotendUpdate * m_extruder_nozzle_item
Definition wgtDeviceNozzleRackUpdate.h:81

References _L, Label::Head_14, m_extruder_nozzle_item, m_nozzle_items, and MAIN_EXTRUDER_ID.

Referenced by wgtDeviceNozzleRackUprade().

Here is the caller graph for this function:

◆ OnBtnReadAll()

void Slic3r::GUI::wgtDeviceNozzleRackUprade::OnBtnReadAll ( wxCommandEvent & e)
private
155{
156 if (auto rack = m_nozzle_rack.lock())
157 {
158 rack->CtrlRackReadAll(true);
159 }
160}
std::weak_ptr< DevNozzleRack > m_nozzle_rack
Definition wgtDeviceNozzleRackUpdate.h:78

References m_nozzle_rack.

◆ Rescale()

void Slic3r::GUI::wgtDeviceNozzleRackUprade::Rescale ( )
163{
164 m_extruder_nozzle_item->Rescale();
165 for (auto& iter : m_nozzle_items)
166 {
167 iter.second->Rescale();
168 }
169}

References m_extruder_nozzle_item, and m_nozzle_items.

◆ UpdateRackInfo()

void Slic3r::GUI::wgtDeviceNozzleRackUprade::UpdateRackInfo ( const std::shared_ptr< DevNozzleRack > rack)
139{
140 m_nozzle_rack = rack;
141 if (!rack) { return;}
142
143 // update the nozzles
144 m_extruder_nozzle_item->UpdateExtruderNozzleInfo(rack);
145 for (auto iter : m_nozzle_items)
146 {
147 iter.second->UpdateRackNozzleInfo(rack);
148 }
149
150 // update layout
151 Layout();
152}

References m_extruder_nozzle_item, m_nozzle_items, and m_nozzle_rack.

Member Data Documentation

◆ m_extruder_nozzle_item

wgtDeviceNozzleRackHotendUpdate* Slic3r::GUI::wgtDeviceNozzleRackUprade::m_extruder_nozzle_item
private

Referenced by CreateGui(), Rescale(), and UpdateRackInfo().

◆ m_nozzle_items

std::unordered_map<int, wgtDeviceNozzleRackHotendUpdate*> Slic3r::GUI::wgtDeviceNozzleRackUprade::m_nozzle_items
private

Referenced by CreateGui(), Rescale(), and UpdateRackInfo().

◆ m_nozzle_rack

std::weak_ptr<DevNozzleRack> Slic3r::GUI::wgtDeviceNozzleRackUprade::m_nozzle_rack
private

Referenced by OnBtnReadAll(), and UpdateRackInfo().


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