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

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

Inheritance diagram for Slic3r::GUI::AMSRoadUpPart:
Collaboration diagram for Slic3r::GUI::AMSRoadUpPart:

Public Member Functions

 AMSRoadUpPart ()
 AMSRoadUpPart (wxWindow *parent, wxWindowID id, AMSinfo info, AMSModel mode, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize)
void create (wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize)
void UpdateInfo (AMSinfo amsinfo)
void OnVamsLoading (bool load, wxColour col=AMS_CONTROL_GRAY500)
void SetPassRoadColour (wxColour col)
void SetMode (AMSRoadShowMode mode)
void OnPassRoad (std::vector< AMSPassRoadMode > prord_list)
void UpdatePassRoad (std::string ams_index, std::string slot_index, AMSPassRoadType type, AMSPassRoadSTEP step)
void paintEvent (wxPaintEvent &evt)
void render (wxDC &dc)
void doRender (wxDC &dc)
void msw_rescale ()

Private Attributes

AMSinfo m_amsinfo
int m_load_slot_index = {0}
int m_load_ams_index = {0}
std::vector< AMSPassRoadMode > m_pass_rode_mode = {AMSPassRoadMode::AMS_ROAD_MODE_NONE}
AMSRoadShowMode m_road_mode = {AMSRoadShowMode::AMS_ROAD_MODE_FOUR}
AMSPassRoadSTEP m_load_step = {AMSPassRoadSTEP::AMS_ROAD_STEP_NONE}
wxColour m_road_def_color
wxColour m_road_color
std::vector< ScalableBitmap > ams_humidity_img
AMSModel m_ams_model

Detailed Description

Constructor & Destructor Documentation

◆ AMSRoadUpPart() [1/2]

Slic3r::GUI::AMSRoadUpPart::AMSRoadUpPart ( )
#define AMS_CONTROL_GRAY500
Definition AMSItem.hpp:39
wxColour m_road_def_color
Definition AMSItem.hpp:661
wxColour m_road_color
Definition AMSItem.hpp:662

References AMS_CONTROL_GRAY500, m_road_color, and m_road_def_color.

Referenced by AMSRoadUpPart().

Here is the caller graph for this function:

◆ AMSRoadUpPart() [2/2]

Slic3r::GUI::AMSRoadUpPart::AMSRoadUpPart ( wxWindow * parent,
wxWindowID id,
AMSinfo info,
AMSModel mode,
const wxPoint & pos = wxDefaultPosition,
const wxSize & size = wxDefaultSize )
2135 : AMSRoadUpPart()
2136{
2137 m_amsinfo = info;
2138 // road type
2140 m_ams_model = model;
2141
2143 create(parent, id, pos, wxSize(FromDIP(264), FromDIP(34)));
2144 }
2145 else{
2146 create(parent, id, pos, wxSize(FromDIP(78), FromDIP(34)));
2147 }
2148 /*create(parent, id, pos, size);
2149 this->SetMinSize(AMS_SINGLE_CAN_SIZE);
2150 this->SetSize(AMS_SINGLE_CAN_SIZE);*/
2151
2152
2153 Bind(wxEVT_PAINT, &AMSRoadUpPart::paintEvent, this);
2154 wxWindow::SetBackgroundColour(StateColor::darkModeColorFor(AMS_CONTROL_DEF_LIB_BK_COLOUR));
2155
2156}
#define AMS_CONTROL_DEF_LIB_BK_COLOUR
Definition AMSItem.hpp:45
AMSModel m_ams_model
Definition AMSItem.hpp:666
AMSRoadUpPart()
Definition AMSItem.cpp:2133
void paintEvent(wxPaintEvent &evt)
Definition AMSItem.cpp:2202
void create(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize)
Definition AMSItem.cpp:2158
AMSinfo m_amsinfo
Definition AMSItem.hpp:649
static wxColour darkModeColorFor(wxColour const &color)
Definition StateColor.cpp:219
@ GENERIC_AMS
Definition AMSItem.hpp:59
@ AMS_ROAD_MODE_END
Definition AMSItem.hpp:80

References AMSRoadUpPart(), AMS_CONTROL_DEF_LIB_BK_COLOUR, Slic3r::GUI::AMS_ROAD_MODE_END, create(), StateColor::darkModeColorFor(), Slic3r::GUI::GENERIC_AMS, m_ams_model, m_amsinfo, and paintEvent().

Here is the call graph for this function:

Member Function Documentation

◆ create()

void Slic3r::GUI::AMSRoadUpPart::create ( wxWindow * parent,
wxWindowID id = wxID_ANY,
const wxPoint & pos = wxDefaultPosition,
const wxSize & size = wxDefaultSize )
2158 {
2159 wxWindow::Create(parent, id, pos, size);
2160 SetSize(size);
2161 SetMinSize(size);
2162 SetBackgroundColour(AMS_CONTROL_WHITE_COLOUR);
2163 Layout();
2164 Fit();
2165 Refresh();
2166}
#define AMS_CONTROL_WHITE_COLOUR
Definition AMSItem.hpp:42

References AMS_CONTROL_WHITE_COLOUR.

Referenced by AMSRoadUpPart().

Here is the caller graph for this function:

◆ doRender()

void Slic3r::GUI::AMSRoadUpPart::doRender ( wxDC & dc)
2249{
2250 wxSize size = GetSize();
2251 //dc.SetPen(wxPen(m_road_def_color, 2, wxPENSTYLE_SOLID));
2252 dc.SetPen(wxPen(AMS_CONTROL_GRAY500, 2, wxPENSTYLE_SOLID));
2253 dc.SetBrush(wxBrush(*wxTRANSPARENT_BRUSH));
2254
2255 if ((m_ams_model == N3S_AMS || m_ams_model == EXT_AMS) && m_amsinfo.cans.size() != 4){
2256 dc.DrawLine(((float)size.x / 2), (0), ((float)size.x / 2), (size.y));
2258 dc.SetPen(wxPen(_get_diff_clr(this, m_amsinfo.cans[m_load_slot_index].material_colour), 4, wxPENSTYLE_SOLID));
2259 dc.DrawLine((size.x / 2), (0), (size.x / 2), (size.y));
2260 }
2261 }
2262 else{
2263 auto x_start = FromDIP(40);
2264 auto x = x_start;
2265 auto width = FromDIP(63);
2266 auto height = FromDIP(21);
2267 for (int i = 0; i < 4; i++){
2268 dc.DrawLine((x), (0), (x), (height));
2269 x += width;
2270 }
2271 x -= width;
2272 dc.DrawLine((x_start), (height), (x), (height));
2273 dc.DrawLine((size.x / 2), (height), (size.x / 2), (size.y));
2274
2275 dc.SetPen(wxPen(_get_diff_clr(this, m_amsinfo.cans[m_load_slot_index].material_colour), 4, wxPENSTYLE_SOLID));
2276 auto temp = m_amsinfo;
2278 if (m_amsinfo.cans.size() <= m_load_slot_index || m_load_slot_index < 0){
2279 BOOST_LOG_TRIVIAL(trace) << "up road render error";
2280 return;
2281 }
2282 x = x_start + m_load_slot_index * width;
2283 dc.DrawLine((x), (0), (x), (height));
2284 if (x < size.x / 2){
2285 dc.DrawLine((x), (height), (size.x / 2), (height));
2286 }
2287 else {
2288 dc.DrawLine((size.x / 2), (height), (x), (height));
2289 }
2291 dc.DrawLine((size.x / 2), (height), (size.x / 2), (size.y));
2292 }
2293 }
2294 dc.SetPen(wxPen(*wxTRANSPARENT_PEN));
2295 dc.SetBrush(wxBrush(wxColour(194, 194, 194)));
2296 //width = 0.11 * size.x, height = 0.294 * size.y;
2297 //dc.DrawRectangle((size.x - width) / 2, (16), (28), (10));
2298 //dc.DrawRectangle((size.x - width) / 2, (size.y * 0.62 - height / 2), (width), (height));
2299 dc.DrawRectangle(size.x / 2 - FromDIP(14), height - FromDIP(5), FromDIP(28), FromDIP(10));
2300 }
2301 // left mode
2302}
int m_load_slot_index
Definition AMSItem.hpp:653
AMSPassRoadSTEP m_load_step
Definition AMSItem.hpp:659
@ AMS_ROAD_STEP_NONE
Definition AMSItem.hpp:122
@ AMS_ROAD_STEP_2
Definition AMSItem.hpp:124
@ AMS_ROAD_STEP_3
Definition AMSItem.hpp:125
static wxColour _get_diff_clr(wxWindow *win, wxColour pen_clr)
Definition AMSItem.cpp:2208
@ EXT_AMS
Definition AMSItem.hpp:58
@ N3S_AMS
Definition AMSItem.hpp:62
coord_t width(const BoundingBox &box)
Definition Arrange.cpp:1184
coord_t height(const BoundingBox &box)
Definition Arrange.cpp:1185
void trace(unsigned int level, const char *message)
Definition utils.cpp:247

References Slic3r::GUI::_get_diff_clr(), AMS_CONTROL_GRAY500, Slic3r::GUI::AMS_ROAD_STEP_2, Slic3r::GUI::AMS_ROAD_STEP_3, Slic3r::GUI::AMS_ROAD_STEP_NONE, Slic3r::GUI::EXT_AMS, m_ams_model, m_amsinfo, m_load_slot_index, m_load_step, Slic3r::GUI::N3S_AMS, and Slic3r::trace().

Referenced by render().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ msw_rescale()

void Slic3r::GUI::AMSRoadUpPart::msw_rescale ( )
2326 {
2327 Layout();
2328 Fit();
2329 Refresh();
2330}

◆ OnPassRoad()

void Slic3r::GUI::AMSRoadUpPart::OnPassRoad ( std::vector< AMSPassRoadMode > prord_list)
2320{
2321 // AMS_ROAD_MODE_NONE, AMS_ROAD_MODE_LEFT, AMS_ROAD_MODE_LEFT_RIGHT, AMS_ROAD_MODE_END_TOP, AMS_ROAD_MODE_END_BOTTOM, AMS_ROAD_MODE_END_RIGHT,
2322 // AMS_ROAD_MODE_LEFT, AMS_ROAD_MODE_LEFT_RIGHT, AMS_ROAD_MODE_END,
2323 //wait fill
2324}

◆ OnVamsLoading()

void Slic3r::GUI::AMSRoadUpPart::OnVamsLoading ( bool load,
wxColour col = AMS_CONTROL_GRAY500 )
2178{
2179 /*m_vams_loading = load;
2180 if(load)m_road_color = col;
2181 Refresh();*/
2182}

References load().

Here is the call graph for this function:

◆ paintEvent()

void Slic3r::GUI::AMSRoadUpPart::paintEvent ( wxPaintEvent & evt)
2203{
2204 wxPaintDC dc(this);
2205 render(dc);
2206}
void render(wxDC &dc)
Definition AMSItem.cpp:2227

References render().

Referenced by AMSRoadUpPart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ render()

void Slic3r::GUI::AMSRoadUpPart::render ( wxDC & dc)
2228{
2229#ifdef __WXMSW__
2230 wxSize size = GetSize();
2231 wxMemoryDC memdc;
2232 wxBitmap bmp(size.x, size.y);
2233 memdc.SelectObject(bmp);
2234 memdc.Blit({ 0, 0 }, size, &dc, { 0, 0 });
2235
2236 {
2237 wxGCDC dc2(memdc);
2238 doRender(dc2);
2239 }
2240
2241 memdc.SelectObject(wxNullBitmap);
2242 dc.DrawBitmap(bmp, 0, 0);
2243#else
2244 doRender(dc);
2245#endif
2246}
void doRender(wxDC &dc)
Definition AMSItem.cpp:2248

