ENH:optimize ams ui layout and add vams load/unload display
Change-Id: I17db70fe01f3fd00b60804e9a076248eb14fa845
This commit is contained in:
parent
8be8f20f75
commit
304e29529b
|
@ -1964,26 +1964,27 @@ void StatusPanel::update_ams(MachineObject *obj)
|
|||
is_vt_tray = true;
|
||||
|
||||
// set segment 1, 2
|
||||
if ( obj->m_ams_id != curr_ams_id || obj->m_tray_now == std::to_string(VIRTUAL_TRAY_ID) ) {
|
||||
m_ams_control->SetAmsStep(curr_ams_id, obj->m_tray_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
if (obj->m_tray_now == std::to_string(VIRTUAL_TRAY_ID) ) {
|
||||
m_ams_control->SetAmsStep(obj->m_ams_id, obj->m_tray_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
}
|
||||
else {
|
||||
if (obj->m_tray_now != "255" && obj->is_filament_at_extruder() && !obj->m_tray_id.empty()) {
|
||||
m_ams_control->SetAmsStep(curr_ams_id, obj->m_tray_id, AMSPassRoadType::AMS_ROAD_TYPE_LOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2);
|
||||
m_ams_control->SetAmsStep(obj->m_ams_id, obj->m_tray_id, AMSPassRoadType::AMS_ROAD_TYPE_LOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2);
|
||||
}
|
||||
else if (obj->m_tray_now != "255") {
|
||||
m_ams_control->SetAmsStep(curr_ams_id, obj->m_tray_id, AMSPassRoadType::AMS_ROAD_TYPE_LOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP1);
|
||||
m_ams_control->SetAmsStep(obj->m_ams_id, obj->m_tray_id, AMSPassRoadType::AMS_ROAD_TYPE_LOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP1);
|
||||
}
|
||||
else {
|
||||
m_ams_control->SetAmsStep(curr_ams_id, obj->m_tray_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_ams_control->SetAmsStep(obj->m_ams_id, obj->m_tray_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
}
|
||||
}
|
||||
|
||||
// set segment 3
|
||||
if (obj->m_tray_now == std::to_string(VIRTUAL_TRAY_ID)) {
|
||||
m_ams_control->SetExtruder(obj->is_filament_at_extruder(), obj->vt_tray.get_color());
|
||||
m_ams_control->SetExtruder(obj->is_filament_at_extruder(), true, obj->vt_tray.get_color());
|
||||
} else {
|
||||
m_ams_control->SetExtruder(obj->is_filament_at_extruder(), m_ams_control->GetCanColour(obj->m_ams_id, obj->m_tray_id));
|
||||
m_ams_control->SetExtruder(obj->is_filament_at_extruder(), false, m_ams_control->GetCanColour(obj->m_ams_id, obj->m_tray_id));
|
||||
|
||||
}
|
||||
|
||||
if (obj->ams_status_main == AMS_STATUS_MAIN_FILAMENT_CHANGE) {
|
||||
|
|
|
@ -401,12 +401,87 @@ void AMSextruder::create(wxWindow *parent, wxWindowID id, const wxPoint &pos, co
|
|||
|
||||
m_bitmap_panel->SetSizer(m_bitmap_sizer);
|
||||
m_bitmap_panel->Layout();
|
||||
m_sizer_body->Add( 0, 0, 1, wxEXPAND, 0 );
|
||||
m_sizer_body->Add(m_bitmap_panel, 0, wxALIGN_CENTER, 0);
|
||||
|
||||
SetSizer(m_sizer_body);
|
||||
|
||||
Bind(wxEVT_PAINT, &AMSextruder::paintEvent, this);
|
||||
Layout();
|
||||
}
|
||||
|
||||
void AMSextruder::OnVamsLoading(bool load, wxColour col)
|
||||
{
|
||||
m_vams_loading = load;
|
||||
if (load)m_current_colur = col;
|
||||
Refresh();
|
||||
}
|
||||
|
||||
void AMSextruder::OnAmsLoading(bool load, wxColour col /*= AMS_CONTROL_GRAY500*/)
|
||||
{
|
||||
m_ams_loading = load;
|
||||
if (load)m_current_colur = col;
|
||||
Refresh();
|
||||
}
|
||||
|
||||
void AMSextruder::paintEvent(wxPaintEvent& evt)
|
||||
{
|
||||
wxPaintDC dc(this);
|
||||
render(dc);
|
||||
}
|
||||
|
||||
void AMSextruder::render(wxDC& dc)
|
||||
{
|
||||
#ifdef __WXMSW__
|
||||
wxSize size = GetSize();
|
||||
wxMemoryDC memdc;
|
||||
wxBitmap bmp(size.x, size.y);
|
||||
memdc.SelectObject(bmp);
|
||||
memdc.Blit({ 0, 0 }, size, &dc, { 0, 0 });
|
||||
|
||||
{
|
||||
wxGCDC dc2(memdc);
|
||||
doRender(dc2);
|
||||
}
|
||||
|
||||
memdc.SelectObject(wxNullBitmap);
|
||||
dc.DrawBitmap(bmp, 0, 0);
|
||||
#else
|
||||
doRender(dc);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
void AMSextruder::doRender(wxDC& dc)
|
||||
{
|
||||
//m_current_colur =
|
||||
wxSize size = GetSize();
|
||||
dc.SetPen(wxPen(AMS_CONTROL_GRAY500, 2, wxSOLID));
|
||||
dc.SetBrush(wxBrush(*wxTRANSPARENT_BRUSH));
|
||||
dc.DrawLine(size.x / 2, -1, size.x / 2, size.y * 0.6 - 1);
|
||||
|
||||
if (m_has_vams) {
|
||||
dc.DrawRoundedRectangle(-size.x / 2, FromDIP(8), size.x, size.y, 4);
|
||||
|
||||
if (m_vams_loading) {
|
||||
dc.SetPen(wxPen(m_current_colur, 6, wxSOLID));
|
||||
dc.DrawRoundedRectangle(-size.x / 2, FromDIP(8), size.x, size.y, 4);
|
||||
}
|
||||
|
||||
if (m_ams_loading) {
|
||||
dc.SetPen(wxPen(m_current_colur, 6, wxSOLID));
|
||||
dc.DrawLine(size.x / 2, -1, size.x / 2, size.y * 0.6 - 1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (m_ams_loading) {
|
||||
dc.SetPen(wxPen(m_current_colur, 6, wxSOLID));
|
||||
dc.DrawLine(size.x / 2, -1, size.x / 2, size.y * 0.6 - 1);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void AMSextruder::msw_rescale()
|
||||
{
|
||||
m_amsSextruder->msw_rescale();
|
||||
|
@ -415,6 +490,82 @@ void AMSextruder::msw_rescale()
|
|||
Refresh();
|
||||
}
|
||||
|
||||
/*************************************************
|
||||
Description:AMSVirtualRoad
|
||||
**************************************************/
|
||||
|
||||
AMSVirtualRoad::AMSVirtualRoad(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size) { create(parent, id, pos, size); }
|
||||
|
||||
AMSVirtualRoad::~AMSVirtualRoad() {}
|
||||
|
||||
void AMSVirtualRoad::OnVamsLoading(bool load, wxColour col)
|
||||
{
|
||||
m_vams_loading = load;
|
||||
if (load)m_current_color = col;
|
||||
Refresh();
|
||||
}
|
||||
|
||||
void AMSVirtualRoad::create(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size)
|
||||
{
|
||||
wxWindow::Create(parent, id, pos, wxDefaultSize, wxBORDER_NONE);
|
||||
SetBackgroundColour(AMS_CONTROL_WHITE_COLOUR);
|
||||
Layout();
|
||||
Bind(wxEVT_PAINT, &AMSVirtualRoad::paintEvent, this);
|
||||
}
|
||||
|
||||
void AMSVirtualRoad::paintEvent(wxPaintEvent& evt)
|
||||
{
|
||||
wxPaintDC dc(this);
|
||||
render(dc);
|
||||
}
|
||||
|
||||
void AMSVirtualRoad::render(wxDC& dc)
|
||||
{
|
||||
#ifdef __WXMSW__
|
||||
wxSize size = GetSize();
|
||||
wxMemoryDC memdc;
|
||||
wxBitmap bmp(size.x, size.y);
|
||||
memdc.SelectObject(bmp);
|
||||
memdc.Blit({ 0, 0 }, size, &dc, { 0, 0 });
|
||||
|
||||
{
|
||||
wxGCDC dc2(memdc);
|
||||
doRender(dc2);
|
||||
}
|
||||
|
||||
memdc.SelectObject(wxNullBitmap);
|
||||
dc.DrawBitmap(bmp, 0, 0);
|
||||
#else
|
||||
doRender(dc);
|
||||
#endif
|
||||
}
|
||||
|
||||
void AMSVirtualRoad::doRender(wxDC& dc)
|
||||
{
|
||||
if (!m_has_vams) return;
|
||||
|
||||
wxSize size = GetSize();
|
||||
if (m_vams_loading) {
|
||||
dc.SetPen(wxPen(m_current_color, 6, wxSOLID));
|
||||
}
|
||||
else {
|
||||
dc.SetPen(wxPen(AMS_CONTROL_GRAY500, 2, wxSOLID));
|
||||
}
|
||||
|
||||
dc.SetBrush(wxBrush(*wxTRANSPARENT_BRUSH));
|
||||
|
||||
dc.DrawRoundedRectangle(size.x / 2, -FromDIP(9), size.x, FromDIP(18), 4);
|
||||
}
|
||||
|
||||
|
||||
void AMSVirtualRoad::msw_rescale()
|
||||
{
|
||||
Layout();
|
||||
Update();
|
||||
Refresh();
|
||||
}
|
||||
|
||||
|
||||
/*************************************************
|
||||
Description:AMSLib
|
||||
**************************************************/
|
||||
|
@ -805,6 +956,8 @@ AMSRoad::AMSRoad(wxWindow *parent, wxWindowID id, Caninfo info, int canindex, in
|
|||
m_rode_mode = AMSRoadMode::AMS_ROAD_MODE_LEFT_RIGHT;
|
||||
} else if (m_canindex == (maxcan - 1)) {
|
||||
m_rode_mode = AMSRoadMode::AMS_ROAD_MODE_LEFT;
|
||||
} else if (m_canindex == -1 && maxcan == -1) {
|
||||
m_rode_mode = AMSRoadMode::AMS_ROAD_MODE_VIRTUAL_TRAY;
|
||||
}
|
||||
else {
|
||||
m_rode_mode = AMSRoadMode::AMS_ROAD_MODE_NONE_ANY_ROAD;
|
||||
|
@ -854,6 +1007,13 @@ void AMSRoad::Update(AMSinfo amsinfo, Caninfo info, int canindex, int maxcan)
|
|||
Refresh();
|
||||
}
|
||||
|
||||
void AMSRoad::OnVamsLoading(bool load, wxColour col /*= AMS_CONTROL_GRAY500*/)
|
||||
{
|
||||
m_vams_loading = load;
|
||||
if(load)m_road_color = col;
|
||||
Refresh();
|
||||
}
|
||||
|
||||
void AMSRoad::SetPassRoadColour(wxColour col) { m_road_color = col; }
|
||||
|
||||
void AMSRoad::SetMode(AMSRoadMode mode)
|
||||
|
@ -927,6 +1087,12 @@ void AMSRoad::doRender(wxDC &dc)
|
|||
// dc.DrawLine(size.x / 2, size.y * 0.6 - 1, size.x, size.y * 0.6 - 1);
|
||||
}
|
||||
|
||||
//virtual road
|
||||
if (m_rode_mode == AMSRoadMode::AMS_ROAD_MODE_VIRTUAL_TRAY) {
|
||||
dc.SetBrush(wxBrush(m_road_def_color));
|
||||
dc.DrawLine(size.x / 2, -1, size.x / 2, size.y - 1);
|
||||
}
|
||||
|
||||
// mode none
|
||||
// if (m_pass_rode_mode.size() == 1 && m_pass_rode_mode[0] == AMSPassRoadMode::AMS_ROAD_MODE_NONE) return;
|
||||
|
||||
|
@ -950,6 +1116,10 @@ void AMSRoad::doRender(wxDC &dc)
|
|||
}
|
||||
}
|
||||
|
||||
if (m_rode_mode == AMSRoadMode::AMS_ROAD_MODE_VIRTUAL_TRAY && m_vams_loading) {
|
||||
dc.DrawLine(size.x / 2, -1, size.x / 2, size.y - 1);
|
||||
}
|
||||
|
||||
// end mode
|
||||
if (m_rode_mode == AMSRoadMode::AMS_ROAD_MODE_END || m_rode_mode == AMSRoadMode::AMS_ROAD_MODE_END_ONLY) {
|
||||
dc.SetPen(wxPen(m_road_def_color, 2, wxSOLID));
|
||||
|
@ -1036,8 +1206,6 @@ void AMSRoad::OnPassRoad(std::vector<AMSPassRoadMode> prord_list)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Refresh();
|
||||
}
|
||||
|
||||
/*************************************************
|
||||
|
@ -1367,6 +1535,16 @@ void AmsCans::SelectCan(std::string canid)
|
|||
}
|
||||
}
|
||||
|
||||
wxColour AmsCans::GetTagColr(wxString canid)
|
||||
{
|
||||
auto tag_colour = *wxWHITE;
|
||||
for (auto i = 0; i < m_can_lib_list.GetCount(); i++) {
|
||||
CanLibs* lib = m_can_lib_list[i];
|
||||
if (canid == lib->canLib->m_info.can_id) tag_colour = lib->canLib->GetLibColour();
|
||||
}
|
||||
return tag_colour;
|
||||
}
|
||||
|
||||
void AmsCans::SetAmsStep(wxString canid, AMSPassRoadType type, AMSPassRoadSTEP step)
|
||||
{
|
||||
|
||||
|
@ -1505,6 +1683,7 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
wxBoxSizer *m_sizer_body = new wxBoxSizer(wxVERTICAL);
|
||||
m_amswin = new wxWindow(this, wxID_ANY, wxDefaultPosition, wxSize(-1, AMS_CAN_ITEM_HEIGHT_SIZE));
|
||||
m_amswin->SetBackgroundColour(*wxWHITE);
|
||||
|
||||
// top - ams tag
|
||||
m_simplebook_amsitems = new wxSimplebook(m_amswin, wxID_ANY);
|
||||
m_simplebook_amsitems->SetSize(wxSize(-1, AMS_CAN_ITEM_HEIGHT_SIZE));
|
||||
|
@ -1624,21 +1803,31 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
m_extruder = new AMSextruder(extruder_pane, wxID_ANY, wxDefaultPosition, AMS_EXTRUDER_SIZE);
|
||||
sizer_sextruder->Add(m_extruder, 0, wxALIGN_CENTER, 0);
|
||||
|
||||
m_sizer_left_bottom->Add(extruder_pane, 0, wxLEFT, FromDIP(10));
|
||||
m_sizer_left_bottom->Add(extruder_pane, 0, wxALL,0);
|
||||
|
||||
//m_sizer_left_bottom->Add(0, 0, 0, wxEXPAND, 0);
|
||||
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(AMS_CONTROL_DISABLE_COLOUR, StateColor::Disabled),std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(AMS_CONTROL_DISABLE_COLOUR, StateColor::Disabled),
|
||||
std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(AMS_CONTROL_BRAND_COLOUR, StateColor::Normal));
|
||||
|
||||
StateColor btn_bg_white(std::pair<wxColour, int>(AMS_CONTROL_DISABLE_COLOUR, StateColor::Disabled), std::pair<wxColour, int>(AMS_CONTROL_DISABLE_COLOUR, StateColor::Pressed),
|
||||
std::pair<wxColour, int>(AMS_CONTROL_DEF_BLOCK_BK_COLOUR, StateColor::Hovered),
|
||||
std::pair<wxColour, int>(AMS_CONTROL_WHITE_COLOUR, StateColor::Normal));
|
||||
StateColor btn_bg_white(std::pair<wxColour, int>(AMS_CONTROL_DISABLE_COLOUR, StateColor::Disabled),
|
||||
std::pair<wxColour, int>(AMS_CONTROL_DISABLE_COLOUR, StateColor::Pressed),
|
||||
std::pair<wxColour, int>(AMS_CONTROL_DEF_BLOCK_BK_COLOUR, StateColor::Hovered),
|
||||
std::pair<wxColour, int>(AMS_CONTROL_WHITE_COLOUR, StateColor::Normal));
|
||||
|
||||
StateColor btn_bd_green(std::pair<wxColour, int>(AMS_CONTROL_WHITE_COLOUR, StateColor::Disabled), std::pair<wxColour, int>(AMS_CONTROL_BRAND_COLOUR, StateColor::Enabled));
|
||||
StateColor btn_bd_white(std::pair<wxColour, int>(AMS_CONTROL_WHITE_COLOUR, StateColor::Disabled), std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Enabled));
|
||||
StateColor btn_text_green(std::pair<wxColour, int>(*wxBLACK, StateColor::Disabled), std::pair<wxColour, int>(AMS_CONTROL_WHITE_COLOUR, StateColor::Enabled));
|
||||
//m_sizer_left_bottom->AddStretchSpacer();
|
||||
StateColor btn_bd_green(std::pair<wxColour, int>(wxColour(255,255,254), StateColor::Disabled),
|
||||
std::pair<wxColour, int>(AMS_CONTROL_BRAND_COLOUR, StateColor::Enabled));
|
||||
|
||||
StateColor btn_bd_white(std::pair<wxColour, int>(wxColour(255,255,254), StateColor::Disabled),
|
||||
std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Enabled));
|
||||
|
||||
StateColor btn_text_green(std::pair<wxColour, int>(wxColour(255,255,254), StateColor::Disabled),
|
||||
std::pair<wxColour, int>(wxColour(255,255,254), StateColor::Enabled));
|
||||
|
||||
StateColor btn_text_white(std::pair<wxColour, int>(wxColour(255, 255, 254), StateColor::Disabled),
|
||||
std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Enabled));
|
||||
|
||||
m_button_area = new wxWindow(m_amswin, wxID_ANY);
|
||||
m_button_area->SetBackgroundColour(m_amswin->GetBackgroundColour());
|
||||
|
@ -1654,12 +1843,13 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
m_button_extruder_feed = new Button(m_button_area, _L("Load Filament"));
|
||||
m_button_extruder_feed->SetBackgroundColor(btn_bg_green);
|
||||
m_button_extruder_feed->SetBorderColor(btn_bd_green);
|
||||
m_button_extruder_feed->SetTextColor(wxColour("#FFFFFE"));
|
||||
m_button_extruder_feed->SetTextColor(btn_text_green);
|
||||
m_button_extruder_feed->SetFont(Label::Body_13);
|
||||
|
||||
m_button_extruder_back = new Button(m_button_area, _L("Unload Filament"));
|
||||
m_button_extruder_back->SetBackgroundColor(btn_bg_white);
|
||||
m_button_extruder_back->SetBorderColor(btn_bd_white);
|
||||
m_button_extruder_back->SetTextColor(btn_text_white);
|
||||
m_button_extruder_back->SetFont(Label::Body_13);
|
||||
|
||||
m_sizer_button_area->Add(0, 0, 1, wxEXPAND, 0);
|
||||
|
@ -1684,9 +1874,10 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
|
||||
m_vams_info.material_state = AMSCanType::AMS_CAN_TYPE_VIRTUAL;
|
||||
m_vams_info.can_id = wxString::Format("%d", VIRTUAL_TRAY_ID).ToStdString();
|
||||
|
||||
auto vams_panel = new wxWindow(m_panel_virtual, wxID_ANY);
|
||||
vams_panel->SetBackgroundColour(AMS_CONTROL_DEF_BLOCK_BK_COLOUR);
|
||||
//m_vams_refresh = new AMSrefresh(vams_panel, wxID_ANY, 0, m_vams_info);
|
||||
|
||||
m_vams_lib = new AMSLib(vams_panel, wxID_ANY, m_vams_info);
|
||||
m_vams_road = new AMSRoad(vams_panel, wxID_ANY, m_vams_info, -1, -1, wxDefaultPosition, AMS_CAN_ROAD_SIZE);
|
||||
|
||||
|
@ -1705,20 +1896,25 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
});
|
||||
|
||||
Bind(EVT_AMS_UNSELETED_VAMS, [this](wxCommandEvent& e) {
|
||||
if (m_current_ams == e.GetString().ToStdString()) {
|
||||
return;
|
||||
}
|
||||
m_current_ams = e.GetString().ToStdString();
|
||||
SwitchAms(m_current_ams);
|
||||
m_vams_lib->UnSelected();
|
||||
e.Skip();
|
||||
});
|
||||
|
||||
wxBoxSizer* m_sizer_vams = new wxBoxSizer(wxVERTICAL);
|
||||
m_sizer_vams->Add(0, 0, 0, wxEXPAND | wxTOP, FromDIP(14));
|
||||
//m_sizer_vams->Add(m_vams_refresh, 0, wxALIGN_CENTER_HORIZONTAL, 0);
|
||||
m_sizer_vams->Add(0, 0, 0, wxEXPAND | wxTOP, FromDIP(2) + AMS_REFRESH_SIZE.y);
|
||||
m_sizer_vams->Add(m_vams_lib, 1, wxEXPAND | wxTOP | wxLEFT | wxRIGHT, FromDIP(4));
|
||||
m_sizer_vams->Add(m_vams_road, 0, wxALL, 0);
|
||||
wxBoxSizer* m_vams_top_sizer = new wxBoxSizer(wxVERTICAL);
|
||||
|
||||
vams_panel->SetSizer(m_sizer_vams);
|
||||
m_vams_top_sizer->Add(0, 0, 0, wxEXPAND | wxTOP, FromDIP(14));
|
||||
m_vams_top_sizer->Add(0, 0, 0, wxEXPAND | wxTOP, FromDIP(2) + AMS_REFRESH_SIZE.y);
|
||||
m_vams_top_sizer->Add(m_vams_lib, 1, wxEXPAND | wxTOP | wxLEFT | wxRIGHT, FromDIP(4));
|
||||
m_vams_top_sizer->Add(m_vams_road, 0, wxALL, 0);
|
||||
|
||||
//extra road
|
||||
|
||||
vams_panel->SetSizer(m_vams_top_sizer);
|
||||
vams_panel->Layout();
|
||||
vams_panel->Fit();
|
||||
|
||||
|
@ -1728,11 +1924,10 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
m_panel_virtual->SetSizer(m_sizer_vams_panel);
|
||||
m_panel_virtual->Layout();
|
||||
m_panel_virtual->Fit();
|
||||
//virtual ams
|
||||
|
||||
m_vams_sizer = new wxBoxSizer(wxVERTICAL);
|
||||
|
||||
m_sizer_vams_tips = new wxBoxSizer(wxHORIZONTAL);
|
||||
|
||||
auto m_vams_tip = new wxStaticText(m_amswin, wxID_ANY, _L("Ext Spool"));
|
||||
m_vams_tip->SetFont(::Label::Body_12);
|
||||
m_vams_tip->SetBackgroundColour(*wxWHITE);
|
||||
|
@ -1750,54 +1945,59 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
m_ams_introduce_popup.Dismiss();
|
||||
});
|
||||
|
||||
|
||||
|
||||
m_sizer_vams_tips->Add(m_vams_tip, 0, wxALIGN_CENTER, 0);
|
||||
m_sizer_vams_tips->Add(img_vams_tip, 0, wxALL, FromDIP(2));
|
||||
|
||||
m_vams_extra_road = new AMSVirtualRoad(m_amswin, wxID_ANY);
|
||||
m_vams_extra_road->SetMinSize(wxSize(m_panel_virtual->GetSize().x + FromDIP(16), -1));
|
||||
|
||||
m_vams_sizer->Add(m_sizer_vams_tips, 0, wxALIGN_CENTER, 0);
|
||||
m_vams_sizer->Add(m_panel_virtual, 0, wxALIGN_CENTER, 0);
|
||||
m_vams_sizer->Add(m_vams_extra_road, 1, wxEXPAND, 0);
|
||||
|
||||
m_sizer_bottom->Add(m_vams_sizer, 0, wxEXPAND, 0);
|
||||
m_sizer_bottom->Add(0, 0, 0, wxEXPAND | wxLEFT, FromDIP(10));
|
||||
m_sizer_bottom->Add(m_sizer_left, 0, wxEXPAND, 0);
|
||||
m_sizer_bottom->Add(0, 0, 0, wxEXPAND | wxLEFT, FromDIP(23));
|
||||
|
||||
//Right
|
||||
wxBoxSizer *m_sizer_right = new wxBoxSizer(wxVERTICAL);
|
||||
m_simplebook_right = new wxSimplebook(m_amswin, wxID_ANY);
|
||||
m_simplebook_right->SetMinSize(AMS_STEP_SIZE);
|
||||
m_simplebook_right->SetSize(AMS_STEP_SIZE);
|
||||
m_simplebook_right->SetMinSize(wxSize(AMS_STEP_SIZE.x, AMS_STEP_SIZE.y + FromDIP(19)));
|
||||
m_simplebook_right->SetMaxSize(wxSize(AMS_STEP_SIZE.x, AMS_STEP_SIZE.y + FromDIP(19)));
|
||||
m_simplebook_right->SetBackgroundColour(*wxWHITE);
|
||||
|
||||
m_sizer_right->Add(m_simplebook_right, 0, wxALL, 0);
|
||||
|
||||
auto tip_right = new wxPanel(m_simplebook_right, wxID_ANY, wxDefaultPosition, AMS_STEP_SIZE, wxTAB_TRAVERSAL);
|
||||
m_sizer_right_tip = new wxBoxSizer(wxVERTICAL);
|
||||
|
||||
m_tip_right_top = new wxStaticText(tip_right, wxID_ANY, _L("Tips"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
m_tip_right_top->SetFont(::Label::Head_13);
|
||||
m_tip_right_top->SetForegroundColour(AMS_CONTROL_BRAND_COLOUR);
|
||||
m_tip_right_top->Wrap(AMS_STEP_SIZE.x);
|
||||
m_sizer_right_tip->Add(m_tip_right_top, 0, 0, 0);
|
||||
m_sizer_right_tip->Add(0, 0, 0, wxTOP, FromDIP(10));
|
||||
|
||||
|
||||
m_tip_load_info = new wxStaticText(tip_right, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0);
|
||||
m_tip_load_info->SetFont(::Label::Body_13);
|
||||
m_tip_load_info->SetForegroundColour(AMS_CONTROL_GRAY700);
|
||||
|
||||
m_sizer_right_tip->Add(m_tip_right_top, 0, 0, 0);
|
||||
m_sizer_right_tip->Add(0, 0, 0, wxEXPAND, FromDIP(10));
|
||||
m_sizer_right_tip->Add(m_tip_load_info, 0, 0, 0);
|
||||
|
||||
tip_right->SetSizer(m_sizer_right_tip);
|
||||
tip_right->Layout();
|
||||
|
||||
m_filament_load_step = new ::StepIndicator(m_simplebook_right, wxID_ANY);
|
||||
m_filament_load_step->SetMinSize(AMS_STEP_SIZE);
|
||||
m_filament_load_step->SetSize(AMS_STEP_SIZE);
|
||||
m_filament_load_step->SetMaxSize(AMS_STEP_SIZE);
|
||||
m_filament_load_step->SetBackgroundColour(*wxWHITE);
|
||||
|
||||
m_filament_unload_step = new ::StepIndicator(m_simplebook_right, wxID_ANY);
|
||||
m_filament_unload_step->SetMinSize(AMS_STEP_SIZE);
|
||||
m_filament_unload_step->SetSize(AMS_STEP_SIZE);
|
||||
m_filament_unload_step->SetMaxSize(AMS_STEP_SIZE);
|
||||
m_filament_unload_step->SetBackgroundColour(*wxWHITE);
|
||||
|
||||
m_filament_vt_load_step = new ::StepIndicator(m_simplebook_right, wxID_ANY);
|
||||
m_filament_vt_load_step->SetMinSize(AMS_STEP_SIZE);
|
||||
m_filament_vt_load_step->SetSize(AMS_STEP_SIZE);
|
||||
m_filament_vt_load_step->SetMaxSize(AMS_STEP_SIZE);
|
||||
m_filament_vt_load_step->SetBackgroundColour(*wxWHITE);
|
||||
|
||||
m_simplebook_right->AddPage(tip_right, wxEmptyString, false);
|
||||
|
@ -1818,6 +2018,7 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
m_button_guide->SetFont(Label::Body_13);
|
||||
m_button_guide->SetCornerRadius(FromDIP(12));
|
||||
m_button_guide->SetBorderColor(btn_bd_white);
|
||||
m_button_guide->SetTextColor(btn_text_white);
|
||||
m_button_guide->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
m_button_guide->SetBackgroundColor(btn_bg_white);
|
||||
|
||||
|
@ -1825,6 +2026,7 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
m_button_retry->SetFont(Label::Body_13);
|
||||
m_button_retry->SetCornerRadius(FromDIP(12));
|
||||
m_button_retry->SetBorderColor(btn_bd_white);
|
||||
m_button_retry->SetTextColor(btn_text_white);
|
||||
m_button_retry->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
m_button_retry->SetBackgroundColor(btn_bg_white);
|
||||
|
||||
|
@ -1832,7 +2034,12 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
m_sizer_right_bottom->Add(m_button_guide, 0, wxLEFT, FromDIP(10));
|
||||
m_sizer_right_bottom->Add(m_button_retry, 0, wxLEFT, FromDIP(10));
|
||||
m_sizer_right->Add(m_sizer_right_bottom, 0, wxEXPAND | wxTOP, FromDIP(20));
|
||||
m_sizer_bottom->Add(m_sizer_right, 0, wxEXPAND, FromDIP(5));
|
||||
|
||||
|
||||
m_sizer_bottom->Add(m_vams_sizer, 0, wxEXPAND, 0);
|
||||
m_sizer_bottom->Add(m_sizer_left, 0, wxEXPAND, 0);
|
||||
m_sizer_bottom->Add(0, 0, 0, wxLEFT, FromDIP(15));
|
||||
m_sizer_bottom->Add(m_sizer_right, 0, wxEXPAND, FromDIP(0));
|
||||
|
||||
m_sizer_body->Add(m_simplebook_amsitems, 0, wxEXPAND, 0);
|
||||
m_sizer_body->Add(0, 0, 1, wxEXPAND | wxTOP, FromDIP(18));
|
||||
|
@ -1981,13 +2188,6 @@ std::string AMSControl::GetCurrentCan(std::string amsid)
|
|||
}
|
||||
}
|
||||
return current_can;
|
||||
/*std::string current_can_id = "";
|
||||
for (auto i = 0; i < m_ams_info.size(); i++) {
|
||||
if (m_ams_info[i].ams_id == m_current_ams) {
|
||||
current_can_id = m_ams_info[i].current_can_id;
|
||||
}
|
||||
}
|
||||
return current_can_id;*/
|
||||
}
|
||||
|
||||
wxColour AMSControl::GetCanColour(std::string amsid, std::string canid)
|
||||
|
@ -2198,8 +2398,9 @@ void AMSControl::Reset()
|
|||
std::vector<AMSinfo> ams_info{ams1, ams2, ams3, ams4};
|
||||
std::vector<AMSinfo>::iterator it;
|
||||
UpdateAms(ams_info, false);
|
||||
m_current_ams = "";
|
||||
m_current_senect = "";
|
||||
m_current_show_ams = "";
|
||||
m_current_ams = "";
|
||||
m_current_senect = "";
|
||||
}
|
||||
|
||||
void AMSControl::show_noams_mode(bool show, bool support_virtual_tray, bool support_vt_load)
|
||||
|
@ -2219,6 +2420,8 @@ void AMSControl::show_vams(bool show)
|
|||
{
|
||||
m_panel_virtual->Show(show);
|
||||
m_vams_sizer->Show(show);
|
||||
m_vams_extra_road->Show(show);
|
||||
m_extruder->has_ams(show);
|
||||
show_vams_kn_value(show);
|
||||
Layout();
|
||||
|
||||
|
@ -2346,22 +2549,26 @@ void AMSControl::AddAms(AMSinfo info, bool refresh)
|
|||
|
||||
void AMSControl::SwitchAms(std::string ams_id)
|
||||
{
|
||||
if (ams_id != std::to_string(VIRTUAL_TRAY_ID)) {
|
||||
m_current_show_ams = ams_id;
|
||||
|
||||
}
|
||||
|
||||
for (auto i = 0; i < m_ams_item_list.GetCount(); i++) {
|
||||
AmsItems *item = m_ams_item_list[i];
|
||||
if (item->amsItem->m_amsinfo.ams_id == ams_id) {
|
||||
if (item->amsItem->m_amsinfo.ams_id == m_current_show_ams) {
|
||||
item->amsItem->OnSelected();
|
||||
//item->amsItem->ShowHumidity();
|
||||
m_current_senect = ams_id;
|
||||
|
||||
if (m_current_ams == std::to_string(VIRTUAL_TRAY_ID)) {
|
||||
for (auto i = 0; i < m_ams_cans_list.GetCount(); i++) {
|
||||
AmsCansWindow* ams = m_ams_cans_list[i];
|
||||
if (ams->amsCans->m_info.ams_id == ams_id) {
|
||||
ams->amsCans->SetDefSelectCan();
|
||||
}
|
||||
for (auto i = 0; i < m_ams_cans_list.GetCount(); i++) {
|
||||
AmsCansWindow* ams = m_ams_cans_list[i];
|
||||
if (ams->amsCans->m_info.ams_id == ams_id) {
|
||||
ams->amsCans->SetDefSelectCan();
|
||||
m_vams_lib->UnSelected();
|
||||
}
|
||||
}
|
||||
|
||||
m_current_senect = ams_id;
|
||||
} else {
|
||||
item->amsItem->UnSelected();
|
||||
//item->amsItem->HideHumidity();
|
||||
|
@ -2374,9 +2581,15 @@ void AMSControl::SwitchAms(std::string ams_id)
|
|||
AmsCansWindow *cans = m_ams_cans_list[i];
|
||||
if (cans->amsCans->m_info.ams_id == ams_id) { m_simplebook_cans->SetSelection(cans->amsCans->m_selection); }
|
||||
}
|
||||
|
||||
|
||||
m_current_ams = ams_id;
|
||||
|
||||
|
||||
SetAmsStep(m_current_show_ams, "-1", AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
|
||||
// update extruder
|
||||
m_extruder->OnAmsLoading(false);
|
||||
for (auto i = 0; i < m_ams_info.size(); i++) {
|
||||
if (m_ams_info[i].ams_id == m_current_ams) {
|
||||
switch (m_ams_info[i].current_step) {
|
||||
|
@ -2390,8 +2603,6 @@ void AMSControl::SwitchAms(std::string ams_id)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update buttons
|
||||
}
|
||||
|
||||
void AMSControl::SetFilamentStep(int item_idx, FilamentStepType f_type)
|
||||
|
@ -2491,13 +2702,22 @@ bool AMSControl::Enable(bool enable)
|
|||
return wxWindow::Enable(enable);
|
||||
}
|
||||
|
||||
void AMSControl::SetExtruder(bool on_off, wxColour col)
|
||||
void AMSControl::SetExtruder(bool on_off, bool is_vams, wxColour col)
|
||||
{
|
||||
if (!on_off) {
|
||||
m_extruder->TurnOff();
|
||||
m_vams_extra_road->OnVamsLoading(false);
|
||||
m_extruder->OnVamsLoading(false);
|
||||
m_vams_road->OnVamsLoading(false);
|
||||
} else {
|
||||
m_extruder->TurnOn(col);
|
||||
}
|
||||
|
||||
if (is_vams && on_off) {
|
||||
m_vams_extra_road->OnVamsLoading(true, col);
|
||||
m_extruder->OnVamsLoading(true, col);
|
||||
m_vams_road->OnVamsLoading(true, col);
|
||||
}
|
||||
}
|
||||
|
||||
void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadType type, AMSPassRoadSTEP step)
|
||||
|
@ -2518,21 +2738,25 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
|||
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_NONE) {
|
||||
cans->amsCans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_extruder->OnAmsLoading(false);
|
||||
}
|
||||
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP1) {
|
||||
cans->amsCans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
m_extruder->OnAmsLoading(false);
|
||||
}
|
||||
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2) {
|
||||
cans->amsCans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
cans->amsCans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
if (m_current_show_ams == ams_id) {m_extruder->OnAmsLoading(true, cans->amsCans->GetTagColr(canid));}
|
||||
}
|
||||
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP3) {
|
||||
cans->amsCans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
cans->amsCans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
cans->amsCans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_3);
|
||||
if (m_current_show_ams == ams_id) {m_extruder->OnAmsLoading(true, cans->amsCans->GetTagColr(canid));}
|
||||
}
|
||||
|
||||
for (auto i = 0; i < m_ams_info.size(); i++) {
|
||||
|
|
|
@ -49,6 +49,7 @@ enum class AMSRoadMode : int {
|
|||
AMS_ROAD_MODE_END_ONLY,
|
||||
AMS_ROAD_MODE_NONE,
|
||||
AMS_ROAD_MODE_NONE_ANY_ROAD,
|
||||
AMS_ROAD_MODE_VIRTUAL_TRAY
|
||||
};
|
||||
|
||||
enum class AMSPassRoadMode : int {
|
||||
|
@ -121,9 +122,9 @@ enum FilamentStepType {
|
|||
#define AMS_CAN_ITEM_HEIGHT_SIZE FromDIP(27)
|
||||
#define AMS_CANS_SIZE wxSize(FromDIP(284), FromDIP(186))
|
||||
#define AMS_CANS_WINDOW_SIZE wxSize(FromDIP(264), FromDIP(186))
|
||||
#define AMS_STEP_SIZE wxSize(FromDIP(172), FromDIP(180))
|
||||
#define AMS_STEP_SIZE wxSize(FromDIP(172), FromDIP(186))
|
||||
#define AMS_REFRESH_SIZE wxSize(FromDIP(30), FromDIP(30))
|
||||
#define AMS_EXTRUDER_SIZE wxSize(FromDIP(66), FromDIP(55))
|
||||
#define AMS_EXTRUDER_SIZE wxSize(FromDIP(86), FromDIP(72))
|
||||
#define AMS_EXTRUDER_BITMAP_SIZE wxSize(FromDIP(36), FromDIP(55))
|
||||
|
||||
struct Caninfo
|
||||
|
@ -229,7 +230,18 @@ public:
|
|||
void TurnOn(wxColour col);
|
||||
void TurnOff();
|
||||
void create(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size);
|
||||
void OnVamsLoading(bool load, wxColour col = AMS_CONTROL_GRAY500);
|
||||
void OnAmsLoading(bool load, wxColour col = AMS_CONTROL_GRAY500);
|
||||
void paintEvent(wxPaintEvent& evt);
|
||||
void render(wxDC& dc);
|
||||
void doRender(wxDC& dc);
|
||||
void msw_rescale();
|
||||
void has_ams(bool hams) {m_has_vams = hams; Refresh();};
|
||||
|
||||
bool m_has_vams{false};
|
||||
bool m_vams_loading{false};
|
||||
bool m_ams_loading{false};
|
||||
wxColour m_current_colur;
|
||||
|
||||
wxBoxSizer * m_bitmap_sizer{nullptr};
|
||||
wxPanel * m_bitmap_panel{nullptr};
|
||||
|
@ -239,6 +251,27 @@ public:
|
|||
~AMSextruder();
|
||||
};
|
||||
|
||||
class AMSVirtualRoad : public wxWindow
|
||||
{
|
||||
public:
|
||||
AMSVirtualRoad(wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize);
|
||||
~AMSVirtualRoad();
|
||||
|
||||
private:
|
||||
bool m_has_vams{ true };
|
||||
bool m_vams_loading{ false };
|
||||
wxColour m_current_color;
|
||||
|
||||
public:
|
||||
void OnVamsLoading(bool load, wxColour col = AMS_CONTROL_GRAY500);
|
||||
void SetHasVams(bool hvams) { m_has_vams = hvams; };
|
||||
void create(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size);
|
||||
void paintEvent(wxPaintEvent& evt);
|
||||
void render(wxDC& dc);
|
||||
void doRender(wxDC& dc);
|
||||
void msw_rescale();
|
||||
};
|
||||
|
||||
/*************************************************
|
||||
Description:AMSLib
|
||||
**************************************************/
|
||||
|
@ -248,16 +281,17 @@ public:
|
|||
AMSLib(wxWindow *parent, wxWindowID id, Caninfo info, const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize);
|
||||
void create(wxWindow *parent, wxWindowID id = wxID_ANY, const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize);
|
||||
public:
|
||||
wxColour GetLibColour();
|
||||
Caninfo m_info;
|
||||
int m_can_index;
|
||||
void Update(Caninfo info, bool refresh = true);
|
||||
void UnableSelected() { m_unable_selected = true; };
|
||||
void EableSelected() { m_unable_selected = false; };
|
||||
wxColour GetLibColour();
|
||||
void OnSelected();
|
||||
void UnSelected();
|
||||
bool is_selected() {return m_selected;};
|
||||
virtual bool Enable(bool enable = true);
|
||||
void post_event(wxCommandEvent &&event);
|
||||
Caninfo m_info;
|
||||
void show_kn_value(bool show) { m_show_kn = show; };
|
||||
|
||||
protected:
|
||||
|
@ -314,9 +348,12 @@ public:
|
|||
ScalableBitmap ams_humidity_2;
|
||||
ScalableBitmap ams_humidity_3;
|
||||
ScalableBitmap ams_humidity_4;
|
||||
bool m_show_humidity = { false };
|
||||
int m_humidity = { 0 };
|
||||
|
||||
int m_humidity = { 0 };
|
||||
bool m_show_humidity = { false };
|
||||
bool m_vams_loading{false};
|
||||
|
||||
void OnVamsLoading(bool load, wxColour col = AMS_CONTROL_GRAY500);
|
||||
void SetPassRoadColour(wxColour col);
|
||||
void SetMode(AMSRoadMode mode);
|
||||
void OnPassRoad(std::vector<AMSPassRoadMode> prord_list);
|
||||
|
@ -407,8 +444,9 @@ public:
|
|||
void Update(AMSinfo info);
|
||||
void create(wxWindow *parent, wxWindowID id, AMSinfo info, const wxPoint &pos, const wxSize &size);
|
||||
void AddCan(Caninfo caninfo, int canindex, int maxcan);
|
||||
void SetDefSelectCan();
|
||||
void SetDefSelectCan();
|
||||
void SelectCan(std::string canid);
|
||||
wxColour GetTagColr(wxString canid);
|
||||
void SetAmsStep(wxString canid, AMSPassRoadType type, AMSPassRoadSTEP step);
|
||||
//wxColour GetCanColour(wxString canid);
|
||||
void PlayRridLoading(wxString canid);
|
||||
|
@ -473,6 +511,8 @@ protected:
|
|||
std::vector<AMSinfo> m_ams_info;
|
||||
|
||||
std::string m_current_ams;
|
||||
std::string m_current_show_ams;
|
||||
|
||||
AmsItemsHash m_ams_item_list;
|
||||
AmsCansHash m_ams_cans_list;
|
||||
|
||||
|
@ -496,11 +536,11 @@ protected:
|
|||
wxBoxSizer* m_vams_sizer = {nullptr};
|
||||
wxBoxSizer* m_sizer_vams_tips = {nullptr};
|
||||
|
||||
Caninfo m_vams_info;
|
||||
StaticBox* m_panel_virtual = {nullptr};
|
||||
AMSrefresh* m_vams_refresh = {nullptr};
|
||||
AMSLib* m_vams_lib = {nullptr};
|
||||
AMSRoad* m_vams_road = {nullptr};
|
||||
Caninfo m_vams_info;
|
||||
StaticBox* m_panel_virtual = {nullptr};
|
||||
AMSLib* m_vams_lib = {nullptr};
|
||||
AMSRoad* m_vams_road = {nullptr};
|
||||
AMSVirtualRoad* m_vams_extra_road = {nullptr};
|
||||
|
||||
StaticBox * m_panel_can = {nullptr};
|
||||
wxBoxSizer *m_sizer_top = {nullptr};
|
||||
|
@ -552,7 +592,7 @@ public:
|
|||
void CreateAms();
|
||||
void UpdateAms(std::vector<AMSinfo> info, bool keep_selection = true, bool has_extrusion_cali = true);
|
||||
void AddAms(AMSinfo info, bool refresh = true);
|
||||
void SetExtruder(bool on_off, wxColour col);
|
||||
void SetExtruder(bool on_off, bool is_vams, wxColour col);
|
||||
void SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadType type, AMSPassRoadSTEP step);
|
||||
void SwitchAms(std::string ams_id);
|
||||
|
||||
|
|
Loading…
Reference in New Issue