mirror of
https://git.mirrors.martin98.com/https://github.com/bambulab/BambuStudio.git
synced 2025-08-19 20:09:05 +08:00
FIX:fixed the display issue of multiple AMS
jira:[for ams] Change-Id: Icb8ce708b0e65870d627dfbe8932e012fc36c6f9 (cherry picked from commit 2cdfc21b93e37b92deabb3ab8e7b39de2578f0b2)
This commit is contained in:
parent
b309109530
commit
afbf3cf197
@ -786,13 +786,23 @@ void MachineObject::_parse_tray_now(std::string tray_now)
|
||||
} else {
|
||||
try {
|
||||
int tray_now_int = atoi(tray_now.c_str());
|
||||
if (tray_now_int >= 0 && tray_now_int < 16) {
|
||||
m_ams_id = std::to_string(tray_now_int >> 2);
|
||||
m_tray_id = std::to_string(tray_now_int & 0x3);
|
||||
}
|
||||
else if (tray_now_int == 255) {
|
||||
if (tray_now_int == 255) {
|
||||
m_ams_id = "0";
|
||||
m_tray_id = "0";
|
||||
m_extder_data.extders[MAIN_NOZZLE_ID].snow.ams_id = "";
|
||||
m_extder_data.extders[MAIN_NOZZLE_ID].snow.slot_id = "";
|
||||
}
|
||||
else {
|
||||
if (tray_now_int == 254) {
|
||||
m_extder_data.extders[MAIN_NOZZLE_ID].snow.ams_id = std::to_string(VIRTUAL_TRAY_MAIN_ID);
|
||||
m_extder_data.extders[MAIN_NOZZLE_ID].snow.slot_id = "0";
|
||||
}
|
||||
else {
|
||||
m_ams_id = std::to_string(tray_now_int >> 2);
|
||||
m_tray_id = std::to_string(tray_now_int & 0x3);
|
||||
m_extder_data.extders[MAIN_NOZZLE_ID].snow.ams_id = m_ams_id;
|
||||
m_extder_data.extders[MAIN_NOZZLE_ID].snow.slot_id = m_tray_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(...) {
|
||||
@ -3438,6 +3448,7 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
|
||||
}
|
||||
if (jj.contains("hw_switch_state")) {
|
||||
hw_switch_state = jj["hw_switch_state"].get<int>();
|
||||
m_extder_data.extders[MAIN_NOZZLE_ID].ext_has_filament = hw_switch_state;
|
||||
}
|
||||
if (jj.contains("mc_print_line_number")) {
|
||||
if (jj["mc_print_line_number"].is_string() && !jj["mc_print_line_number"].is_null())
|
||||
|
@ -2220,6 +2220,7 @@ StatusPanel::StatusPanel(wxWindow *parent, wxWindowID id, const wxPoint &pos, co
|
||||
Bind(EVT_AMS_EXTRUSION_CALI, &StatusPanel::on_filament_extrusion_cali, this);
|
||||
Bind(EVT_AMS_LOAD, &StatusPanel::on_ams_load, this);
|
||||
Bind(EVT_AMS_UNLOAD, &StatusPanel::on_ams_unload, this);
|
||||
Bind(EVT_AMS_SWITCH, &StatusPanel::on_ams_switch, this);
|
||||
Bind(EVT_AMS_FILAMENT_BACKUP, &StatusPanel::on_ams_filament_backup, this);
|
||||
Bind(EVT_AMS_SETTINGS, &StatusPanel::on_ams_setting_click, this);
|
||||
Bind(EVT_AMS_REFRESH_RFID, &StatusPanel::on_ams_refresh_rfid, this);
|
||||
@ -2998,23 +2999,6 @@ void StatusPanel::update_misc_ctrl(MachineObject *obj)
|
||||
void StatusPanel::update_extruder_status(MachineObject* obj)
|
||||
{
|
||||
if (!obj) return;
|
||||
//wait add
|
||||
|
||||
/*if (obj->is_filament_at_extruder()) {
|
||||
if (obj->extruder_axis_status == MachineObject::ExtruderAxisStatus::LOAD) {
|
||||
tmp = m_bitmap_extruder_filled_load;
|
||||
}
|
||||
else {
|
||||
tmp = m_bitmap_extruder_filled_unload;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (obj->extruder_axis_status == MachineObject::ExtruderAxisStatus::LOAD) {
|
||||
m_bitmap_extruder_img->SetBitmap(m_bitmap_extruder_empty_load);
|
||||
} else {
|
||||
m_bitmap_extruder_img->SetBitmap(m_bitmap_extruder_empty_unload);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
void StatusPanel::update_ams(MachineObject *obj)
|
||||
@ -3122,57 +3106,57 @@ void StatusPanel::update_ams(MachineObject *obj)
|
||||
if (obj->m_tray_tar == std::to_string(VIRTUAL_TRAY_MAIN_ID)) is_vt_tray = true;
|
||||
|
||||
// set segment 1, 2
|
||||
if (!obj->is_enable_np) {
|
||||
if (obj->m_tray_now == std::to_string(255) || obj->m_tray_now == std::to_string(254)) {
|
||||
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(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(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(obj->m_ams_id, obj->m_tray_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
}
|
||||
}
|
||||
//if (!obj->is_enable_np) {
|
||||
// if (obj->m_tray_now == std::to_string(255) || obj->m_tray_now == std::to_string(254)) {
|
||||
// m_ams_control->SetAmsStep(obj->m_extder_data.extders[MAIN_NOZZLE_ID].snow.ams_id, obj->m_extder_data.extders[MAIN_NOZZLE_ID].snow.slot_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(obj->m_extder_data.extders[MAIN_NOZZLE_ID].snow.ams_id, obj->m_extder_data.extders[MAIN_NOZZLE_ID].snow.slot_id,
|
||||
// AMSPassRoadType::AMS_ROAD_TYPE_LOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2);
|
||||
// } else if (obj->m_tray_now != "255") {
|
||||
// m_ams_control->SetAmsStep(obj->m_extder_data.extders[MAIN_NOZZLE_ID].snow.ams_id, obj->m_extder_data.extders[MAIN_NOZZLE_ID].snow.slot_id,
|
||||
// AMSPassRoadType::AMS_ROAD_TYPE_LOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP1);
|
||||
// } else {
|
||||
// m_ams_control->SetAmsStep(obj->m_extder_data.extders[MAIN_NOZZLE_ID].snow.ams_id, obj->m_extder_data.extders[MAIN_NOZZLE_ID].snow.slot_id,
|
||||
// AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
// }*/
|
||||
// if () {
|
||||
|
||||
if (obj->m_tray_now == std::to_string(255) || obj->m_tray_now == std::to_string(254)) {
|
||||
m_ams_control->SetExtruder(obj->is_filament_at_extruder(), true, obj->m_ams_id, obj->vt_slot[0].get_color());
|
||||
} else {
|
||||
m_ams_control->SetExtruder(obj->is_filament_at_extruder(), false, obj->m_ams_id, m_ams_control->GetCanColour(obj->m_ams_id, obj->m_tray_id));
|
||||
}
|
||||
} else {
|
||||
// }
|
||||
// }
|
||||
|
||||
// m_ams_control->SetExtruder(obj->is_filament_at_extruder(), obj->m_extder_data.extders[MAIN_NOZZLE_ID].snow.ams_id, obj->m_extder_data.extders[MAIN_NOZZLE_ID].snow.slot_id);
|
||||
//} else {
|
||||
/*right*/
|
||||
if (obj->m_extder_data.extders.size() > 0) {
|
||||
auto ext = obj->m_extder_data.extders[MAIN_NOZZLE_ID];
|
||||
if (ext.ext_has_filament) {
|
||||
if (ext.snow.slot_id == std::to_string(MAIN_NOZZLE_ID) || ext.snow.slot_id == std::to_string(MAIN_NOZZLE_ID)) {
|
||||
m_ams_control->SetAmsStep(ext.star.ams_id, "0", AMSPassRoadType::AMS_ROAD_TYPE_LOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP3);
|
||||
if (ext.snow.ams_id == std::to_string(VIRTUAL_TRAY_MAIN_ID) || ext.snow.ams_id == std::to_string(VIRTUAL_TRAY_DEPUTY_ID)) {
|
||||
m_ams_control->SetAmsStep(ext.snow.ams_id, "0", AMSPassRoadType::AMS_ROAD_TYPE_LOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP3);
|
||||
} else {
|
||||
m_ams_control->SetAmsStep(ext.snow.ams_id, ext.snow.slot_id, AMSPassRoadType::AMS_ROAD_TYPE_LOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2);
|
||||
}
|
||||
m_ams_control->SetExtruder(true, true, ext.snow.ams_id, m_ams_control->GetCanColour(ext.snow.ams_id, ext.snow.slot_id));
|
||||
} else {
|
||||
m_ams_control->SetAmsStep(ext.snow.ams_id, ext.snow.slot_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_ams_control->SetExtruder(false, true, ext.snow.ams_id, m_ams_control->GetCanColour(ext.snow.ams_id, ext.snow.slot_id));
|
||||
}
|
||||
m_ams_control->SetExtruder(ext.ext_has_filament, ext.snow.ams_id, ext.snow.slot_id);
|
||||
}
|
||||
|
||||
/*left*/
|
||||
if (obj->m_extder_data.extders.size() > 1) {
|
||||
auto ext = obj->m_extder_data.extders[DEPUTY_NOZZLE_ID];
|
||||
if (ext.ext_has_filament) {
|
||||
if (ext.snow.slot_id == std::to_string(VIRTUAL_TRAY_MAIN_ID) || ext.snow.slot_id == std::to_string(VIRTUAL_TRAY_DEPUTY_ID)) {
|
||||
if (ext.snow.ams_id == std::to_string(VIRTUAL_TRAY_MAIN_ID) || ext.snow.ams_id == std::to_string(VIRTUAL_TRAY_DEPUTY_ID)) {
|
||||
m_ams_control->SetAmsStep(ext.snow.ams_id, "0", AMSPassRoadType::AMS_ROAD_TYPE_LOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP3);
|
||||
} else {
|
||||
m_ams_control->SetAmsStep(ext.snow.ams_id, ext.snow.slot_id, AMSPassRoadType::AMS_ROAD_TYPE_LOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2);
|
||||
}
|
||||
m_ams_control->SetExtruder(true, true, ext.snow.ams_id, m_ams_control->GetCanColour(ext.snow.ams_id, ext.snow.slot_id));
|
||||
} else {
|
||||
m_ams_control->SetAmsStep(ext.snow.ams_id, ext.snow.slot_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_ams_control->SetExtruder(false, true, ext.snow.ams_id, m_ams_control->GetCanColour(ext.snow.ams_id, ext.snow.slot_id));
|
||||
}
|
||||
m_ams_control->SetExtruder(ext.ext_has_filament, ext.snow.ams_id, ext.snow.slot_id);
|
||||
}
|
||||
}
|
||||
//}
|
||||
|
||||
bool ams_loading_state = false;
|
||||
auto ams_status_sub = obj->ams_status_sub;
|
||||
@ -4159,11 +4143,44 @@ void StatusPanel::on_ams_load_vams(wxCommandEvent& event) {
|
||||
}
|
||||
}
|
||||
|
||||
void StatusPanel::on_ams_switch(SimpleEvent &event)
|
||||
{
|
||||
if(obj){
|
||||
if (obj->m_extder_data.extders.size() > 0) {
|
||||
auto ext = obj->m_extder_data.extders[MAIN_NOZZLE_ID];
|
||||
if (ext.ext_has_filament) {
|
||||
if (ext.snow.ams_id == std::to_string(VIRTUAL_TRAY_MAIN_ID) || ext.snow.ams_id == std::to_string(VIRTUAL_TRAY_DEPUTY_ID)) {
|
||||
m_ams_control->SetAmsStep(ext.snow.ams_id, "0", AMSPassRoadType::AMS_ROAD_TYPE_LOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP3);
|
||||
} else {
|
||||
m_ams_control->SetAmsStep(ext.snow.ams_id, ext.snow.slot_id, AMSPassRoadType::AMS_ROAD_TYPE_LOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2);
|
||||
}
|
||||
} else {
|
||||
m_ams_control->SetAmsStep(ext.snow.ams_id, ext.snow.slot_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
}
|
||||
m_ams_control->SetExtruder(ext.ext_has_filament, ext.snow.ams_id, ext.snow.slot_id);
|
||||
}
|
||||
|
||||
/*left*/
|
||||
if (obj->m_extder_data.extders.size() > 1) {
|
||||
auto ext = obj->m_extder_data.extders[DEPUTY_NOZZLE_ID];
|
||||
if (ext.ext_has_filament) {
|
||||
if (ext.snow.ams_id == std::to_string(VIRTUAL_TRAY_MAIN_ID) || ext.snow.ams_id == std::to_string(VIRTUAL_TRAY_DEPUTY_ID)) {
|
||||
m_ams_control->SetAmsStep(ext.snow.ams_id, "0", AMSPassRoadType::AMS_ROAD_TYPE_LOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP3);
|
||||
} else {
|
||||
m_ams_control->SetAmsStep(ext.snow.ams_id, ext.snow.slot_id, AMSPassRoadType::AMS_ROAD_TYPE_LOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2);
|
||||
}
|
||||
} else {
|
||||
m_ams_control->SetAmsStep(ext.snow.ams_id, ext.snow.slot_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
}
|
||||
m_ams_control->SetExtruder(ext.ext_has_filament, ext.snow.ams_id, ext.snow.slot_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void StatusPanel::on_ams_unload(SimpleEvent &event)
|
||||
{
|
||||
if (obj) {
|
||||
if (obj->is_enable_np) {
|
||||
|
||||
try {
|
||||
std::string curr_ams_id = m_ams_control->GetCurentAms();
|
||||
std::string curr_can_id = m_ams_control->GetCurrentCan(curr_ams_id);
|
||||
|
@ -640,6 +640,7 @@ protected:
|
||||
void update_filament_step();
|
||||
void on_ams_load_curr();
|
||||
void on_ams_load_vams(wxCommandEvent& event);
|
||||
void on_ams_switch(SimpleEvent &event);
|
||||
void on_ams_unload(SimpleEvent &event);
|
||||
void on_ams_filament_backup(SimpleEvent& event);
|
||||
void on_ams_setting_click(SimpleEvent& event);
|
||||
|
@ -2646,237 +2646,18 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
||||
|
||||
|
||||
m_sizer_ams_option->Add(m_sizer_option_left, 0, wxALIGN_LEFT, 0);
|
||||
//m_sizer_ams_option->Add(m_sizer_option_mid, 1, wxEXPAND, 0);
|
||||
m_sizer_ams_option->Add(m_sizer_option_mid, 0, wxALIGN_CENTER_HORIZONTAL | wxLEFT | wxRIGHT, FromDIP(90));
|
||||
//m_sizer_ams_option->Add(m_sizer_option_right, 0, wxEXPAND, 0);
|
||||
m_sizer_ams_option->Add(m_sizer_option_right, 0, wxALIGN_RIGHT, 0);
|
||||
|
||||
|
||||
|
||||
//virtual ams
|
||||
//m_panel_virtual = new StaticBox(m_amswin, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE);
|
||||
//m_panel_virtual->SetBackgroundColor(StateColor(std::pair<wxColour, int>(AMS_CONTROL_DEF_BLOCK_BK_COLOUR, StateColor::Normal)));
|
||||
//m_panel_virtual->SetMinSize(wxSize(AMS_CAN_LIB_SIZE.x + FromDIP(16), AMS_CANS_SIZE.y));
|
||||
//m_panel_virtual->SetMaxSize(wxSize(AMS_CAN_LIB_SIZE.x + FromDIP(16), AMS_CANS_SIZE.y));
|
||||
|
||||
//m_vams_info.material_state = AMSCanType::AMS_CAN_TYPE_VIRTUAL;
|
||||
//m_vams_info.can_id = wxString::Format("%d", VIRTUAL_TRAY_MAIN_ID).ToStdString();
|
||||
|
||||
//auto vams_panel = new wxWindow(m_panel_virtual, wxID_ANY);
|
||||
//vams_panel->SetBackgroundColour(AMS_CONTROL_DEF_BLOCK_BK_COLOUR);
|
||||
|
||||
//m_vams_lib = new AMSLib(vams_panel, m_vams_info);
|
||||
//m_vams_road = new AMSRoad(vams_panel, wxID_ANY, m_vams_info, -1, -1, wxDefaultPosition, AMS_CAN_ROAD_SIZE);
|
||||
|
||||
//m_vams_lib->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {
|
||||
// //clear all selected
|
||||
// m_current_ams = m_vams_info.can_id;
|
||||
// m_vams_lib->OnSelected();
|
||||
|
||||
// SwitchAms(m_current_ams);
|
||||
// for (auto i = 0; i < m_ams_item_list.GetCount(); i++) {
|
||||
// AmsCansWindow* cans = m_ams_item_list[i];
|
||||
// cans->amsCans->SelectCan(m_current_ams);
|
||||
// }
|
||||
|
||||
// e.Skip();
|
||||
// });
|
||||
|
||||
//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_vams_top_sizer = new wxBoxSizer(wxVERTICAL);
|
||||
|
||||
//m_vams_top_sizer->Add(0, 0, 0, wxEXPAND | wxTOP, FromDIP(14));
|
||||
//m_vams_top_sizer->Add(0, 0, 0, wxEXPAND | wxTOP, AMS_REFRESH_SIZE.y);
|
||||
//m_vams_top_sizer->Add(m_vams_lib, 0, wxEXPAND | wxTOP | wxLEFT | wxRIGHT, FromDIP(4));
|
||||
//m_vams_top_sizer->Add(m_vams_road, 0, wxALL, 0);
|
||||
|
||||
//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();
|
||||
//});
|
||||
|
||||
////extra road
|
||||
|
||||
//vams_panel->SetSizer(m_vams_top_sizer);
|
||||
//vams_panel->Layout();
|
||||
//vams_panel->Fit();
|
||||
|
||||
//wxBoxSizer* m_sizer_vams_panel = new wxBoxSizer(wxVERTICAL);
|
||||
|
||||
//m_sizer_vams_panel->Add(vams_panel, 0, wxALIGN_CENTER_HORIZONTAL, 0);
|
||||
//m_panel_virtual->SetSizer(m_sizer_vams_panel);
|
||||
//m_panel_virtual->Layout();
|
||||
//m_panel_virtual->Fit();
|
||||
|
||||
//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"), wxDefaultPosition, wxDefaultSize, wxST_ELLIPSIZE_END);
|
||||
// m_vams_tip->SetMaxSize(wxSize(FromDIP(66), -1));
|
||||
// m_vams_tip->SetFont(::Label::Body_12);
|
||||
// m_vams_tip->SetBackgroundColour(*wxWHITE);
|
||||
// m_img_vams_tip = new wxStaticBitmap(m_amswin, wxID_ANY, create_scaled_bitmap("enable_ams", this, 16), wxDefaultPosition, wxSize(FromDIP(16), FromDIP(16)), 0);
|
||||
// m_img_vams_tip->SetBackgroundColour(*wxWHITE);
|
||||
// m_img_vams_tip->Bind(wxEVT_ENTER_WINDOW, [this](auto& e) {
|
||||
// wxPoint img_pos = m_img_vams_tip->ClientToScreen(wxPoint(0, 0));
|
||||
// wxPoint popup_pos(img_pos.x, img_pos.y + m_img_vams_tip->GetRect().height);
|
||||
// m_ams_introduce_popup.set_mode(false);
|
||||
// m_ams_introduce_popup.Position(popup_pos, wxSize(0, 0));
|
||||
// m_ams_introduce_popup.Popup();
|
||||
//
|
||||
//#ifdef __WXMSW__
|
||||
// wxCommandEvent close_event(EVT_CLEAR_SPEED_CONTROL);
|
||||
// wxPostEvent(this, close_event);
|
||||
//#endif // __WXMSW__
|
||||
// });
|
||||
//
|
||||
// m_img_vams_tip->Bind(wxEVT_LEAVE_WINDOW, [this](wxMouseEvent& e) {
|
||||
// m_ams_introduce_popup.Dismiss();
|
||||
// });
|
||||
//
|
||||
// m_sizer_vams_tips->Add(m_vams_tip, 0, wxTOP, FromDIP(5));
|
||||
// m_sizer_vams_tips->Add(m_img_vams_tip, 0, wxALL, FromDIP(3));
|
||||
|
||||
//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);
|
||||
|
||||
|
||||
//Right
|
||||
/*
|
||||
addaddaddaddaddaaddaddaddadd
|
||||
*/
|
||||
|
||||
/*
|
||||
wxBoxSizer *m_sizer_right = new wxBoxSizer(wxVERTICAL);
|
||||
m_simplebook_right = new wxSimplebook(m_amswin, wxID_ANY);
|
||||
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_tip_load_info = new ::Label(tip_right, wxEmptyString);
|
||||
m_tip_load_info->SetFont(::Label::Body_13);
|
||||
m_tip_load_info->SetBackgroundColour(*wxWHITE);
|
||||
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->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->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->SetMaxSize(AMS_STEP_SIZE);
|
||||
m_filament_vt_load_step->SetBackgroundColour(*wxWHITE);
|
||||
|
||||
m_simplebook_right->AddPage(tip_right, wxEmptyString, false);
|
||||
m_simplebook_right->AddPage(m_filament_load_step, wxEmptyString, false);
|
||||
m_simplebook_right->AddPage(m_filament_unload_step, wxEmptyString, false);
|
||||
m_simplebook_right->AddPage(m_filament_vt_load_step, wxEmptyString, false);
|
||||
|
||||
|
||||
|
||||
|
||||
m_button_guide = new Button(m_amswin, _L("Guide"));
|
||||
m_button_guide->SetFont(Label::Body_13);
|
||||
if (wxGetApp().app_config->get("language") == "de_DE") m_button_guide->SetFont(Label::Body_9);
|
||||
if (wxGetApp().app_config->get("language") == "fr_FR") m_button_guide->SetFont(Label::Body_9);
|
||||
if (wxGetApp().app_config->get("language") == "ru_RU") m_button_guide->SetLabel("Guide");
|
||||
if (wxGetApp().app_config->get("language") == "nl_NL") m_button_guide->SetFont(Label::Body_9);
|
||||
if (wxGetApp().app_config->get("language") == "hu_HU") m_button_guide->SetFont(Label::Body_9);
|
||||
if (wxGetApp().app_config->get("language") == "ja_JP") m_button_guide->SetFont(Label::Body_9);
|
||||
if (wxGetApp().app_config->get("language") == "sv_SE") m_button_guide->SetFont(Label::Body_9);
|
||||
if (wxGetApp().app_config->get("language") == "cs_CZ") m_button_guide->SetFont(Label::Body_9);
|
||||
if (wxGetApp().app_config->get("language") == "uk_UA") m_button_guide->SetFont(Label::Body_9);
|
||||
|
||||
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);
|
||||
|
||||
m_button_retry = new Button(m_amswin, _L("Retry"));
|
||||
m_button_retry->SetFont(Label::Body_13);
|
||||
|
||||
if (wxGetApp().app_config->get("language") == "de_DE") m_button_retry->SetFont(Label::Body_9);
|
||||
if (wxGetApp().app_config->get("language") == "fr_FR") m_button_retry->SetFont(Label::Body_9);
|
||||
if (wxGetApp().app_config->get("language") == "ru_RU") m_button_retry->SetLabel("Retry");
|
||||
if (wxGetApp().app_config->get("language") == "nl_NL") m_button_retry->SetLabel("Retry");
|
||||
if (wxGetApp().app_config->get("language") == "tr_TR") m_button_retry->SetLabel("Retry");
|
||||
if (wxGetApp().app_config->get("language") == "hu_HU") m_button_retry->SetFont(Label::Body_9);
|
||||
if (wxGetApp().app_config->get("language") == "ja_JP") m_button_retry->SetFont(Label::Body_9);
|
||||
if (wxGetApp().app_config->get("language") == "sv_SE") m_button_retry->SetFont(Label::Body_9);
|
||||
if (wxGetApp().app_config->get("language") == "cs_CZ") m_button_retry->SetFont(Label::Body_9);
|
||||
if (wxGetApp().app_config->get("language") == "uk_UA") m_button_retry->SetFont(Label::Body_9);
|
||||
|
||||
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);
|
||||
|
||||
m_sizer_right_bottom->Add(m_button_ams_setting, 0);
|
||||
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));*/
|
||||
|
||||
|
||||
/*
|
||||
addaddaddaddaddaaddaddaddadd
|
||||
*/
|
||||
|
||||
m_sizer_ams_body->Add(m_sizer_ams_area_left, wxALIGN_CENTER, 0);
|
||||
m_sizer_ams_body->AddSpacer(FromDIP(10));
|
||||
m_sizer_ams_body->Add(m_sizer_ams_area_right, wxALIGN_CENTER, 0);
|
||||
|
||||
//m_sizer_ams_body->Add(m_sizer_right, 0, wxEXPAND, FromDIP(0));
|
||||
|
||||
m_sizer_body->Add(m_sizer_ams_items, 0, wxALIGN_CENTER, 0);
|
||||
m_sizer_body->Add(0, 0, 1, wxEXPAND | wxTOP, FromDIP(10));
|
||||
m_sizer_body->Add(m_sizer_ams_body, 0, wxALIGN_CENTER, 0);
|
||||
m_sizer_body->Add(m_sizer_down_road, 0, wxALIGN_CENTER_HORIZONTAL | wxTOP, 0);
|
||||
//m_sizer_body->Add(m_sizer_ams_body, 0, wxEXPAND, 0);
|
||||
//m_sizer_body->Add(m_sizer_ams_option, 0, wxEXPAND, 0);
|
||||
m_sizer_body->Add(m_sizer_ams_option, 0, wxALIGN_CENTER, 0);
|
||||
|
||||
m_amswin->SetSizer(m_sizer_body);
|
||||
@ -2888,10 +2669,8 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
||||
SetMinSize(m_amswin->GetSize());
|
||||
|
||||
|
||||
|
||||
AddPage(m_amswin, wxEmptyString, false);
|
||||
|
||||
UpdateStepCtrl(false);
|
||||
|
||||
m_button_extruder_feed->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(AMSControl::on_filament_load), NULL, this);
|
||||
m_button_extruder_back->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(AMSControl::on_filament_unload), NULL, this);
|
||||
@ -2924,19 +2703,6 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
||||
m_Humidity_tip_popup.Popup();
|
||||
});
|
||||
Bind(EVT_AMS_ON_SELECTED, &AMSControl::AmsSelectedSwitch, this);
|
||||
|
||||
|
||||
/* m_button_guide->Bind(wxEVT_BUTTON, [this](wxCommandEvent& e) {
|
||||
post_event(wxCommandEvent(EVT_AMS_GUIDE_WIKI));
|
||||
});
|
||||
m_button_retry->Bind(wxEVT_BUTTON, [this](wxCommandEvent& e) {
|
||||
post_event(wxCommandEvent(EVT_AMS_RETRY));
|
||||
});*/
|
||||
|
||||
//CreateAms();
|
||||
//CreateAmsNew();
|
||||
//EnterNoneAMSMode();
|
||||
|
||||
}
|
||||
|
||||
void AMSControl::on_retry()
|
||||
@ -2944,10 +2710,7 @@ void AMSControl::on_retry()
|
||||
post_event(wxCommandEvent(EVT_AMS_RETRY));
|
||||
}
|
||||
|
||||
AMSControl::~AMSControl() {
|
||||
/*m_simplebook_ams_left->DeleteAllPages();
|
||||
m_simplebook_ams_right->DeleteAllPages();*/
|
||||
}
|
||||
AMSControl::~AMSControl() {}
|
||||
|
||||
std::string AMSControl::GetCurentAms() {
|
||||
return m_current_ams;
|
||||
@ -3191,74 +2954,6 @@ void AMSControl::msw_rescale()
|
||||
Refresh();
|
||||
}
|
||||
|
||||
void AMSControl::UpdateStepCtrl(bool is_extrusion)
|
||||
{
|
||||
/*wxString FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_COUNT] = {
|
||||
_L("Idling..."),
|
||||
_L("Heat the nozzle"),
|
||||
_L("Cut filament"),
|
||||
_L("Pull back current filament"),
|
||||
_L("Push new filament into extruder"),
|
||||
_L("Purge old filament"),
|
||||
_L("Feed Filament"),
|
||||
_L("Confirm extruded"),
|
||||
_L("Check filament location")
|
||||
};
|
||||
|
||||
m_filament_load_step->DeleteAllItems();
|
||||
m_filament_unload_step->DeleteAllItems();
|
||||
m_filament_vt_load_step->DeleteAllItems();
|
||||
|
||||
if (m_ams_model == AMSModel::GENERIC_AMS || m_ext_model == AMSModel::GENERIC_AMS) {
|
||||
if (is_extrusion) {
|
||||
m_filament_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_HEAT_NOZZLE]);
|
||||
m_filament_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_CUT_FILAMENT]);
|
||||
m_filament_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_PULL_CURR_FILAMENT]);
|
||||
m_filament_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_PUSH_NEW_FILAMENT]);
|
||||
m_filament_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_PURGE_OLD_FILAMENT]);
|
||||
}
|
||||
else {
|
||||
m_filament_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_HEAT_NOZZLE]);
|
||||
m_filament_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_PUSH_NEW_FILAMENT]);
|
||||
m_filament_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_PURGE_OLD_FILAMENT]);
|
||||
}
|
||||
|
||||
m_filament_vt_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_HEAT_NOZZLE]);
|
||||
m_filament_vt_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_PUSH_NEW_FILAMENT]);
|
||||
m_filament_vt_load_step->AppendItem(_L("Grab new filament"));
|
||||
m_filament_vt_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_PURGE_OLD_FILAMENT]);
|
||||
|
||||
m_filament_unload_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_HEAT_NOZZLE]);
|
||||
m_filament_unload_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_CUT_FILAMENT]);
|
||||
m_filament_unload_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_PULL_CURR_FILAMENT]);
|
||||
}
|
||||
|
||||
|
||||
if (m_ams_model == AMSModel::EXTRA_AMS || m_ext_model == AMSModel::EXTRA_AMS) {
|
||||
m_filament_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_HEAT_NOZZLE]);
|
||||
m_filament_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_CHECK_POSITION]);
|
||||
m_filament_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_CUT_FILAMENT]);
|
||||
m_filament_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_PULL_CURR_FILAMENT]);
|
||||
m_filament_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_PUSH_NEW_FILAMENT]);
|
||||
m_filament_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_PURGE_OLD_FILAMENT]);
|
||||
|
||||
m_filament_vt_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_HEAT_NOZZLE]);
|
||||
m_filament_vt_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_CHECK_POSITION]);
|
||||
m_filament_vt_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_CUT_FILAMENT]);
|
||||
m_filament_vt_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_PULL_CURR_FILAMENT]);
|
||||
m_filament_vt_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_PUSH_NEW_FILAMENT]);
|
||||
m_filament_vt_load_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_PURGE_OLD_FILAMENT]);
|
||||
|
||||
m_filament_unload_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_HEAT_NOZZLE]);
|
||||
m_filament_unload_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_CHECK_POSITION]);
|
||||
m_filament_unload_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_CUT_FILAMENT]);
|
||||
m_filament_unload_step->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_PULL_CURR_FILAMENT]);
|
||||
}*/
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void AMSControl::CreateAms()
|
||||
{
|
||||
auto caninfo0_0 = Caninfo{"def_can_0", (""), *wxWHITE, AMSCanType::AMS_CAN_TYPE_VIRTUAL};
|
||||
@ -3438,9 +3133,9 @@ void AMSControl::CreateAmsDoubleNozzle()
|
||||
m_current_show_ams_right = m_item_ids[MAIN_NOZZLE_ID].size() > 0 ? m_item_ids[MAIN_NOZZLE_ID][0] : "";
|
||||
|
||||
m_current_ams = "";
|
||||
m_down_road->UpdatePassRoad("0", AMSPanelPos::LEFT_PANEL, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_down_road->UpdatePassRoad(AMSPanelPos::LEFT_PANEL, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_extruder->OnAmsLoading(false, DEPUTY_NOZZLE_ID);
|
||||
m_down_road->UpdatePassRoad("0", AMSPanelPos::RIGHT_PANEL, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_down_road->UpdatePassRoad(AMSPanelPos::RIGHT_PANEL, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_extruder->OnAmsLoading(false, MAIN_NOZZLE_ID);
|
||||
|
||||
Thaw();
|
||||
@ -3523,8 +3218,8 @@ void AMSControl::CreateAmsSingleNozzle()
|
||||
m_current_show_ams_right = m_item_ids[MAIN_NOZZLE_ID].size() > 0 ? m_item_ids[MAIN_NOZZLE_ID][0] : "";
|
||||
m_current_ams = "";
|
||||
|
||||
m_down_road->UpdatePassRoad("0", AMSPanelPos::LEFT_PANEL, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_down_road->UpdatePassRoad("0", AMSPanelPos::RIGHT_PANEL, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_down_road->UpdatePassRoad(AMSPanelPos::LEFT_PANEL, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_down_road->UpdatePassRoad(AMSPanelPos::RIGHT_PANEL, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_extruder->updateNozzleNum(1);
|
||||
m_extruder->OnAmsLoading(false, MAIN_NOZZLE_ID);
|
||||
|
||||
@ -3973,7 +3668,6 @@ void AMSControl::createAmsPanel(wxSimplebook* parent, int& idx, std::vector<AMSi
|
||||
|
||||
void AMSControl::AddAms(AMSinfo info, AMSPanelPos pos)
|
||||
{
|
||||
AmsItem* ams_item;
|
||||
if (m_extder_data.total_extder_count > 1){
|
||||
if (info.nozzle_id == MAIN_NOZZLE_ID){
|
||||
createAms(m_simplebook_ams_right, m_right_page_index, info, AMSPanelPos::RIGHT_PANEL);
|
||||
@ -4111,15 +3805,12 @@ void AMSControl::SwitchAms(std::string ams_id)
|
||||
|
||||
bool is_in_right = IsAmsInRightPanel(ams_id);
|
||||
if (is_in_right){
|
||||
if (m_current_show_ams_right != ams_id) {
|
||||
m_current_show_ams_right = ams_id;
|
||||
//m_extruder->OnAmsLoading(false);
|
||||
}
|
||||
m_current_show_ams_right = ams_id;
|
||||
m_down_road->UpdatePassRoad(AMSPanelPos::RIGHT_PANEL, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
}
|
||||
else{
|
||||
m_current_show_ams_left = ams_id;
|
||||
/*if (m_nozzle_num > 1) m_extruder->OnAmsLoading(false, 1);
|
||||
else m_extruder->OnAmsLoading(false);*/
|
||||
m_down_road->UpdatePassRoad(AMSPanelPos::LEFT_PANEL, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
}
|
||||
|
||||
|
||||
@ -4196,9 +3887,9 @@ void AMSControl::SwitchAms(std::string ams_id)
|
||||
pos == AMSPanelPos::LEFT_PANEL ? m_down_road->UpdateLeft(m_extder_data.total_extder_count, mode)
|
||||
: m_down_road->UpdateRight(m_extder_data.total_extder_count, mode);
|
||||
if (pos == AMSPanelPos::LEFT_PANEL) {
|
||||
m_down_road->UpdatePassRoad(item->m_info.current_can_id, AMSPanelPos::LEFT_PANEL, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_down_road->UpdatePassRoad(AMSPanelPos::LEFT_PANEL, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
} else {
|
||||
m_down_road->UpdatePassRoad(item->m_info.current_can_id, AMSPanelPos::RIGHT_PANEL, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_down_road->UpdatePassRoad(AMSPanelPos::RIGHT_PANEL, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4206,26 +3897,7 @@ void AMSControl::SwitchAms(std::string ams_id)
|
||||
}
|
||||
}
|
||||
|
||||
//update extruder
|
||||
for (auto i = 0; i < m_ams_info.size(); i++) {
|
||||
if (m_ams_info[i].ams_id == ams_id) {
|
||||
switch (m_ams_info[i].current_step) {
|
||||
case AMSPassRoadSTEP::AMS_ROAD_STEP_NONE: m_extruder->TurnOff(); break;
|
||||
|
||||
case AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP1: m_extruder->TurnOff(); break;
|
||||
|
||||
case AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2: m_extruder->TurnOn(GetCanColour(ams_id, m_ams_info[i].current_can_id)); break;
|
||||
|
||||
case AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP3: m_extruder->TurnOn(GetCanColour(ams_id, m_ams_info[i].current_can_id)); break;
|
||||
}
|
||||
//SetAmsStep(ams_id, m_ams_info[i].current_can_id, AMSPassRoadType::AMS_ROAD_TYPE_LOAD, m_ams_info[i].current_step);
|
||||
}
|
||||
}
|
||||
for (auto i = 0; i < m_ext_info.size(); i++) {
|
||||
if (m_ext_info[i].ams_id == ams_id) {
|
||||
//SetAmsStep(ams_id, "0", AMSPassRoadType::AMS_ROAD_TYPE_LOAD, m_ext_info[i].current_step);
|
||||
}
|
||||
}
|
||||
post_event(SimpleEvent(EVT_AMS_SWITCH));
|
||||
}
|
||||
|
||||
void AMSControl::SetFilamentStep(int item_idx, FilamentStepType f_type)
|
||||
@ -4338,166 +4010,99 @@ bool AMSControl::Enable(bool enable)
|
||||
return wxWindow::Enable(enable);
|
||||
}
|
||||
|
||||
void AMSControl::SetExtruder(bool on_off, bool is_vams, std::string ams_now, wxColour col)
|
||||
void AMSControl::SetExtruder(bool on_off, std::string ams_id, std::string slot_id)
|
||||
{
|
||||
AmsItem* item = nullptr;
|
||||
if (m_ams_item_list.find(ams_now) != m_ams_item_list.end()){
|
||||
item = m_ams_item_list[ams_now];
|
||||
}
|
||||
if (m_ams_model == AMSModel::GENERIC_AMS || m_ext_model == AMSModel::GENERIC_AMS ) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
else if (m_ams_model == AMSModel::AMS_LITE || m_ext_model == AMSModel::AMS_LITE) {
|
||||
if (!on_off) {
|
||||
m_extruder->TurnOff();
|
||||
m_extruder->OnAmsLoading(false);
|
||||
}
|
||||
else {
|
||||
if (item) {
|
||||
m_extruder->TurnOn(col);
|
||||
m_extruder->OnAmsLoading(true, item->m_info.nozzle_id, col);
|
||||
}
|
||||
}
|
||||
} else if (m_ams_model == AMSModel::N3F_AMS || m_ams_model == AMSModel::N3S_AMS) {
|
||||
if (!on_off) {
|
||||
m_extruder->TurnOff();
|
||||
m_extruder->OnAmsLoading(false);
|
||||
} else {
|
||||
if (item) {
|
||||
m_extruder->TurnOn(col);
|
||||
m_extruder->OnAmsLoading(true, item->m_info.nozzle_id, col);
|
||||
}
|
||||
AmsItem *item = nullptr;
|
||||
if (m_ams_item_list.find(ams_id) != m_ams_item_list.end()) { item = m_ams_item_list[ams_id]; }
|
||||
|
||||
//if (m_ams_model == AMSModel::GENERIC_AMS || m_ext_model == AMSModel::GENERIC_AMS || is_vams ) {
|
||||
// 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);
|
||||
// }
|
||||
//}
|
||||
//else if (m_ams_model == AMSModel::AMS_LITE || m_ext_model == AMSModel::AMS_LITE) {
|
||||
// if (!on_off) {
|
||||
// m_extruder->TurnOff();
|
||||
// m_extruder->OnAmsLoading(false);
|
||||
// }
|
||||
// else {
|
||||
// if (item) {
|
||||
// m_extruder->TurnOn(col);
|
||||
// m_extruder->OnAmsLoading(true, item->m_info.nozzle_id, col);
|
||||
// }
|
||||
// }
|
||||
//} else if (m_ams_model == AMSModel::N3F_AMS || m_ams_model == AMSModel::N3S_AMS) {
|
||||
// if (!on_off) {
|
||||
// m_extruder->TurnOff();
|
||||
// m_extruder->OnAmsLoading(false);
|
||||
// } else {
|
||||
// if (item) {
|
||||
// m_extruder->TurnOn(col);
|
||||
// m_extruder->OnAmsLoading(true, item->m_info.nozzle_id, col);
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
if (!on_off) {
|
||||
//m_extruder->TurnOff();
|
||||
m_extruder->OnAmsLoading(false);
|
||||
} else {
|
||||
if (item) {
|
||||
auto col = item->GetTagColr(slot_id);
|
||||
//m_extruder->TurnOn(col);
|
||||
m_extruder->OnAmsLoading(true, item->m_info.nozzle_id, col);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadType type, AMSPassRoadSTEP step)
|
||||
//{
|
||||
// AmsItem *cans = nullptr;
|
||||
// auto cansit = m_ams_item_list.find(ams_id);
|
||||
// bool notfound = true;
|
||||
//
|
||||
//
|
||||
// if (cansit != m_ams_item_list.end()) {
|
||||
// cans = cansit->second;
|
||||
// }
|
||||
// else {
|
||||
// notfound = false;
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// if (ams_id != m_last_ams_id || m_last_tray_id != canid) {
|
||||
// SetAmsStep(m_last_ams_id, m_last_tray_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
// //m_down_road->UpdatePassRoad(m_last_ams_id, m_last_tray_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
// m_vams_extra_road->OnVamsLoading(false);
|
||||
// m_extruder->OnVamsLoading(false);
|
||||
// m_vams_road->OnVamsLoading(false);
|
||||
// }
|
||||
//
|
||||
// if (notfound) return;
|
||||
// if (cans == nullptr) return;
|
||||
//
|
||||
//
|
||||
// m_last_ams_id = ams_id;
|
||||
// m_last_tray_id = canid;
|
||||
//
|
||||
//
|
||||
// if (m_ams_model == AMSModel::GENERIC_AMS) {
|
||||
// if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_NONE) {
|
||||
// //cans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
// m_extruder->OnAmsLoading(false);
|
||||
// }
|
||||
//
|
||||
// if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP1) {
|
||||
// //cans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
// m_extruder->OnAmsLoading(false);
|
||||
// }
|
||||
//
|
||||
// if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2) {
|
||||
// //cans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
// //cans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
// if (m_current_show_ams == ams_id) {
|
||||
// m_extruder->OnAmsLoading(true, cans->GetTagColr(canid));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP3) {
|
||||
// //cans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
// //cans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
// //cans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_3);
|
||||
// m_extruder->OnAmsLoading(true, cans->GetTagColr(canid));
|
||||
// }
|
||||
// }
|
||||
// else if (m_ams_model == AMSModel::EXTRA_AMS) {
|
||||
// //cans->SetAmsStepExtra(canid, type, step);
|
||||
// if (step != AMSPassRoadSTEP::AMS_ROAD_STEP_NONE) {
|
||||
// m_extruder->OnAmsLoading(true, cans->GetTagColr(canid));
|
||||
// }
|
||||
// else {
|
||||
// m_extruder->OnAmsLoading(false);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// for (auto i = 0; i < m_ams_info.size(); i++) {
|
||||
// if (m_ams_info[i].ams_id == ams_id) {
|
||||
// m_ams_info[i].current_step = step;
|
||||
// m_ams_info[i].current_can_id = canid;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadType type, AMSPassRoadSTEP step)
|
||||
{
|
||||
AmsItem* ams = nullptr;
|
||||
auto amsit = m_ams_item_list.find(ams_id);
|
||||
bool notfound = false;
|
||||
bool in_same_page = false;
|
||||
|
||||
if (amsit != m_ams_item_list.end()) {
|
||||
ams = amsit->second;
|
||||
}
|
||||
else {
|
||||
notfound = true;
|
||||
}
|
||||
|
||||
if (notfound) return;
|
||||
if (amsit != m_ams_item_list.end()) {ams = amsit->second;}
|
||||
else {return;}
|
||||
if (ams == nullptr) return;
|
||||
|
||||
m_last_ams_id = ams_id;
|
||||
m_last_tray_id = canid;
|
||||
int can_index = atoi(canid.c_str());
|
||||
|
||||
std::vector<std::string> cur_left_ams;
|
||||
std::vector<std::string> cur_right_ams;
|
||||
|
||||
std::string ams_id_left = GetCurentShowAms(AMSPanelPos::LEFT_PANEL);
|
||||
std::string ams_id_right = GetCurentShowAms(AMSPanelPos::RIGHT_PANEL);
|
||||
|
||||
/*check if in same page*/
|
||||
for (auto it : pair_id) {
|
||||
if ( (it.first == ams_id_left && it.second == ams_id) || (it.first == ams_id || it.second == ams_id_left)) {
|
||||
in_same_page = true;
|
||||
continue;
|
||||
if ((ams_id_left == it.first || ams_id_left == it.second)) {
|
||||
cur_left_ams.push_back(it.first);
|
||||
cur_left_ams.push_back(it.second);
|
||||
}
|
||||
|
||||
if ((it.first == ams_id_right && it.second == ams_id) || (it.first == ams_id || it.second == ams_id_right)) {
|
||||
in_same_page = true;
|
||||
continue;
|
||||
else if ((ams_id_right == it.first || ams_id_right == it.second)) {
|
||||
cur_right_ams.push_back(it.first);
|
||||
cur_right_ams.push_back(it.second);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
auto left = !IsAmsInRightPanel(ams_id);
|
||||
auto length = -1;
|
||||
auto model = AMSModel::AMS_LITE;
|
||||
|
||||
bool left = !IsAmsInRightPanel(ams_id);
|
||||
if (std::find(cur_left_ams.begin(), cur_left_ams.end(), ams_id) != cur_left_ams.end()) {
|
||||
in_same_page = true;
|
||||
}
|
||||
|
||||
int length = -1;
|
||||
if (std::find(cur_right_ams.begin(), cur_right_ams.end(), ams_id) != cur_right_ams.end()) {
|
||||
in_same_page = true;
|
||||
}
|
||||
|
||||
//Set path length in different case
|
||||
if (ams->m_info.cans.size() == GENERIC_AMS_SLOT_NUM){
|
||||
@ -4526,7 +4131,7 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
||||
}
|
||||
|
||||
if (model == EXT_AMS && ams->m_info.ext_type == AMSModelOriginType::GENERIC_EXT){
|
||||
length = 82;
|
||||
length = left ? 192 : 82;
|
||||
}
|
||||
|
||||
for (auto i = 0; i < m_ams_info.size(); i++) {
|
||||
@ -4547,8 +4152,7 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
||||
if (m_ams_item_list.find(ams_id) != m_ams_item_list.end()) {
|
||||
info = m_ams_item_list[ams_id]->m_info;
|
||||
}
|
||||
else
|
||||
{
|
||||
else{
|
||||
return;
|
||||
}
|
||||
if (can_index >= 0 && can_index < info.cans.size())
|
||||
@ -4562,7 +4166,7 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
||||
//cans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
if (ams_id_left == ams_id || ams_id_right == ams_id || in_same_page) {
|
||||
m_down_road->UpdatePassRoad(canid, pos, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_down_road->UpdatePassRoad(pos, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_extruder->OnAmsLoading(false, ams->m_info.nozzle_id);
|
||||
}
|
||||
}
|
||||
@ -4570,36 +4174,36 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP1) {
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
if (ams_id_left == ams_id || ams_id_right == ams_id || in_same_page) {
|
||||
m_down_road->UpdatePassRoad(canid, pos, length, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
m_down_road->UpdatePassRoad(pos, length, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
m_extruder->OnAmsLoading(false, ams->m_info.nozzle_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_down_road->UpdatePassRoad(canid, pos, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
m_down_road->UpdatePassRoad(pos, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
}
|
||||
}
|
||||
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2) {
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
if (ams_id_left == ams_id || ams_id_right == ams_id || in_same_page) {
|
||||
m_down_road->UpdatePassRoad(canid, pos, length, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
m_down_road->UpdatePassRoad(pos, length, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
m_extruder->OnAmsLoading(true, ams->m_info.nozzle_id, ams->GetTagColr(canid));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_down_road->UpdatePassRoad(canid, pos, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
m_down_road->UpdatePassRoad(pos, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
}
|
||||
}
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP3) {
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_3);
|
||||
if (ams_id_left == ams_id || ams_id_right == ams_id || in_same_page)
|
||||
{
|
||||
m_down_road->UpdatePassRoad(canid, pos, length, AMSPassRoadSTEP::AMS_ROAD_STEP_3);
|
||||
m_down_road->UpdatePassRoad(pos, length, AMSPassRoadSTEP::AMS_ROAD_STEP_3);
|
||||
m_extruder->OnAmsLoading(true, ams->m_info.nozzle_id, ams->GetTagColr(canid));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_down_road->UpdatePassRoad(canid, pos, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_3);
|
||||
m_down_road->UpdatePassRoad(pos, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -39,9 +39,6 @@ protected:
|
||||
std::vector<AMSinfo> m_ext_info;
|
||||
std::map<std::string, AmsItem*> m_ams_item_list;
|
||||
std::map<std::string, AMSExtImage*> m_ext_image_list;
|
||||
//std::map<std::string, AmsItem*> m_ams_generic_item_list;
|
||||
//std::map<std::string, AmsItem*> m_ams_extra_item_list;
|
||||
//std::map<std::string, Ams*> m_ams_list;
|
||||
|
||||
ExtderData m_extder_data;
|
||||
std::string m_dev_id;
|
||||
@ -76,16 +73,11 @@ protected:
|
||||
//wxSimplebook *m_simplebook_right{nullptr};
|
||||
wxSimplebook *m_simplebook_ams_left{nullptr};
|
||||
wxSimplebook *m_simplebook_ams_right{ nullptr };
|
||||
wxSimplebook *m_simplebook_bottom{nullptr};
|
||||
wxPanel *m_panel_down_road{ nullptr };
|
||||
int m_left_page_index = 0;
|
||||
int m_right_page_index = 0;
|
||||
|
||||
//wxSimplebook* m_simplebook_generic_cans_left{ nullptr };
|
||||
//wxSimplebook* m_simplebook_extra_cans_left {nullptr};
|
||||
//wxSimplebook* m_simplebook_generic_cans_right{ nullptr };
|
||||
//wxSimplebook* m_simplebook_extra_cans_right{ nullptr };
|
||||
|
||||
wxSimplebook *m_simplebook_bottom{nullptr};
|
||||
|
||||
wxStaticText *m_tip_right_top{nullptr};
|
||||
Label *m_tip_load_info{nullptr};
|
||||
@ -158,7 +150,6 @@ public:
|
||||
void SetFilamentStep(int item_idx, FilamentStepType f_type);
|
||||
void ShowFilamentTip(bool hasams = true);
|
||||
|
||||
void UpdateStepCtrl(bool is_extrusion_exist);
|
||||
void UpdatePassRoad(string ams_id, AMSPassRoadType type, AMSPassRoadSTEP step);
|
||||
void CreateAms();
|
||||
void CreateAmsDoubleNozzle();
|
||||
@ -175,7 +166,7 @@ public:
|
||||
void AddAms(std::vector<AMSinfo>single_info, AMSPanelPos pos = AMSPanelPos::LEFT_PANEL);
|
||||
void AddAmsPreview(std::vector<AMSinfo>single_info, AMSPanelPos pos);
|
||||
//void AddExtraAms(std::vector<AMSinfo>single_info);
|
||||
void SetExtruder(bool on_off, bool is_vams, std::string ams_now, wxColour col);
|
||||
void SetExtruder(bool on_off, std::string ams_id, std::string slot_id);
|
||||
void SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadType type, AMSPassRoadSTEP step);
|
||||
void SwitchAms(std::string ams_id);
|
||||
|
||||
|
@ -32,6 +32,7 @@ namespace Slic3r { namespace GUI {
|
||||
wxDEFINE_EVENT(EVT_AMS_SHOW_HUMIDITY_TIPS, wxCommandEvent);
|
||||
wxDEFINE_EVENT(EVT_AMS_UNSELETED_VAMS, wxCommandEvent);
|
||||
wxDEFINE_EVENT(EVT_CLEAR_SPEED_CONTROL, wxCommandEvent);
|
||||
wxDEFINE_EVENT(EVT_AMS_SWITCH, SimpleEvent);
|
||||
|
||||
|
||||
#define AMS_CANS_SIZE wxSize(FromDIP(284), -1)
|
||||
@ -444,9 +445,11 @@ Description:AMSextruder
|
||||
**************************************************/
|
||||
void AMSextruderImage::OnAmsLoading(bool load, wxColour col)
|
||||
{
|
||||
m_ams_loading = load;
|
||||
m_colour = col;
|
||||
Refresh();
|
||||
if (m_ams_loading != load || m_colour != col) {
|
||||
m_ams_loading = load;
|
||||
m_colour = col;
|
||||
Refresh();
|
||||
}
|
||||
}
|
||||
|
||||
void AMSextruderImage::TurnOff()
|
||||
@ -694,13 +697,17 @@ void AMSextruder::OnAmsLoading(bool load, int nozzle_id, wxColour col /*= AMS_CO
|
||||
if (load) m_current_colur_deputy = col;
|
||||
}
|
||||
else if (m_nozzle_num > 1){
|
||||
if (nozzle_id == 0) {
|
||||
if (nozzle_id == MAIN_NOZZLE_ID) {
|
||||
m_right_extruder->OnAmsLoading(load, col);
|
||||
if (load) m_current_colur = col;
|
||||
if (m_current_colur != col){
|
||||
if (load) m_current_colur = col;
|
||||
}
|
||||
}
|
||||
else {
|
||||
else if(nozzle_id == DEPUTY_NOZZLE_ID) {
|
||||
m_left_extruder->OnAmsLoading(load, col);
|
||||
if (load) m_current_colur_deputy = col;
|
||||
if (m_current_colur_deputy != col) {
|
||||
if (load) m_current_colur_deputy = col;
|
||||
}
|
||||
}
|
||||
}
|
||||
Refresh();
|
||||
@ -2418,11 +2425,23 @@ void AMSRoadDownPart::doRender(wxDC& dc)
|
||||
dc.SetPen(wxPen(m_road_color[0], 4, wxSOLID));
|
||||
if (m_right_road_length > 0) {
|
||||
if (m_right_rode_mode == AMSRoadShowMode::AMS_ROAD_MODE_AMS_LITE){
|
||||
dc.DrawLine(right_nozzle_pos.x, 0, right_nozzle_pos.x, size.y / 2);
|
||||
xpos = left_nozzle_pos.x;
|
||||
if (m_nozzle_num >= 2) xpos = right_nozzle_pos.x;
|
||||
dc.DrawLine(xpos, size.y / 2, right_nozzle_pos.x, size.y / 2);
|
||||
dc.DrawLine(xpos, size.y / 2, xpos, size.y);
|
||||
/* dc.SetPen(wxPen(*wxRED));
|
||||
dc.DrawLine(right_nozzle_pos.x, 0, right_nozzle_pos.x + , size.y / 2);
|
||||
xpos = left_nozzle_pos.x;
|
||||
if (m_nozzle_num >= 2) xpos = right_nozzle_pos.x;
|
||||
dc.SetPen(wxPen(*wxGREEN));
|
||||
dc.DrawLine(xpos, size.y / 2, right_nozzle_pos.x, size.y / 2);
|
||||
dc.SetPen(wxPen(*wxYELLOW));
|
||||
dc.DrawLine(xpos, size.y / 2, xpos, size.y);*/
|
||||
int x = left_nozzle_pos.x;
|
||||
int len = m_right_road_length;
|
||||
if (m_nozzle_num == 2) {
|
||||
x = right_nozzle_pos.x;
|
||||
len = len - 14;
|
||||
}
|
||||
dc.DrawLine(((x)), (size.y / 2), x + FromDIP(len), (size.y / 2));
|
||||
dc.DrawLine(x + FromDIP(len), (0), x + FromDIP(len), (size.y / 2));
|
||||
dc.DrawLine((x), (size.y / 2), (x), (size.y));
|
||||
}
|
||||
else{
|
||||
int x = left_nozzle_pos.x;
|
||||
@ -2453,7 +2472,7 @@ void AMSRoadDownPart::doRender(wxDC& dc)
|
||||
}
|
||||
}
|
||||
|
||||
void AMSRoadDownPart::UpdatePassRoad(string can_id, AMSPanelPos pos, int len, AMSPassRoadSTEP step) {
|
||||
void AMSRoadDownPart::UpdatePassRoad(AMSPanelPos pos, int len, AMSPassRoadSTEP step) {
|
||||
if (m_nozzle_num >= 2){
|
||||
if (pos == AMSPanelPos::LEFT_PANEL){
|
||||
m_left_road_length = len;;
|
||||
|
@ -586,7 +586,7 @@ public:
|
||||
void OnVamsLoading(bool load, wxColour col = AMS_CONTROL_GRAY500);
|
||||
void SetPassRoadColour(bool left, wxColour col);
|
||||
void SetShowMode(AMSRoadShowMode left_mode, AMSRoadShowMode right_mode);
|
||||
void UpdatePassRoad(string can_id, AMSPanelPos pos, int len, AMSPassRoadSTEP step);
|
||||
void UpdatePassRoad(AMSPanelPos pos, int len, AMSPassRoadSTEP step);
|
||||
|
||||
void paintEvent(wxPaintEvent& evt);
|
||||
void render(wxDC& dc);
|
||||
@ -752,8 +752,7 @@ wxDECLARE_EVENT(EVT_AMS_UNSELETED_VAMS, wxCommandEvent);
|
||||
wxDECLARE_EVENT(EVT_AMS_UNSELETED_AMS, wxCommandEvent);
|
||||
wxDECLARE_EVENT(EVT_CLEAR_SPEED_CONTROL, wxCommandEvent);
|
||||
wxDECLARE_EVENT(EVT_VAMS_ON_FILAMENT_EDIT, wxCommandEvent);
|
||||
|
||||
|
||||
wxDECLARE_EVENT(EVT_AMS_SWITCH, SimpleEvent);
|
||||
|
||||
}} // namespace Slic3r::GUI
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user