References doRender().

Referenced by paintEvent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetMode()

void Slic3r::GUI::AMSRoadUpPart::SetMode ( AMSRoadShowMode mode)
2194{
2195 if (m_road_mode != mode)
2196 {
2197 m_road_mode = mode;
2198 Refresh();
2199 }
2200}
AMSRoadShowMode m_road_mode
Definition AMSItem.hpp:658

References m_road_mode.

◆ SetPassRoadColour()

void Slic3r::GUI::AMSRoadUpPart::SetPassRoadColour ( wxColour col)
2185{
2186 if (m_road_color != col)
2187 {
2188 m_road_color = col;
2189 Refresh();
2190 }
2191}

References m_road_color.

◆ UpdateInfo()

void Slic3r::GUI::AMSRoadUpPart::UpdateInfo ( AMSinfo amsinfo)
2169{
2170 if (m_amsinfo != amsinfo)
2171 {
2172 m_amsinfo = amsinfo;
2173 Refresh();
2174 }
2175}

References m_amsinfo.

◆ UpdatePassRoad()

void Slic3r::GUI::AMSRoadUpPart::UpdatePassRoad ( std::string ams_index,
std::string slot_index,
AMSPassRoadType type,
AMSPassRoadSTEP step )
2305{
2306 int ams_idx = atoi(ams_index.c_str());
2307 int slot_idx = atoi(slot_index.c_str());
2308 if (m_load_ams_index == ams_idx && m_load_slot_index == slot_idx && m_load_step == step)
2309 {
2310 return;
2311 };
2312
2313 m_load_ams_index = ams_idx;
2314 m_load_slot_index = slot_idx;
2315 m_load_step = step;
2316 Refresh();
2317}
int m_load_ams_index
Definition AMSItem.hpp:654
void step(Coord &crd, const Dir d, const long n=1)
Definition MarchingSquares.hpp:213

References m_load_ams_index, m_load_slot_index, and m_load_step.

Member Data Documentation

◆ ams_humidity_img

std::vector<ScalableBitmap> Slic3r::GUI::AMSRoadUpPart::ams_humidity_img
private

◆ m_ams_model

AMSModel Slic3r::GUI::AMSRoadUpPart::m_ams_model
private

Referenced by AMSRoadUpPart(), and doRender().

◆ m_amsinfo

AMSinfo Slic3r::GUI::AMSRoadUpPart::m_amsinfo
private

Referenced by AMSRoadUpPart(), doRender(), and UpdateInfo().

◆ m_load_ams_index

int Slic3r::GUI::AMSRoadUpPart::m_load_ams_index = {0}
private
654{0};

Referenced by UpdatePassRoad().

◆ m_load_slot_index

int Slic3r::GUI::AMSRoadUpPart::m_load_slot_index = {0}
private
653{0};

Referenced by doRender(), and UpdatePassRoad().

◆ m_load_step

AMSPassRoadSTEP Slic3r::GUI::AMSRoadUpPart::m_load_step = {AMSPassRoadSTEP::AMS_ROAD_STEP_NONE}
private

◆ m_pass_rode_mode

std::vector<AMSPassRoadMode> Slic3r::GUI::AMSRoadUpPart::m_pass_rode_mode = {AMSPassRoadMode::AMS_ROAD_MODE_NONE}
private

◆ m_road_color

wxColour Slic3r::GUI::AMSRoadUpPart::m_road_color
private

Referenced by AMSRoadUpPart(), and SetPassRoadColour().

◆ m_road_def_color

wxColour Slic3r::GUI::AMSRoadUpPart::m_road_def_color
private

Referenced by AMSRoadUpPart().

◆ m_road_mode

AMSRoadShowMode Slic3r::GUI::AMSRoadUpPart::m_road_mode = {AMSRoadShowMode::AMS_ROAD_MODE_FOUR}
private

Referenced by SetMode().


The documentation for this class was generated from the following files:
  • /home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/Widgets/AMSItem.hpp
  • /home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/Widgets/AMSItem.cpp