FIX: Ams control display
jira: NONE Change-Id: I221eb4167dad894c9e7f32141d33c5c96934df96
This commit is contained in:
parent
733cb96805
commit
065c8d029e
|
@ -0,0 +1,7 @@
|
|||
<svg width="37" height="141" viewBox="0 0 37 141" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M20.981 21.3223L36.981 22.8848V29.7598L20.981 31.3223V21.3223Z" fill="#ACACAC"/>
|
||||
<path d="M20.981 121.322L36.981 122.885V129.76L20.981 131.322V121.322Z" fill="#ACACAC"/>
|
||||
<path d="M7.98096 31.3223L7.98096 21.3223L0.980957 22.1035L0.980956 30.541L7.98096 31.3223Z" fill="#ACACAC"/>
|
||||
<path d="M7.98096 131.322L7.98096 121.322L0.980957 122.104L0.980956 130.541L7.98096 131.322Z" fill="#ACACAC"/>
|
||||
<rect x="7.98096" y="0.322266" width="19" height="140" rx="9.5" fill="#CECECE"/>
|
||||
</svg>
|
After Width: | Height: | Size: 586 B |
|
@ -2590,9 +2590,12 @@ void StatusPanel::update_ams(MachineObject *obj)
|
|||
AMSModel ams_mode = AMSModel::GENERIC_AMS;
|
||||
|
||||
if (obj) {
|
||||
if (obj->get_printer_ams_type() == "f1") { ams_mode = AMSModel::EXTRA_AMS; }
|
||||
if (obj->get_printer_ams_type() == "f1") { ams_mode = AMSModel::AMS_LITE; }
|
||||
else if(obj->get_printer_ams_type() == "generic") { ams_mode = AMSModel::GENERIC_AMS; }
|
||||
}
|
||||
if (obj->is_enable_np && obj->amsList.size() > 0){
|
||||
ams_mode = AMSModel(obj->amsList[0]->type);
|
||||
}
|
||||
|
||||
if (!obj
|
||||
|| !obj->is_connected()
|
||||
|
@ -2609,7 +2612,8 @@ void StatusPanel::update_ams(MachineObject *obj)
|
|||
}
|
||||
|
||||
|
||||
m_ams_control->SetAmsModel(AMSModel::NO_AMS, ams_mode);
|
||||
m_ams_control->SetAmsModel(AMSModel::EXT_AMS, ams_mode);
|
||||
|
||||
show_ams_group(false);
|
||||
m_ams_control->show_auto_refill(false);
|
||||
}
|
||||
|
@ -2630,6 +2634,9 @@ void StatusPanel::update_ams(MachineObject *obj)
|
|||
AMSinfo info;
|
||||
info.ams_id = ams->first;
|
||||
if (ams->second->is_exists && info.parse_ams_info(obj, ams->second, obj->ams_calibrate_remain_flag, obj->is_support_ams_humidity)) {
|
||||
if (ams_mode == AMSModel::AMS_LITE) {
|
||||
info.ams_type = AMSModel::AMS_LITE;
|
||||
}
|
||||
ams_info.push_back(info);
|
||||
}
|
||||
}
|
||||
|
@ -3865,6 +3872,8 @@ void StatusPanel::on_ams_selected(wxCommandEvent &event)
|
|||
{
|
||||
if (obj) {
|
||||
std::string curr_ams_id = m_ams_control->GetCurentAms();
|
||||
std::string curr_selected_ams_id = std::to_string(event.GetInt());
|
||||
|
||||
if (curr_ams_id.compare(std::to_string(VIRTUAL_TRAY_MAIN_ID)) == 0) {
|
||||
//update_ams_control_state(curr_ams_id, true);
|
||||
return;
|
||||
|
@ -3897,7 +3906,7 @@ void StatusPanel::on_ams_guide(wxCommandEvent& event)
|
|||
if (m_ams_control && m_ams_control->m_is_none_ams_mode == AMSModel::GENERIC_AMS) {
|
||||
ams_wiki_url = "https://wiki.bambulab.com/en/software/bambu-studio/use-ams-on-bambu-studio";
|
||||
}
|
||||
else if (m_ams_control && m_ams_control->m_is_none_ams_mode == AMSModel::EXTRA_AMS) {
|
||||
else if (m_ams_control && m_ams_control->m_is_none_ams_mode == AMSModel::AMS_LITE) {
|
||||
ams_wiki_url = "https://wiki.bambulab.com/en/ams-lite";
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -2412,6 +2412,7 @@ Description:AMSControl
|
|||
// WX_DEFINE_OBJARRAY(AmsItemsHash);
|
||||
#define AMS_CANS_SIZE wxSize(FromDIP(284), -1)
|
||||
#define AMS_CANS_WINDOW_SIZE wxSize(FromDIP(264), -1)
|
||||
#define SINGLE_SLOT_AMS_PANEL_SIZE wxSize(FromDIP(264), (160))
|
||||
AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size)
|
||||
: wxSimplebook(parent, wxID_ANY, pos, size)
|
||||
, m_Humidity_tip_popup(AmsHumidityTipPopup(this))
|
||||
|
@ -2528,7 +2529,7 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
m_panel_down_road->SetBackgroundColour(AMS_CONTROL_DEF_BLOCK_BK_COLOUR);
|
||||
|
||||
m_down_road = new AMSRoadDownPart(m_panel_down_road, wxID_ANY, wxDefaultPosition, AMS_DOWN_ROAD_SIZE);
|
||||
m_sizer_down_road->Add(m_panel_down_road, 0, wxALIGN_CENTER, 0);
|
||||
m_sizer_down_road->Add(m_panel_down_road, 0, wxALIGN_CENTER_HORIZONTAL | wxTOP, 0);
|
||||
|
||||
// ams mode
|
||||
//m_simplebook_ams_left = new wxSimplebook(m_simplebook_ams_left, wxID_ANY, wxDefaultPosition, AMS_CANS_WINDOW_SIZE, 0);
|
||||
|
@ -2562,8 +2563,8 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
m_sizer_option_right->SetMinSize( wxSize( AMS_CANS_SIZE.x,-1 ) );*/
|
||||
/*m_sizer_option_left->SetMinSize(wxSize(FromDIP(239), -1));
|
||||
m_sizer_option_right->SetMinSize(wxSize(FromDIP(239), -1));*/
|
||||
m_sizer_option_left->SetMinSize(wxSize(FromDIP(180), -1));
|
||||
//m_sizer_option_right->SetMinSize(wxSize(FromDIP(120), -1));
|
||||
m_sizer_option_left->SetMinSize(wxSize(FromDIP(140), -1));
|
||||
m_sizer_option_right->SetMinSize(wxSize(FromDIP(140), -1));
|
||||
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(AMS_CONTROL_DISABLE_COLOUR, StateColor::Disabled),
|
||||
std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
|
@ -2599,7 +2600,7 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
// m_img_ams_backup->Bind(wxEVT_ENTER_WINDOW, [this](auto& e) {SetCursor(wxCURSOR_HAND); });
|
||||
// m_img_ams_backup->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {SetCursor(wxCURSOR_ARROW); });
|
||||
// m_img_ams_backup->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {post_event(SimpleEvent(EVT_AMS_FILAMENT_BACKUP)); });
|
||||
m_sizer_option_left->Add(m_button_auto_refill, 0, wxLEFT, 0);
|
||||
m_sizer_option_left->Add(m_button_auto_refill, 0, wxALIGN_CENTER, 0);
|
||||
|
||||
m_button_ams_setting_normal = ScalableBitmap(this, "ams_setting_normal", 24);
|
||||
m_button_ams_setting_hover = ScalableBitmap(this, "ams_setting_hover", 24);
|
||||
|
@ -2607,7 +2608,7 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
|
||||
m_button_ams_setting = new wxStaticBitmap(m_amswin, wxID_ANY, m_button_ams_setting_normal.bmp(), wxDefaultPosition, wxSize(FromDIP(24), FromDIP(24)));
|
||||
m_button_ams_setting->SetBackgroundColour(m_amswin->GetBackgroundColour());
|
||||
m_sizer_option_left->Add(m_button_ams_setting, 0, wxLEFT, FromDIP(5));
|
||||
m_sizer_option_left->Add(m_button_ams_setting, 0, wxALIGN_CENTER|wxLEFT, FromDIP(5));
|
||||
|
||||
|
||||
/*option mid*/
|
||||
|
@ -2657,15 +2658,15 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
|
||||
|
||||
//m_sizer_option_right->Add(0, 0, 1, wxEXPAND, 0);
|
||||
m_sizer_option_right->Add(m_button_extruder_back, 0, wxLEFT, FromDIP(60));
|
||||
m_sizer_option_right->Add(m_button_extruder_back, 0, wxLEFT, FromDIP(0));
|
||||
m_sizer_option_right->Add(m_button_extruder_feed, 0, wxLEFT, FromDIP(5));
|
||||
|
||||
|
||||
m_sizer_ams_option->Add(m_sizer_option_left, 0, wxEXPAND, 0);
|
||||
m_sizer_ams_option->Add(m_sizer_option_left, 0, wxLEFT, 0);
|
||||
//m_sizer_ams_option->Add(m_sizer_option_mid, 1, wxEXPAND, 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(60));
|
||||
//m_sizer_ams_option->Add(m_sizer_option_right, 0, wxEXPAND, 0);
|
||||
m_sizer_ams_option->Add(m_sizer_option_right, 0, wxLEFT, 0);
|
||||
m_sizer_ams_option->Add(m_sizer_option_right, 0, wxALIGN_CENTER, 0);
|
||||
|
||||
|
||||
|
||||
|
@ -2890,7 +2891,7 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
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, 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);
|
||||
|
@ -2943,6 +2944,7 @@ 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) {
|
||||
|
@ -2968,13 +2970,8 @@ AMSControl::~AMSControl() {
|
|||
m_simplebook_ams_right->DeleteAllPages();*/
|
||||
}
|
||||
|
||||
std::string AMSControl::GetCurentAms(bool right_panel) {
|
||||
if (right_panel){
|
||||
return m_current_ams_right;
|
||||
}
|
||||
else{
|
||||
return m_current_ams_left;
|
||||
}
|
||||
std::string AMSControl::GetCurentAms() {
|
||||
return m_current_ams;
|
||||
}
|
||||
std::string AMSControl::GetCurentShowAms(bool right_panel) {
|
||||
if (right_panel){
|
||||
|
@ -3017,6 +3014,37 @@ bool AMSControl::IsAmsInRightPanel(std::string ams_id) {
|
|||
}
|
||||
}
|
||||
|
||||
void AMSControl::AmsSelectedSwitch(wxCommandEvent& event) {
|
||||
std::string ams_id_selected = std::to_string(event.GetInt());
|
||||
if (m_current_ams != ams_id_selected){
|
||||
m_current_ams = ams_id_selected;
|
||||
}
|
||||
if (m_current_show_ams_left != ams_id_selected){
|
||||
auto item = m_ams_item_list[m_current_show_ams_left];
|
||||
if (!item) return;
|
||||
try{
|
||||
for (auto can : item->m_can_lib_list){
|
||||
can.second->UnSelected();
|
||||
}
|
||||
}
|
||||
catch (...){
|
||||
;
|
||||
}
|
||||
}
|
||||
else if (m_current_show_ams_right != ams_id_selected){
|
||||
auto item = m_ams_item_list[m_current_show_ams_right];
|
||||
if (!item) return;
|
||||
try {
|
||||
for (auto can : item->m_can_lib_list) {
|
||||
can.second->UnSelected();
|
||||
}
|
||||
}
|
||||
catch (...) {
|
||||
;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
wxColour AMSControl::GetCanColour(std::string amsid, std::string canid)
|
||||
{
|
||||
wxColour col = *wxWHITE;
|
||||
|
@ -3044,7 +3072,7 @@ void AMSControl::SetActionState(bool button_status[])
|
|||
void AMSControl::EnterNoneAMSMode()
|
||||
{
|
||||
//m_vams_lib->m_ams_model = m_ext_model;
|
||||
if(m_is_none_ams_mode == AMSModel::NO_AMS) return;
|
||||
if(m_is_none_ams_mode == AMSModel::EXT_AMS) return;
|
||||
m_panel_items_left->Hide();
|
||||
|
||||
m_simplebook_ams_left->SetSelection(0);
|
||||
|
@ -3058,7 +3086,7 @@ void AMSControl::EnterNoneAMSMode()
|
|||
m_amswin->Layout();
|
||||
m_amswin->Fit();
|
||||
Layout();
|
||||
m_is_none_ams_mode = AMSModel::NO_AMS;
|
||||
m_is_none_ams_mode = AMSModel::EXT_AMS;
|
||||
}
|
||||
|
||||
void AMSControl::EnterGenericAMSMode()
|
||||
|
@ -3091,7 +3119,7 @@ void AMSControl::EnterGenericAMSMode()
|
|||
void AMSControl::EnterExtraAMSMode()
|
||||
{
|
||||
//m_vams_lib->m_ams_model = m_ext_model;
|
||||
if(m_is_none_ams_mode == AMSModel::EXTRA_AMS) return;
|
||||
if(m_is_none_ams_mode == AMSModel::AMS_LITE) return;
|
||||
m_panel_items_left->Hide();
|
||||
|
||||
|
||||
|
@ -3114,7 +3142,7 @@ void AMSControl::EnterExtraAMSMode()
|
|||
m_amswin->Fit();
|
||||
Layout();
|
||||
Refresh(true);
|
||||
m_is_none_ams_mode = AMSModel::EXTRA_AMS;
|
||||
m_is_none_ams_mode = AMSModel::AMS_LITE;
|
||||
|
||||
}
|
||||
|
||||
|
@ -3146,19 +3174,30 @@ void AMSControl::msw_rescale()
|
|||
m_button_ams_setting->SetBitmap(m_button_ams_setting_normal.bmp());
|
||||
|
||||
m_extruder->msw_rescale();
|
||||
m_vams_extra_road->msw_rescale();
|
||||
if (m_vams_extra_road) m_vams_extra_road->msw_rescale();
|
||||
|
||||
m_button_extruder_feed->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
m_button_extruder_back->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
m_button_auto_refill->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
m_button_ams_setting->SetMinSize(wxSize(FromDIP(25), FromDIP(24)));
|
||||
m_button_guide->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
m_button_retry->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
m_vams_lib->msw_rescale();
|
||||
|
||||
if (m_button_extruder_feed) m_button_extruder_feed->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
if (m_button_extruder_back) m_button_extruder_back->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
if (m_button_auto_refill) m_button_auto_refill->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
if (m_button_ams_setting) m_button_ams_setting->SetMinSize(wxSize(FromDIP(25), FromDIP(24)));
|
||||
if (m_button_guide) m_button_guide->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
if (m_button_retry) m_button_retry->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
if (m_vams_lib) m_vams_lib->msw_rescale();
|
||||
|
||||
|
||||
for (auto ams_item : m_ams_item_list) {
|
||||
ams_item.second->msw_rescale();
|
||||
if (ams_item.second){
|
||||
ams_item.second->msw_rescale();
|
||||
}
|
||||
}
|
||||
for (auto ams_prv : m_ams_preview_list) {
|
||||
if (ams_prv.second){
|
||||
ams_prv.second->msw_rescale();
|
||||
}
|
||||
}
|
||||
if (m_down_road){
|
||||
m_down_road->msw_rescale();
|
||||
}
|
||||
|
||||
Layout();
|
||||
|
@ -3233,41 +3272,32 @@ void AMSControl::UpdateStepCtrl(bool is_extrusion)
|
|||
void AMSControl::UpdatePassRoad(string ams_id, AMSPassRoadType type, AMSPassRoadSTEP step) {
|
||||
bool left = false;
|
||||
int len = -1;
|
||||
for (auto id : m_item_ids[0])
|
||||
{
|
||||
if (ams_id == id)
|
||||
{
|
||||
for (auto id : m_item_ids[0]){
|
||||
if (ams_id == id){
|
||||
left = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (m_ams_item_list[ams_id]->m_info.cans.size() == 4)
|
||||
{
|
||||
if (m_ams_item_list[ams_id]->m_info.cans.size() == 4){
|
||||
len = 133;
|
||||
}
|
||||
else
|
||||
{
|
||||
for (auto pairId : pair_id)
|
||||
{
|
||||
else{
|
||||
for (auto pairId : pair_id){
|
||||
if (pairId.first == ams_id) {
|
||||
len = 72;
|
||||
break;
|
||||
}
|
||||
if (pairId.second == ams_id)
|
||||
{
|
||||
if (pairId.second == ams_id){
|
||||
len = 188;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (len == -1)
|
||||
{
|
||||
if (left)
|
||||
{
|
||||
if (len == -1){
|
||||
if (left){
|
||||
len = 213;
|
||||
}
|
||||
else
|
||||
{
|
||||
else{
|
||||
len = 72;
|
||||
}
|
||||
}
|
||||
|
@ -3349,7 +3379,6 @@ void AMSControl::CreateAmsNew()
|
|||
Freeze();
|
||||
for (auto ams_info = m_ams_info.begin(); ams_info != m_ams_info.end(); ams_info++)
|
||||
{
|
||||
|
||||
if (first_left_page && ams_info->nozzle_id == 1) {
|
||||
first_left_page = false;
|
||||
left_init_mode = ams_info->cans.size() == 4 ? AMSRoadShowMode::AMS_ROAD_MODE_FOUR : AMSRoadShowMode::AMS_ROAD_MODE_SINGLE;
|
||||
|
@ -3358,11 +3387,11 @@ void AMSControl::CreateAmsNew()
|
|||
{
|
||||
if (first_right_page && ams_info->nozzle_id == 0) {
|
||||
first_right_page = false;
|
||||
right_init_mode = AMSRoadShowMode::AMS_ROAD_MODE_FOUR;
|
||||
right_init_mode = ams_info->ams_type == AMSModel::AMS_LITE ? AMSRoadShowMode::AMS_ROAD_MODE_EXTRA_AMS : AMSRoadShowMode::AMS_ROAD_MODE_FOUR;
|
||||
}
|
||||
if (first_left_page && ams_info->nozzle_id == 1) {
|
||||
first_left_page = false;
|
||||
left_init_mode = AMSRoadShowMode::AMS_ROAD_MODE_FOUR;
|
||||
left_init_mode = ams_info->ams_type == AMSModel::AMS_LITE ? AMSRoadShowMode::AMS_ROAD_MODE_EXTRA_AMS : AMSRoadShowMode::AMS_ROAD_MODE_FOUR;
|
||||
}
|
||||
AddAmsPreview(*ams_info, ams_info->ams_type);
|
||||
AddAms(*ams_info);
|
||||
|
@ -3420,7 +3449,7 @@ void AMSControl::CreateAmsNew()
|
|||
}
|
||||
pair_id.push_back(std::make_pair(single_info_right[0].ams_id, single_info_right[1].ams_id));
|
||||
}
|
||||
AddAmsPreview(ext_info, AMSModel::NO_AMS);
|
||||
AddAmsPreview(ext_info, AMSModel::EXT_AMS);
|
||||
AddAms(single_info_right);
|
||||
single_info_right.clear();
|
||||
|
||||
|
@ -3439,7 +3468,7 @@ void AMSControl::CreateAmsNew()
|
|||
}
|
||||
pair_id.push_back(std::make_pair(single_info_left[0].ams_id, single_info_left[1].ams_id));
|
||||
}
|
||||
AddAmsPreview(ext_info, AMSModel::NO_AMS);
|
||||
AddAmsPreview(ext_info, AMSModel::EXT_AMS);
|
||||
AddAms(single_info_left);
|
||||
single_info_left.clear();
|
||||
|
||||
|
@ -3448,6 +3477,7 @@ void AMSControl::CreateAmsNew()
|
|||
m_simplebook_ams_left->Hide();
|
||||
m_panel_items_left->Hide();
|
||||
}
|
||||
|
||||
else if(m_nozzle_num > 1) {
|
||||
m_sizer_items_left->Layout();
|
||||
m_sizer_items_right->Layout();
|
||||
|
@ -3462,8 +3492,24 @@ void AMSControl::CreateAmsNew()
|
|||
}
|
||||
m_extruder->update(2);
|
||||
auto it = m_ams_item_list.begin();
|
||||
|
||||
m_current_show_ams_left = "-1";
|
||||
m_current_show_ams_right = "-1";
|
||||
for (auto it = m_ams_item_list.begin(); it != m_ams_item_list.end(); it++)
|
||||
{
|
||||
if (it->second->m_info.nozzle_id == 1 && m_current_show_ams_left == "-1"){
|
||||
m_current_show_ams_left = it->second->m_info.ams_id;
|
||||
}
|
||||
if (it->second->m_info.nozzle_id == 0 && m_current_show_ams_right == "-1"){
|
||||
m_current_show_ams_right = it->second->m_info.ams_id;
|
||||
}
|
||||
}
|
||||
m_current_ams = "-1";
|
||||
m_down_road->UpdatePassRoad("0", true, -1, it->second->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_extruder->OnAmsLoading(false, 1);
|
||||
m_down_road->UpdatePassRoad("0", false, -1, (++it)->second->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_extruder->OnAmsLoading(false);
|
||||
|
||||
//Refresh();
|
||||
//Freeze();
|
||||
Thaw();
|
||||
|
@ -3482,13 +3528,13 @@ void AMSControl::CreateAmsSingleNozzle()
|
|||
for (auto ams_info = m_ams_info.begin(); ams_info != m_ams_info.end(); ams_info++){
|
||||
if (ams_info->cans.size() == 4){
|
||||
if (m_item_nums[0] <= m_item_nums[1]){
|
||||
if (m_item_nums[0] == 0) left_init_mode = AMSRoadShowMode::AMS_ROAD_MODE_FOUR;
|
||||
if (m_item_nums[0] == 0) left_init_mode = ams_info->ams_type == AMSModel::AMS_LITE ? AMSRoadShowMode::AMS_ROAD_MODE_EXTRA_AMS : AMSRoadShowMode::AMS_ROAD_MODE_FOUR;
|
||||
left = true;
|
||||
m_item_ids[0].push_back(ams_info->ams_id);
|
||||
m_item_nums[0]++;
|
||||
}
|
||||
else{
|
||||
if (m_item_nums[1] == 0) right_init_mode = AMSRoadShowMode::AMS_ROAD_MODE_FOUR;
|
||||
if (m_item_nums[1] == 0) right_init_mode = ams_info->ams_type == AMSModel::AMS_LITE ? AMSRoadShowMode::AMS_ROAD_MODE_EXTRA_AMS : AMSRoadShowMode::AMS_ROAD_MODE_FOUR;
|
||||
left = false;
|
||||
m_item_ids[1].push_back(ams_info->ams_id);
|
||||
m_item_nums[1]++;
|
||||
|
@ -3526,6 +3572,11 @@ void AMSControl::CreateAmsSingleNozzle()
|
|||
BOOST_LOG_TRIVIAL(trace) << "vt_slot empty!";
|
||||
return;
|
||||
}
|
||||
if (m_ams_info.size() > 0 && m_ams_info[0].ams_type == AMSModel::AMS_LITE){
|
||||
for (auto ext = m_ext_info.begin(); ext != m_ext_info.end(); ext++){
|
||||
ext->ext_type = AMSModelOriginType::LITE_EXT;
|
||||
}
|
||||
}
|
||||
single_info.push_back(m_ext_info[0]);
|
||||
if (m_item_nums[0] <= m_item_nums[1]){
|
||||
if (m_item_nums[0] == 0){
|
||||
|
@ -3541,7 +3592,6 @@ void AMSControl::CreateAmsSingleNozzle()
|
|||
m_item_ids[0].push_back(it.ams_id);
|
||||
}
|
||||
m_item_nums[0]++;
|
||||
|
||||
}
|
||||
else{
|
||||
if (m_item_nums[1] == 0){
|
||||
|
@ -3562,7 +3612,7 @@ void AMSControl::CreateAmsSingleNozzle()
|
|||
if (single_info.size() == 2){
|
||||
pair_id.push_back(std::make_pair(single_info[0].ams_id, single_info[1].ams_id));
|
||||
}
|
||||
AddAmsPreview(m_ext_info[0], AMSModel::NO_AMS);
|
||||
AddAmsPreview(m_ext_info[0], AMSModel::EXT_AMS);
|
||||
AddAms(single_info, left);
|
||||
|
||||
m_panel_items_left->Hide();
|
||||
|
@ -3570,6 +3620,7 @@ void AMSControl::CreateAmsSingleNozzle()
|
|||
/*m_simplebook_ams_right->Hide();
|
||||
m_panel_items_right->Hide();*/
|
||||
//m_simplebook_ams_left->Hide();
|
||||
|
||||
m_simplebook_ams_right->Hide();
|
||||
m_panel_items_right->Hide();
|
||||
m_simplebook_ams_left->SetSelection(0);
|
||||
|
@ -3594,10 +3645,26 @@ void AMSControl::CreateAmsSingleNozzle()
|
|||
m_down_road->UpdateLeft(1, left_init_mode);
|
||||
m_down_road->UpdateRight(1, right_init_mode);
|
||||
}
|
||||
|
||||
m_current_show_ams_left = "-1";
|
||||
m_current_show_ams_right = "-1";
|
||||
for (auto it = m_ams_item_list.begin(); it != m_ams_item_list.end(); it++)
|
||||
{
|
||||
if (!IsAmsInRightPanel(it->second->m_info.ams_id) && m_current_show_ams_left == "-1"){
|
||||
m_current_show_ams_left = it->second->m_info.ams_id;
|
||||
}
|
||||
if (IsAmsInRightPanel(it->second->m_info.ams_id) && m_current_show_ams_right == "-1"){
|
||||
m_current_show_ams_right = it->second->m_info.ams_id;
|
||||
}
|
||||
}
|
||||
m_current_ams = "-1";
|
||||
m_extruder->update(1);
|
||||
auto it = m_ams_item_list.begin();
|
||||
m_down_road->UpdatePassRoad("0", true, -1, it->second->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
if ((++it) != m_ams_item_list.end()){
|
||||
if (it != m_ams_item_list.end()){
|
||||
m_down_road->UpdatePassRoad("0", true, -1, it->second->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
}
|
||||
|
||||
if ((++it) != m_ams_item_list.end()) {
|
||||
m_down_road->UpdatePassRoad("0", false, -1, it->second->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
}
|
||||
|
||||
|
@ -3810,7 +3877,7 @@ void AMSControl::UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo>ex
|
|||
if (ifo.ams_id == ams_id) {
|
||||
cans->m_info = ifo;
|
||||
cans->Update(ifo);
|
||||
cans->show_sn_value(m_ams_model == AMSModel::EXTRA_AMS ? false : true);
|
||||
cans->show_sn_value(m_ams_model == AMSModel::AMS_LITE ? false : true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3819,7 +3886,7 @@ void AMSControl::UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo>ex
|
|||
if (ifo.ams_id == ams_id) {
|
||||
cans->m_info = ifo;
|
||||
cans->Update(ifo);
|
||||
cans->show_sn_value(m_ams_model == AMSModel::EXTRA_AMS ? false : true);
|
||||
cans->show_sn_value(m_ams_model == AMSModel::AMS_LITE ? false : true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3944,7 +4011,7 @@ void AMSControl::UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo>ex
|
|||
if (ifo.ams_id == ams_id) {
|
||||
cans->m_info = ifo;
|
||||
cans->Update(ifo);
|
||||
cans->show_sn_value(m_ams_model == AMSModel::EXTRA_AMS ? false : true);
|
||||
cans->show_sn_value(m_ams_model == AMSModel::AMS_LITE ? false : true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3953,7 +4020,7 @@ void AMSControl::UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo>ex
|
|||
if (ifo.ams_id == ams_id) {
|
||||
cans->m_info = ifo;
|
||||
cans->Update(ifo);
|
||||
cans->show_sn_value(m_ams_model == AMSModel::EXTRA_AMS ? false : true);
|
||||
cans->show_sn_value(m_ams_model == AMSModel::AMS_LITE ? false : true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4000,7 +4067,7 @@ void AMSControl::AddAms(AMSinfo info, bool left)
|
|||
{
|
||||
if (info.nozzle_id == 0)
|
||||
{
|
||||
ams_item = new AmsItem(m_simplebook_ams_right, info, info.ams_type);
|
||||
ams_item = new AmsItem(m_simplebook_ams_right, info, info.ams_type, AMSPanelPos::RIGHT_PANEL);
|
||||
//m_simplebook_ams_right->RemovePage(m_right_page_index);
|
||||
m_simplebook_ams_right->InsertPage(m_right_page_index, ams_item, wxEmptyString, true);
|
||||
ams_item->m_selection = m_right_page_index;
|
||||
|
@ -4008,7 +4075,7 @@ void AMSControl::AddAms(AMSinfo info, bool left)
|
|||
}
|
||||
else if (info.nozzle_id == 1)
|
||||
{
|
||||
ams_item = new AmsItem(m_simplebook_ams_left, info, info.ams_type);
|
||||
ams_item = new AmsItem(m_simplebook_ams_left, info, info.ams_type, AMSPanelPos::LEFT_PANEL);
|
||||
//m_simplebook_ams_left->RemovePage(m_left_page_index);
|
||||
m_simplebook_ams_left->InsertPage(m_left_page_index, ams_item, wxEmptyString, true);
|
||||
ams_item->m_selection = m_left_page_index;
|
||||
|
@ -4019,14 +4086,14 @@ void AMSControl::AddAms(AMSinfo info, bool left)
|
|||
{
|
||||
if (left)
|
||||
{
|
||||
ams_item = new AmsItem(m_simplebook_ams_left, info, info.ams_type);
|
||||
ams_item = new AmsItem(m_simplebook_ams_left, info, info.ams_type, AMSPanelPos::LEFT_PANEL);
|
||||
//m_simplebook_ams_left->RemovePage(m_left_page_index);
|
||||
m_simplebook_ams_left->InsertPage(m_left_page_index, ams_item, wxEmptyString, true);
|
||||
ams_item->m_selection = m_left_page_index;
|
||||
m_left_page_index++;
|
||||
}
|
||||
else {
|
||||
ams_item = new AmsItem(m_simplebook_ams_right, info, info.ams_type);
|
||||
ams_item = new AmsItem(m_simplebook_ams_right, info, info.ams_type, AMSPanelPos::RIGHT_PANEL);
|
||||
//m_simplebook_ams_right->RemovePage(m_right_page_index);
|
||||
m_simplebook_ams_right->InsertPage(m_right_page_index, ams_item, wxEmptyString, true);
|
||||
ams_item->m_selection = m_right_page_index;
|
||||
|
@ -4069,7 +4136,7 @@ void AMSControl::AddAms(std::vector<AMSinfo>single_info, bool left) {
|
|||
return;
|
||||
}
|
||||
else if (single_info.size() == 1){
|
||||
mode = AMSModel::NO_AMS;
|
||||
mode = AMSModel::EXT_AMS;
|
||||
int w = 30;
|
||||
if (m_nozzle_num == 2)
|
||||
{
|
||||
|
@ -4077,7 +4144,7 @@ void AMSControl::AddAms(std::vector<AMSinfo>single_info, bool left) {
|
|||
{
|
||||
wxPanel* book_panel = new wxPanel(m_simplebook_ams_right);
|
||||
book_panel->SetBackgroundColour(AMS_CONTROL_DEF_LIB_BK_COLOUR);
|
||||
ams_item = new AmsItem(book_panel, single_info[0], mode);
|
||||
ams_item = new AmsItem(book_panel, single_info[0], mode, AMSPanelPos::RIGHT_PANEL);
|
||||
sizer->Add(ams_item, 0, wxLEFT, FromDIP(30));
|
||||
book_panel->SetSize(wxSize(FromDIP(264), FromDIP(150)));
|
||||
book_panel->SetMinSize(wxSize(FromDIP(264), FromDIP(150)));
|
||||
|
@ -4093,7 +4160,7 @@ void AMSControl::AddAms(std::vector<AMSinfo>single_info, bool left) {
|
|||
{
|
||||
wxPanel* book_panel = new wxPanel(m_simplebook_ams_left);
|
||||
book_panel->SetBackgroundColour(AMS_CONTROL_DEF_LIB_BK_COLOUR);
|
||||
ams_item = new AmsItem(book_panel, single_info[0], mode);
|
||||
ams_item = new AmsItem(book_panel, single_info[0], mode, AMSPanelPos::LEFT_PANEL);
|
||||
sizer->Add(ams_item, 0, wxLEFT, FromDIP(30));
|
||||
book_panel->SetSize(wxSize(FromDIP(264), FromDIP(150)));
|
||||
book_panel->SetMinSize(wxSize(FromDIP(264), FromDIP(150)));
|
||||
|
@ -4106,13 +4173,11 @@ void AMSControl::AddAms(std::vector<AMSinfo>single_info, bool left) {
|
|||
m_left_page_index++;
|
||||
}
|
||||
}
|
||||
else if (m_nozzle_num == 1)
|
||||
{
|
||||
if (!left)
|
||||
{
|
||||
else if (m_nozzle_num == 1){
|
||||
if (!left){
|
||||
wxPanel* book_panel = new wxPanel(m_simplebook_ams_right);
|
||||
book_panel->SetBackgroundColour(AMS_CONTROL_DEF_LIB_BK_COLOUR);
|
||||
ams_item = new AmsItem(book_panel, single_info[0], mode);
|
||||
ams_item = new AmsItem(book_panel, single_info[0], mode, AMSPanelPos::RIGHT_PANEL);
|
||||
sizer->Add(ams_item, 0, wxLEFT, FromDIP(30));
|
||||
book_panel->SetSize(wxSize(FromDIP(264), FromDIP(150)));
|
||||
book_panel->SetMinSize(wxSize(FromDIP(264), FromDIP(150)));
|
||||
|
@ -4128,7 +4193,7 @@ void AMSControl::AddAms(std::vector<AMSinfo>single_info, bool left) {
|
|||
{
|
||||
wxPanel* book_panel = new wxPanel(m_simplebook_ams_left);
|
||||
book_panel->SetBackgroundColour(AMS_CONTROL_DEF_LIB_BK_COLOUR);
|
||||
ams_item = new AmsItem(book_panel, single_info[0], mode);
|
||||
ams_item = new AmsItem(book_panel, single_info[0], mode, AMSPanelPos::LEFT_PANEL);
|
||||
sizer->Add(ams_item, 0, wxLEFT, FromDIP(30));
|
||||
book_panel->SetSize(wxSize(FromDIP(264), FromDIP(150)));
|
||||
book_panel->SetMinSize(wxSize(FromDIP(264), FromDIP(150)));
|
||||
|
@ -4151,11 +4216,11 @@ void AMSControl::AddAms(std::vector<AMSinfo>single_info, bool left) {
|
|||
wxBoxSizer* book_sizer = new wxBoxSizer(wxVERTICAL);
|
||||
if (single_info[1].ams_id == std::to_string(VIRTUAL_TRAY_MAIN_ID) || single_info[1].ams_id == std::to_string(VIRTUAL_TRAY_DEPUTY_ID))
|
||||
{
|
||||
mode = AMSModel::NO_AMS;
|
||||
mode = AMSModel::EXT_AMS;
|
||||
}
|
||||
else
|
||||
{
|
||||
mode = AMSModel::SINGLE_AMS;
|
||||
mode = AMSModel::N3S_AMS;
|
||||
}
|
||||
if (m_nozzle_num == 2)
|
||||
{
|
||||
|
@ -4165,8 +4230,8 @@ void AMSControl::AddAms(std::vector<AMSinfo>single_info, bool left) {
|
|||
book_panel->SetBackgroundColour(AMS_CONTROL_DEF_LIB_BK_COLOUR);
|
||||
book_panel->SetSize(wxSize(FromDIP(264), FromDIP(150)));
|
||||
book_panel->SetMinSize(wxSize(FromDIP(264), FromDIP(150)));
|
||||
ams_item = new AmsItem(book_panel, single_info[0], AMSModel::SINGLE_AMS);
|
||||
ext_item = new AmsItem(book_panel, single_info[1], mode);
|
||||
ams_item = new AmsItem(book_panel, single_info[0], AMSModel::N3S_AMS, AMSPanelPos::RIGHT_PANEL);
|
||||
ext_item = new AmsItem(book_panel, single_info[1], mode, AMSPanelPos::RIGHT_PANEL);
|
||||
book_sizer->Add(ams_item);
|
||||
book_sizer->Add(ext_item);
|
||||
book_panel->SetSizer(book_sizer);
|
||||
|
@ -4184,8 +4249,8 @@ void AMSControl::AddAms(std::vector<AMSinfo>single_info, bool left) {
|
|||
book_panel->SetBackgroundColour(AMS_CONTROL_DEF_LIB_BK_COLOUR);
|
||||
book_panel->SetSize(wxSize(FromDIP(264), FromDIP(150)));
|
||||
book_panel->SetMinSize(wxSize(FromDIP(264), FromDIP(150)));
|
||||
ams_item = new AmsItem(book_panel, single_info[0], AMSModel::SINGLE_AMS);
|
||||
ext_item = new AmsItem(book_panel, single_info[1], mode);
|
||||
ams_item = new AmsItem(book_panel, single_info[0], AMSModel::N3S_AMS, AMSPanelPos::LEFT_PANEL);
|
||||
ext_item = new AmsItem(book_panel, single_info[1], mode, AMSPanelPos::LEFT_PANEL);
|
||||
book_sizer->Add(ams_item);
|
||||
book_sizer->Add(ext_item);
|
||||
book_panel->SetSizer(book_sizer);
|
||||
|
@ -4203,8 +4268,8 @@ void AMSControl::AddAms(std::vector<AMSinfo>single_info, bool left) {
|
|||
book_panel->SetBackgroundColour(AMS_CONTROL_DEF_LIB_BK_COLOUR);
|
||||
book_panel->SetSize(wxSize(FromDIP(264), FromDIP(150)));
|
||||
book_panel->SetMinSize(wxSize(FromDIP(264), FromDIP(150)));
|
||||
ams_item = new AmsItem(book_panel, single_info[0], AMSModel::SINGLE_AMS);
|
||||
ext_item = new AmsItem(book_panel, single_info[1], mode);
|
||||
ams_item = new AmsItem(book_panel, single_info[0], AMSModel::N3S_AMS, AMSPanelPos::RIGHT_PANEL);
|
||||
ext_item = new AmsItem(book_panel, single_info[1], mode, AMSPanelPos::RIGHT_PANEL);
|
||||
book_sizer->Add(ams_item);
|
||||
book_sizer->Add(ext_item);
|
||||
book_panel->SetSizer(book_sizer);
|
||||
|
@ -4222,8 +4287,8 @@ void AMSControl::AddAms(std::vector<AMSinfo>single_info, bool left) {
|
|||
book_panel->SetBackgroundColour(AMS_CONTROL_DEF_LIB_BK_COLOUR);
|
||||
book_panel->SetSize(wxSize(FromDIP(264), FromDIP(150)));
|
||||
book_panel->SetMinSize(wxSize(FromDIP(264), FromDIP(150)));
|
||||
ams_item = new AmsItem(book_panel, single_info[0], AMSModel::SINGLE_AMS);
|
||||
ext_item = new AmsItem(book_panel, single_info[1], mode);
|
||||
ams_item = new AmsItem(book_panel, single_info[0], AMSModel::N3S_AMS, AMSPanelPos::LEFT_PANEL);
|
||||
ext_item = new AmsItem(book_panel, single_info[1], mode, AMSPanelPos::LEFT_PANEL);
|
||||
book_sizer->Add(ams_item);
|
||||
book_sizer->Add(ext_item);
|
||||
book_panel->SetSizer(book_sizer);
|
||||
|
@ -4283,13 +4348,13 @@ void AMSControl::SwitchAms(std::string 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_extruder->OnAmsLoading(false);
|
||||
}
|
||||
}
|
||||
else{
|
||||
m_current_show_ams_left = ams_id;
|
||||
m_extruder->OnAmsLoading(false);
|
||||
if (m_nozzle_num > 1) m_extruder->OnAmsLoading(false, 1);
|
||||
/*if (m_nozzle_num > 1) m_extruder->OnAmsLoading(false, 1);
|
||||
else m_extruder->OnAmsLoading(false);*/
|
||||
}
|
||||
|
||||
|
||||
|
@ -4312,10 +4377,10 @@ void AMSControl::SwitchAms(std::string ams_id)
|
|||
}
|
||||
}
|
||||
if (is_in_right){
|
||||
m_current_ams_right = ams_id;
|
||||
m_current_show_ams_right = ams_id;
|
||||
}
|
||||
else{
|
||||
m_current_ams_left = ams_id;
|
||||
m_current_show_ams_left = ams_id;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
@ -4341,7 +4406,13 @@ void AMSControl::SwitchAms(std::string ams_id)
|
|||
if (item->m_info.nozzle_id == 1){
|
||||
m_simplebook_ams_left->SetSelection(item->m_selection);
|
||||
if (item->m_info.cans.size() == 4){
|
||||
m_down_road->UpdateLeft(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_FOUR);
|
||||
if (item->m_info.ams_type == AMSModel::AMS_LITE){
|
||||
m_down_road->UpdateLeft(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_EXTRA_AMS);
|
||||
}
|
||||
else{
|
||||
m_down_road->UpdateLeft(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_FOUR);
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
AMSRoadShowMode mode = AMSRoadShowMode::AMS_ROAD_MODE_SINGLE;
|
||||
|
@ -4358,7 +4429,13 @@ void AMSControl::SwitchAms(std::string ams_id)
|
|||
else if (item->m_info.nozzle_id == 0){
|
||||
m_simplebook_ams_right->SetSelection(item->m_selection);
|
||||
if (item->m_info.cans.size() == 4){
|
||||
m_down_road->UpdateRight(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_FOUR);
|
||||
if (item->m_info.ams_type == AMSModel::AMS_LITE){
|
||||
m_down_road->UpdateRight(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_EXTRA_AMS);
|
||||
}
|
||||
else{
|
||||
m_down_road->UpdateRight(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_FOUR);
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
AMSRoadShowMode mode = AMSRoadShowMode::AMS_ROAD_MODE_SINGLE;
|
||||
|
@ -4379,7 +4456,13 @@ void AMSControl::SwitchAms(std::string ams_id)
|
|||
if (id == item->m_info.ams_id){
|
||||
m_simplebook_ams_left->SetSelection(item->m_selection);
|
||||
if (item->m_info.cans.size() == 4){
|
||||
m_down_road->UpdateLeft(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_FOUR);
|
||||
if (item->m_info.ams_type == AMSModel::AMS_LITE){
|
||||
m_down_road->UpdateLeft(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_EXTRA_AMS);
|
||||
}
|
||||
else{
|
||||
m_down_road->UpdateLeft(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_FOUR);
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
AMSRoadShowMode mode = AMSRoadShowMode::AMS_ROAD_MODE_SINGLE;
|
||||
|
@ -4399,7 +4482,13 @@ void AMSControl::SwitchAms(std::string ams_id)
|
|||
if (id == item->m_info.ams_id){
|
||||
m_simplebook_ams_right->SetSelection(item->m_selection);
|
||||
if (item->m_info.cans.size() == 4){
|
||||
m_down_road->UpdateRight(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_FOUR);
|
||||
if (item->m_info.ams_type == AMSModel::AMS_LITE){
|
||||
m_down_road->UpdateRight(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_EXTRA_AMS);
|
||||
}
|
||||
else{
|
||||
m_down_road->UpdateRight(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_FOUR);
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
AMSRoadShowMode mode = AMSRoadShowMode::AMS_ROAD_MODE_SINGLE;
|
||||
|
@ -4431,12 +4520,12 @@ void AMSControl::SwitchAms(std::string ams_id)
|
|||
|
||||
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);
|
||||
//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);
|
||||
//SetAmsStep(ams_id, "0", AMSPassRoadType::AMS_ROAD_TYPE_LOAD, m_ext_info[i].current_step);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4567,12 +4656,12 @@ void AMSControl::SetExtruder(bool on_off, bool is_vams, std::string ams_now, wxC
|
|||
else {
|
||||
m_extruder->TurnOn(col);
|
||||
if (item){
|
||||
if (ams_now != GetCurentShowAms()) {
|
||||
/*if (ams_now != GetCurentShowAms()) {
|
||||
m_extruder->OnAmsLoading(false, item->m_info.nozzle_id, col);
|
||||
}
|
||||
else {
|
||||
m_extruder->OnAmsLoading(true, item->m_info.nozzle_id, col);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4588,7 +4677,7 @@ void AMSControl::SetExtruder(bool on_off, bool is_vams, std::string ams_now, wxC
|
|||
m_vams_road->OnVamsLoading(false);
|
||||
}*/
|
||||
}
|
||||
else if (m_ams_model == AMSModel::EXTRA_AMS || m_ext_model == AMSModel::EXTRA_AMS) {
|
||||
else if (m_ams_model == AMSModel::AMS_LITE || m_ext_model == AMSModel::AMS_LITE) {
|
||||
if (!on_off) {
|
||||
m_extruder->TurnOff();
|
||||
m_extruder->OnAmsLoading(false);
|
||||
|
@ -4709,14 +4798,17 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
|||
|
||||
m_last_ams_id = ams_id;
|
||||
m_last_tray_id = canid;
|
||||
auto model = AMSModel::EXTRA_AMS;
|
||||
int can_index = atoi(canid.c_str());
|
||||
std::string ams_id_left = GetCurentShowAms(false);
|
||||
std::string ams_id_right = GetCurentShowAms(true);
|
||||
auto model = AMSModel::AMS_LITE;
|
||||
|
||||
bool left = !IsAmsInRightPanel(ams_id);
|
||||
|
||||
int length = -1;
|
||||
|
||||
if (ams->m_info.cans.size() == 4){
|
||||
length = left ? 135 : 149;
|
||||
length = left ? 134 : 150;
|
||||
model = ams->m_info.ams_type;
|
||||
}
|
||||
else if (ams->m_info.cans.size() == 1){
|
||||
|
@ -4730,66 +4822,133 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
|||
break;
|
||||
}
|
||||
}
|
||||
model = AMSModel::SINGLE_AMS;
|
||||
model = AMSModel::N3S_AMS;
|
||||
}
|
||||
if (model == AMSModel::EXTRA_AMS){
|
||||
if (model == AMSModel::AMS_LITE){
|
||||
length = left ? 150 : 50;
|
||||
}
|
||||
|
||||
|
||||
if (model == AMSModel::GENERIC_AMS || model == AMSModel::N3F_AMS || model == AMSModel::EXTRA_AMS) {
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_NONE) {
|
||||
//cans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_down_road->UpdatePassRoad(canid, left, -1, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_extruder->OnAmsLoading(false, ams->m_info.nozzle_id);
|
||||
}
|
||||
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP1) {
|
||||
m_down_road->UpdatePassRoad(canid, left, length, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
m_extruder->OnAmsLoading(false, ams->m_info.nozzle_id);
|
||||
}
|
||||
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2) {
|
||||
m_down_road->UpdatePassRoad(canid, left, length, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
if (m_current_show_ams_left == ams_id || m_current_show_ams_right == ams_id) {
|
||||
m_extruder->OnAmsLoading(true, ams->m_info.nozzle_id, ams->GetTagColr(canid));
|
||||
}
|
||||
}
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP3) {
|
||||
m_down_road->UpdatePassRoad(canid, left, length, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_3);
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_3);
|
||||
m_extruder->OnAmsLoading(true, ams->m_info.nozzle_id, ams->GetTagColr(canid));
|
||||
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;
|
||||
}
|
||||
}
|
||||
else if(model == AMSModel::NO_AMS || model == AMSModel::SINGLE_AMS) {
|
||||
for (auto i = 0; i < m_ext_info.size(); i++) {
|
||||
if (m_ext_info[i].ams_id == ams_id) {
|
||||
m_ext_info[i].current_step = step;
|
||||
m_ext_info[i].current_can_id = canid;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
AMSinfo info;
|
||||
if (m_ams_item_list[ams_id] != nullptr) {
|
||||
info = m_ams_item_list[ams_id]->m_info;
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (can_index >= 0 && can_index < info.cans.size())
|
||||
{
|
||||
m_down_road->SetPassRoadColour(left, info.cans[can_index].material_colour);
|
||||
}
|
||||
|
||||
if (model == AMSModel::GENERIC_AMS || model == AMSModel::N3F_AMS || model == AMSModel::AMS_LITE) {
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_NONE) {
|
||||
//cans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_down_road->UpdatePassRoad(canid, left, -1, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_extruder->OnAmsLoading(false);
|
||||
if (ams_id_left == ams_id || ams_id_right == ams_id){
|
||||
m_down_road->UpdatePassRoad(canid, left, -1, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_extruder->OnAmsLoading(false, ams->m_info.nozzle_id);
|
||||
}
|
||||
}
|
||||
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP1) {
|
||||
m_down_road->UpdatePassRoad(canid, left, length, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
m_extruder->OnAmsLoading(false);
|
||||
if (ams_id_left == ams_id || ams_id_right == ams_id){
|
||||
m_down_road->UpdatePassRoad(canid, left, length, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
m_extruder->OnAmsLoading(false, ams->m_info.nozzle_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_down_road->UpdatePassRoad(canid, left, -1, ams->m_info, 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) {
|
||||
m_down_road->UpdatePassRoad(canid, left, length, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
m_extruder->OnAmsLoading(true, ams->m_info.nozzle_id, ams->GetTagColr(canid));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_down_road->UpdatePassRoad(canid, left, -1, ams->m_info, 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)
|
||||
{
|
||||
m_down_road->UpdatePassRoad(canid, left, length, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_3);
|
||||
m_extruder->OnAmsLoading(true, ams->m_info.nozzle_id, ams->GetTagColr(canid));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_down_road->UpdatePassRoad(canid, left, -1, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_3);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(model == AMSModel::EXT_AMS || model == AMSModel::N3S_AMS) {
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_NONE) {
|
||||
//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) {
|
||||
m_down_road->UpdatePassRoad(canid, left, -1, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_extruder->OnAmsLoading(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_down_road->UpdatePassRoad(canid, left, -1, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
}
|
||||
}
|
||||
|
||||
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) {
|
||||
m_down_road->UpdatePassRoad(canid, left, length, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
m_extruder->OnAmsLoading(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_down_road->UpdatePassRoad(canid, left, -1, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
}
|
||||
}
|
||||
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2) {
|
||||
m_down_road->UpdatePassRoad(canid, left, length, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
if (m_current_show_ams_left == ams_id || m_current_show_ams_right == ams_id) {
|
||||
if (ams_id_left == ams_id || ams_id_right == ams_id) {
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
m_extruder->OnAmsLoading(true, ams->m_info.nozzle_id, ams->GetTagColr(canid));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_down_road->UpdatePassRoad(canid, left, -1, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
}
|
||||
}
|
||||
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP3) {
|
||||
m_down_road->UpdatePassRoad(canid, left, length, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_3);
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_3);
|
||||
m_extruder->OnAmsLoading(true, ams->m_info.nozzle_id, ams->GetTagColr(canid));
|
||||
if (ams_id_left == ams_id || ams_id_right == ams_id) {
|
||||
m_down_road->UpdatePassRoad(canid, left, length, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_3);
|
||||
m_extruder->OnAmsLoading(true, ams->m_info.nozzle_id, ams->GetTagColr(canid));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_down_road->UpdatePassRoad(canid, left, -1, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4831,25 +4990,13 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
|||
// }
|
||||
//}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
for (auto i = 0; i < m_ext_info.size(); i++) {
|
||||
if (m_ext_info[i].ams_id == ams_id) {
|
||||
m_ext_info[i].current_step = step;
|
||||
m_ext_info[i].current_can_id = canid;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AMSControl::on_filament_load(wxCommandEvent &event)
|
||||
{
|
||||
m_button_extruder_back->Disable();
|
||||
for (auto i = 0; i < m_ams_info.size(); i++) {
|
||||
if (m_ams_info[i].ams_id == m_current_ams_left || m_ams_info[i].ams_id == m_current_ams_right) { m_ams_info[i].current_action = AMSAction::AMS_ACTION_LOAD; }
|
||||
if (m_ams_info[i].ams_id == m_current_ams) { m_ams_info[i].current_action = AMSAction::AMS_ACTION_LOAD; }
|
||||
}
|
||||
post_event(SimpleEvent(EVT_AMS_LOAD));
|
||||
}
|
||||
|
@ -4857,7 +5004,7 @@ void AMSControl::on_filament_load(wxCommandEvent &event)
|
|||
void AMSControl::on_extrusion_cali(wxCommandEvent &event)
|
||||
{
|
||||
for (auto i = 0; i < m_ams_info.size(); i++) {
|
||||
if (m_ams_info[i].ams_id == m_current_ams_left || m_ams_info[i].ams_id == m_current_ams_right) { m_ams_info[i].current_action = AMSAction::AMS_ACTION_CALI; }
|
||||
if (m_ams_info[i].ams_id == m_current_ams) { m_ams_info[i].current_action = AMSAction::AMS_ACTION_CALI; }
|
||||
}
|
||||
post_event(SimpleEvent(EVT_AMS_EXTRUSION_CALI));
|
||||
}
|
||||
|
@ -4866,7 +5013,7 @@ void AMSControl::on_filament_unload(wxCommandEvent &event)
|
|||
{
|
||||
m_button_extruder_feed->Disable();
|
||||
for (auto i = 0; i < m_ams_info.size(); i++) {
|
||||
if (m_ams_info[i].ams_id == m_current_ams_left || m_ams_info[i].ams_id == m_current_ams_right) { m_ams_info[i].current_action = AMSAction::AMS_ACTION_UNLOAD; }
|
||||
if (m_ams_info[i].ams_id == m_current_ams) { m_ams_info[i].current_action = AMSAction::AMS_ACTION_UNLOAD; }
|
||||
}
|
||||
post_event(SimpleEvent(EVT_AMS_UNLOAD));
|
||||
}
|
||||
|
@ -4879,7 +5026,7 @@ void AMSControl::auto_refill(wxCommandEvent& event)
|
|||
void AMSControl::on_ams_setting_click(wxMouseEvent &event)
|
||||
{
|
||||
for (auto i = 0; i < m_ams_info.size(); i++) {
|
||||
if (m_ams_info[i].ams_id == m_current_ams_left || m_ams_info[i].ams_id == m_current_ams_right) { m_ams_info[i].current_action = AMSAction::AMS_ACTION_CALI; }
|
||||
if (m_ams_info[i].ams_id == m_current_ams) { m_ams_info[i].current_action = AMSAction::AMS_ACTION_CALI; }
|
||||
}
|
||||
post_event(SimpleEvent(EVT_AMS_SETTINGS));
|
||||
}
|
||||
|
|
|
@ -26,8 +26,7 @@ public:
|
|||
void on_retry();
|
||||
|
||||
protected:
|
||||
std::string m_current_ams_left;
|
||||
std::string m_current_ams_right;
|
||||
std::string m_current_ams;
|
||||
std::string m_current_slot_left;
|
||||
std::string m_current_slot_right;
|
||||
std::string m_current_show_ams_left;
|
||||
|
@ -130,18 +129,19 @@ protected:
|
|||
std::string m_last_tray_id = "-1";
|
||||
|
||||
public:
|
||||
std::string GetCurentAms(bool right_panel = true);
|
||||
std::string GetCurentAms();
|
||||
std::string GetCurentShowAms(bool right_panel = true);
|
||||
std::string GetCurrentCan(std::string amsid);
|
||||
bool IsAmsInRightPanel(std::string ams_id);
|
||||
wxColour GetCanColour(std::string amsid, std::string canid);
|
||||
|
||||
AMSModel m_ams_model{AMSModel::NO_AMS};
|
||||
AMSModel m_ext_model{AMSModel::NO_AMS};
|
||||
AMSModel m_is_none_ams_mode{AMSModel::NO_AMS};
|
||||
AMSModel m_ams_model{AMSModel::EXT_AMS};
|
||||
AMSModel m_ext_model{AMSModel::EXT_AMS};
|
||||
AMSModel m_is_none_ams_mode{AMSModel::EXT_AMS};
|
||||
bool m_single_nozzle_no_ams = { true };
|
||||
|
||||
void SetAmsModel(AMSModel mode, AMSModel ext_mode) {m_ams_model = mode; m_ext_model = ext_mode;};
|
||||
void AmsSelectedSwitch(wxCommandEvent& event);
|
||||
|
||||
void SetActionState(bool button_status[]);
|
||||
void EnterNoneAMSMode();
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -33,11 +33,16 @@
|
|||
namespace Slic3r { namespace GUI {
|
||||
|
||||
enum AMSModel {
|
||||
NO_AMS = 0, //ext
|
||||
EXT_AMS = 0, //ext
|
||||
GENERIC_AMS = 1,
|
||||
EXTRA_AMS = 2, //ams-lite
|
||||
AMS_LITE = 2, //ams-lite
|
||||
N3F_AMS = 3,
|
||||
SINGLE_AMS = 4 //n3s
|
||||
N3S_AMS = 4 //n3s single_ams
|
||||
};
|
||||
|
||||
enum AMSModelOriginType {
|
||||
GENERIC_EXT,
|
||||
LITE_EXT
|
||||
};
|
||||
|
||||
enum ActionButton {
|
||||
|
@ -57,16 +62,17 @@ enum class AMSRoadMode : int {
|
|||
AMS_ROAD_MODE_VIRTUAL_TRAY
|
||||
};
|
||||
|
||||
enum class AMSRoadDownPartLoad : int {
|
||||
AMS_ROAD_MODE_LEFT,
|
||||
AMS_ROAD_MODE_RIGHT,
|
||||
AMS_ROAD_MODE_NONE
|
||||
enum class AMSPanelPos : int {
|
||||
SINGLE_PANEL,
|
||||
LEFT_PANEL,
|
||||
RIGHT_PANEL,
|
||||
};
|
||||
|
||||
enum class AMSRoadShowMode : int {
|
||||
AMS_ROAD_MODE_FOUR,
|
||||
AMS_ROAD_MODE_DOUBLE,
|
||||
AMS_ROAD_MODE_SINGLE,
|
||||
AMS_ROAD_MODE_EXTRA_AMS,
|
||||
AMS_ROAD_MODE_NONE
|
||||
};
|
||||
|
||||
|
@ -141,6 +147,7 @@ enum FilamentStepType {
|
|||
#define AMS_ITEM_SINGLE_SIZE wxSize(FromDIP(20), FromDIP(24))
|
||||
#define AMS_ITEM_HUMIDITY_SIZE wxSize(FromDIP(120), FromDIP(27))
|
||||
#define AMS_CAN_LIB_SIZE wxSize(FromDIP(52), FromDIP(80))
|
||||
#define AMS_LITE_CAN_LIB_SIZE wxSize(FromDIP(49), FromDIP(72))
|
||||
#define AMS_CAN_ROAD_SIZE wxSize(FromDIP(264), FromDIP(50))
|
||||
#define AMS_ITEMS_PANEL_SIZE wxSize(FromDIP(264), FromDIP(27))
|
||||
//#define AMS_CANS_SIZE wxSize(FromDIP(284), FromDIP(184))
|
||||
|
@ -178,6 +185,7 @@ public:
|
|||
int curreent_filamentstep;
|
||||
int ams_humidity = 0;
|
||||
AMSModel ams_type = AMSModel::GENERIC_AMS;
|
||||
AMSModelOriginType ext_type = AMSModelOriginType::GENERIC_EXT;
|
||||
|
||||
bool parse_ams_info(MachineObject* obj, Ams *ams, bool remain_flag = false, bool humidity_flag = false);
|
||||
void ReadExtInfo(AmsTray tray);
|
||||
|
@ -352,7 +360,7 @@ Description:AMSLib
|
|||
class AMSLib : public wxWindow
|
||||
{
|
||||
public:
|
||||
AMSLib(wxWindow *parent, std::string ams_idx, Caninfo info);
|
||||
AMSLib(wxWindow *parent, std::string ams_idx, Caninfo info, AMSModelOriginType ext_type = AMSModelOriginType::GENERIC_EXT);
|
||||
~AMSLib();
|
||||
void create(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize);
|
||||
public:
|
||||
|
@ -366,6 +374,7 @@ public:
|
|||
int m_can_index = 0;
|
||||
bool transparent_changed = { false };
|
||||
AMSModel m_ams_model;
|
||||
AMSModelOriginType m_ext_type = { AMSModelOriginType::GENERIC_EXT };
|
||||
|
||||
void Update(Caninfo info, std::string ams_idx, bool refresh = true);
|
||||
void UnableSelected() { m_unable_selected = true; };
|
||||
|
@ -482,7 +491,7 @@ public:
|
|||
|
||||
public:
|
||||
AMSinfo m_amsinfo;
|
||||
Caninfo m_info;
|
||||
//Caninfo m_info;
|
||||
int m_load_slot_index = { 0 };
|
||||
int m_load_ams_index = { 0 };
|
||||
//AMSRoadMode m_rode_mode = { AMSRoadMode::AMS_ROAD_MODE_LEFT_RIGHT };
|
||||
|
@ -495,7 +504,7 @@ public:
|
|||
double m_radius = { 4 };
|
||||
wxColour m_road_def_color;
|
||||
wxColour m_road_color;
|
||||
void Update(AMSinfo amsinfo, Caninfo info);
|
||||
void Update(AMSinfo amsinfo);
|
||||
|
||||
std::vector<ScalableBitmap> ams_humidity_img;
|
||||
|
||||
|
@ -514,6 +523,8 @@ public:
|
|||
void paintEvent(wxPaintEvent& evt);
|
||||
void render(wxDC& dc);
|
||||
void doRender(wxDC& dc);
|
||||
|
||||
void msw_rescale();
|
||||
};
|
||||
|
||||
|
||||
|
@ -528,49 +539,40 @@ public:
|
|||
void create(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize);
|
||||
|
||||
public:
|
||||
AMSinfo m_amsinfo;
|
||||
Caninfo m_info;
|
||||
int m_canindex = { 0 };
|
||||
int m_nozzle_num = { 1 };
|
||||
AMSRoadShowMode m_single_ext_rode_mode = { AMSRoadShowMode::AMS_ROAD_MODE_FOUR };
|
||||
AMSRoadShowMode m_left_rode_mode = { AMSRoadShowMode::AMS_ROAD_MODE_FOUR };
|
||||
AMSRoadShowMode m_right_rode_mode = { AMSRoadShowMode::AMS_ROAD_MODE_FOUR };
|
||||
bool m_selected = { false };
|
||||
bool m_single_nozzle_no_ams = { false };
|
||||
|
||||
int m_left_road_length = { -1 };
|
||||
int m_right_road_length = { -1 };
|
||||
int m_passroad_width = { 6 };
|
||||
double m_radius = { 4 };
|
||||
wxColour m_road_def_color;
|
||||
AMSPassRoadType m_pass_road_type = { AMSPassRoadType::AMS_ROAD_TYPE_NONE };
|
||||
AMSPassRoadSTEP m_pass_road_left_step = { AMSPassRoadSTEP::AMS_ROAD_STEP_NONE };
|
||||
AMSPassRoadSTEP m_pass_road_right_step = { AMSPassRoadSTEP::AMS_ROAD_STEP_NONE };
|
||||
|
||||
wxColour m_road_color;
|
||||
std::map<int, wxColour> m_road_color;
|
||||
|
||||
//void Update(AMSRoadDownPartMode nozzle, AMSRoadShowMode left_mode, AMSRoadShowMode right_mode, int left_len, int right_len);
|
||||
void UpdateLeft(int nozzle_num, AMSRoadShowMode mode);
|
||||
void UpdateRight(int nozzle_num, AMSRoadShowMode mode);
|
||||
|
||||
std::vector<ScalableBitmap> ams_humidity_img;
|
||||
|
||||
|
||||
int m_humidity = { 0 };
|
||||
bool m_show_humidity = { false };
|
||||
bool m_vams_loading{ false };
|
||||
|
||||
AMSModel m_ams_model;
|
||||
|
||||
void OnVamsLoading(bool load, wxColour col = AMS_CONTROL_GRAY500);
|
||||
void SetPassRoadColour(wxColour col);
|
||||
void SetMode(AMSRoadDownPartLoad mode);
|
||||
void SetPassRoadColour(bool left, wxColour col);
|
||||
void SetShowMode(AMSRoadShowMode left_mode, AMSRoadShowMode right_mode);
|
||||
void OnPassRoad(std::vector<AMSPassRoadMode> prord_list);
|
||||
void UpdatePassRoad(string can_id, bool left, int len, AMSinfo info, AMSPassRoadSTEP step);
|
||||
|
||||
void paintEvent(wxPaintEvent& evt);
|
||||
void render(wxDC& dc);
|
||||
void doRender(wxDC& dc);
|
||||
|
||||
void msw_rescale();
|
||||
};
|
||||
|
||||
/*************************************************
|
||||
|
@ -594,6 +596,7 @@ public:
|
|||
void OnSelected();
|
||||
void UnSelected();
|
||||
virtual bool Enable(bool enable = true);
|
||||
void msw_rescale();
|
||||
|
||||
AMSinfo m_amsinfo;
|
||||
|
||||
|
@ -606,10 +609,10 @@ protected:
|
|||
bool m_selected = {false};
|
||||
AMSModel m_ams_item_type = AMSModel::GENERIC_AMS;
|
||||
|
||||
ScalableBitmap* m_ts_bitmap_cube;
|
||||
ScalableBitmap* m_four_slot_bitmap;
|
||||
ScalableBitmap* m_single_slot_bitmap;
|
||||
ScalableBitmap* m_ext_bitmap;
|
||||
ScalableBitmap m_ts_bitmap_cube;
|
||||
ScalableBitmap m_four_slot_bitmap;
|
||||
ScalableBitmap m_single_slot_bitmap;
|
||||
ScalableBitmap m_ext_bitmap;
|
||||
|
||||
void paintEvent(wxPaintEvent &evt);
|
||||
void render(wxDC &dc);
|
||||
|
@ -647,6 +650,7 @@ public:
|
|||
void paintEvent(wxPaintEvent& evt);
|
||||
void render(wxDC& dc);
|
||||
void doRender(wxDC& dc);
|
||||
void msw_rescale();
|
||||
};
|
||||
|
||||
|
||||
|
@ -657,12 +661,13 @@ class AmsItem : public wxWindow
|
|||
{
|
||||
public:
|
||||
AmsItem();
|
||||
AmsItem(wxWindow *parent, AMSinfo info, AMSModel model);
|
||||
AmsItem(wxWindow *parent, AMSinfo info, AMSModel model, AMSPanelPos pos);
|
||||
~AmsItem();
|
||||
|
||||
void Update(AMSinfo info);
|
||||
void create(wxWindow *parent);
|
||||
void AddCan(Caninfo caninfo, int canindex, int maxcan, wxBoxSizer* sizer);
|
||||
void AddExtraCan(Caninfo caninfo, int canindex, int maxcan, wxGridSizer* sizer);
|
||||
void SetDefSelectCan();
|
||||
void SelectCan(std::string canid);
|
||||
void PlayRridLoading(wxString canid);
|
||||
|
@ -675,6 +680,7 @@ public:
|
|||
void paintEvent(wxPaintEvent& evt);
|
||||
void render(wxDC& dc);
|
||||
void doRender(wxDC& dc);
|
||||
void RenderExtraRoad(wxDC& dc, wxSize size);
|
||||
wxColour GetTagColr(wxString canid);
|
||||
std::string GetCurrentCan();
|
||||
|
||||
|
@ -685,6 +691,7 @@ public:
|
|||
int m_can_count = { 0 };
|
||||
|
||||
AMSModel m_ams_model;
|
||||
AMSPanelPos m_panel_pos;
|
||||
std::string m_canlib_id;
|
||||
|
||||
std::string m_road_canid;
|
||||
|
@ -692,12 +699,13 @@ public:
|
|||
|
||||
std::map<std::string, AMSLib*> m_can_lib_list;
|
||||
//std::map<std::string, AMSRoad*> m_can_road_list;
|
||||
AMSRoadUpPart* m_panel_road;
|
||||
AMSRoadUpPart* m_panel_road = { nullptr };
|
||||
std::map<std::string, AMSrefresh*> m_can_refresh_list;
|
||||
AMSHumidity* m_humidity;
|
||||
|
||||
AMSinfo m_info;
|
||||
wxBoxSizer * sizer_can = {nullptr};
|
||||
wxGridSizer* sizer_can_extra = { nullptr };
|
||||
wxBoxSizer * sizer_humidity = { nullptr };
|
||||
wxBoxSizer * sizer_item = { nullptr };
|
||||
wxBoxSizer * sizer_can_middle = {nullptr};
|
||||
|
@ -720,6 +728,7 @@ wxDECLARE_EVENT(EVT_AMS_GUIDE_WIKI, wxCommandEvent);
|
|||
wxDECLARE_EVENT(EVT_AMS_RETRY, wxCommandEvent);
|
||||
wxDECLARE_EVENT(EVT_AMS_SHOW_HUMIDITY_TIPS, wxCommandEvent);
|
||||
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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue