mirror of
https://git.mirrors.martin98.com/https://github.com/bambulab/BambuStudio.git
synced 2025-08-18 02:15:52 +08:00
FIX:Use different ext-img for single/double nozzle
jira: STUDIO-7852 Change-Id: I4d8181834bc57ff3c3ba54fafe5ed266a7a2b843
This commit is contained in:
parent
2c3fa062c9
commit
12b6f064a0
5
resources/images/ext_image_single_nozzle.svg
Normal file
5
resources/images/ext_image_single_nozzle.svg
Normal file
@ -0,0 +1,5 @@
|
||||
<svg width="99" height="101" viewBox="0 0 99 101" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M97.2412 19.5556L51.022 1.58594L7.92566 19.5556M97.2412 19.5556L51.022 44.3413M97.2412 19.5556V37.6557M51.022 44.3413L7.92566 19.5556M51.022 44.3413V58.267M7.92566 19.5556V75.3235L51.022 99.4896M51.022 99.4896L97.2412 75.3235V37.6557M51.022 99.4896V58.267M51.022 58.267L97.2412 37.6557" stroke="#323A3D" stroke-width="2" stroke-linecap="round"/>
|
||||
<ellipse cx="10.9947" cy="41.3869" rx="6.9975" ry="9.15057" stroke="#00AE42"/>
|
||||
<ellipse cx="7.76507" cy="41.3869" rx="6.9975" ry="9.15057" fill="white" stroke="#00AE42"/>
|
||||
</svg>
|
After Width: | Height: | Size: 631 B |
@ -2646,7 +2646,7 @@ void StatusPanel::update_ams(MachineObject *obj)
|
||||
ext_info.push_back(info);
|
||||
}
|
||||
std::string dev_id = obj->dev_id;
|
||||
int nozzle_num = obj->m_nozzle_data.total_nozzle_count;
|
||||
NozzleData data = obj->m_nozzle_data;
|
||||
//if (obj->ams_exist_bits != last_ams_exist_bits || obj->tray_exist_bits != last_tray_exist_bits || obj->tray_is_bbl_bits != last_tray_is_bbl_bits ||
|
||||
// obj->tray_read_done_bits != last_read_done_bits || obj->ams_version != last_ams_version) {
|
||||
// m_ams_control->UpdateAms(ams_info, false);
|
||||
@ -2661,7 +2661,7 @@ void StatusPanel::update_ams(MachineObject *obj)
|
||||
//}
|
||||
|
||||
// must select a current can
|
||||
m_ams_control->UpdateAms(ams_info, ext_info, nozzle_num, dev_id, false);
|
||||
m_ams_control->UpdateAms(ams_info, ext_info, data, dev_id, false);
|
||||
|
||||
last_tray_exist_bits = obj->tray_exist_bits;
|
||||
last_ams_exist_bits = obj->ams_exist_bits;
|
||||
|
@ -2413,6 +2413,8 @@ Description:AMSControl
|
||||
#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), FromDIP(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))
|
||||
@ -2424,6 +2426,7 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
||||
parse_object(obj);
|
||||
}
|
||||
|
||||
m_nozzle_data.total_nozzle_count = 1;
|
||||
SetBackgroundColour(*wxWHITE);
|
||||
// normal mode
|
||||
Freeze();
|
||||
@ -2592,7 +2595,7 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
||||
|
||||
|
||||
/*option mid*/
|
||||
m_extruder = new AMSextruder(m_amswin, wxID_ANY, m_nozzle_num, wxDefaultPosition, AMS_EXTRUDER_SIZE);
|
||||
m_extruder = new AMSextruder(m_amswin, wxID_ANY, m_nozzle_data.total_nozzle_count, wxDefaultPosition, AMS_EXTRUDER_SIZE);
|
||||
m_sizer_option_mid->Add( m_extruder, 0, wxALIGN_CENTER, 0 );
|
||||
|
||||
|
||||
@ -2975,7 +2978,7 @@ std::string AMSControl::GetCurrentCan(std::string amsid)
|
||||
}
|
||||
|
||||
bool AMSControl::IsAmsInRightPanel(std::string ams_id) {
|
||||
if (m_nozzle_num == 2){
|
||||
if (m_nozzle_data.total_nozzle_count == 2){
|
||||
if (m_ams_item_list.find(ams_id) != m_ams_item_list.end() && m_ams_item_list[ams_id]->m_info.nozzle_id == MAIN_NOZZLE_ID){
|
||||
return true;
|
||||
}
|
||||
@ -3426,10 +3429,10 @@ void AMSControl::CreateAmsDoubleNozzle()
|
||||
auto right_init_mode = findFirstMode(AMSPanelPos::RIGHT_PANEL);
|
||||
|
||||
|
||||
m_down_road->UpdateLeft(2, left_init_mode);
|
||||
m_down_road->UpdateRight(2, right_init_mode);
|
||||
m_down_road->UpdateLeft(m_nozzle_data.total_nozzle_count, left_init_mode);
|
||||
m_down_road->UpdateRight(m_nozzle_data.total_nozzle_count, right_init_mode);
|
||||
|
||||
m_extruder->updateNozzleNum(2);
|
||||
m_extruder->updateNozzleNum(m_nozzle_data.total_nozzle_count);
|
||||
|
||||
m_current_show_ams_left = m_item_ids[DEPUTY_NOZZLE_ID].size() > 0 ? m_item_ids[DEPUTY_NOZZLE_ID][0] : "";
|
||||
m_current_show_ams_right = m_item_ids[MAIN_NOZZLE_ID].size() > 0 ? m_item_ids[MAIN_NOZZLE_ID][0] : "";
|
||||
@ -3460,7 +3463,7 @@ void AMSControl::CreateAmsSingleNozzle()
|
||||
}
|
||||
else if (ams_info->cans.size() == 1) {
|
||||
single_info.push_back(*ams_info);
|
||||
if (single_info.size() == 2) {
|
||||
if (single_info.size() == MAX_AMS_NUM_IN_PANEL) {
|
||||
m_item_ids[DEPUTY_NOZZLE_ID].push_back(single_info[0].ams_id);
|
||||
m_item_ids[DEPUTY_NOZZLE_ID].push_back(single_info[1].ams_id);
|
||||
m_item_nums[DEPUTY_NOZZLE_ID]++;
|
||||
@ -3723,12 +3726,12 @@ std::vector<AMSinfo> AMSControl::GenerateSimulateData() {
|
||||
}
|
||||
|
||||
|
||||
void AMSControl::UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo>ext_info, int nozzle_num, std::string dev_id, bool is_reset, bool test)
|
||||
void AMSControl::UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo>ext_info, NozzleData data, std::string dev_id, bool is_reset, bool test)
|
||||
{
|
||||
if (!test){
|
||||
// update item
|
||||
bool fresh = false;
|
||||
if (m_ams_info.size() == ams_info.size() && m_nozzle_num == nozzle_num && m_dev_id == dev_id){
|
||||
if (m_ams_info.size() == ams_info.size() && m_nozzle_data.total_nozzle_count == data.total_nozzle_count && m_dev_id == dev_id){
|
||||
for (int i = 0; i < m_ams_info.size(); i++){
|
||||
if (m_ams_info[i].ams_id != ams_info[i].ams_id){
|
||||
fresh = true;
|
||||
@ -3742,11 +3745,11 @@ void AMSControl::UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo>ex
|
||||
m_ams_info = ams_info;
|
||||
m_ext_info.clear();
|
||||
m_ext_info = ext_info;
|
||||
m_nozzle_num = nozzle_num;
|
||||
m_nozzle_data = data;
|
||||
m_dev_id = dev_id;
|
||||
if (fresh){
|
||||
ClearAms();
|
||||
if (m_nozzle_num >= 2){
|
||||
if (m_nozzle_data.total_nozzle_count >= 2){
|
||||
CreateAmsDoubleNozzle();
|
||||
}else{
|
||||
CreateAmsSingleNozzle();
|
||||
@ -3802,28 +3805,18 @@ void AMSControl::UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo>ex
|
||||
else
|
||||
{
|
||||
static bool first_time = true;
|
||||
bool fresh = false;
|
||||
static std::vector<AMSinfo>ams_info;
|
||||
int nozzle_num = 2;
|
||||
if (first_time){
|
||||
ams_info = GenerateSimulateData();
|
||||
fresh = true;
|
||||
first_time = false;
|
||||
}
|
||||
|
||||
Freeze();
|
||||
|
||||
// update item
|
||||
bool fresh = false;
|
||||
if (m_ams_info.size() == ams_info.size() && m_nozzle_num == nozzle_num){
|
||||
for (int i = 0; i < m_ams_info.size(); i++)
|
||||
{
|
||||
if (m_ams_info[i].ams_id != ams_info[i].ams_id){
|
||||
fresh = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
fresh = true;
|
||||
}
|
||||
m_ams_info.clear();
|
||||
m_ams_info = ams_info;
|
||||
m_ext_info.clear();
|
||||
@ -3833,10 +3826,10 @@ void AMSControl::UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo>ex
|
||||
m_ext_info[0].nozzle_id = MAIN_NOZZLE_ID;
|
||||
m_ext_info[1].ams_id = std::to_string(VIRTUAL_TRAY_DEPUTY_ID);
|
||||
m_ext_info[1].nozzle_id = DEPUTY_NOZZLE_ID;
|
||||
m_nozzle_num = nozzle_num;
|
||||
m_nozzle_data = data;
|
||||
if (fresh){
|
||||
ClearAms();
|
||||
if (m_nozzle_num >= 2) {
|
||||
if (m_nozzle_data.total_nozzle_count >= 2) {
|
||||
CreateAmsDoubleNozzle();
|
||||
}
|
||||
else {
|
||||
@ -3917,7 +3910,7 @@ void AMSControl::createAms(wxSimplebook* parent, int& idx, AMSinfo info, AMSPane
|
||||
|
||||
AMSRoadShowMode AMSControl::findFirstMode(AMSPanelPos pos) {
|
||||
auto init_mode = AMSRoadShowMode::AMS_ROAD_MODE_NONE;
|
||||
std::string ams_id = "-1";
|
||||
std::string ams_id = "";
|
||||
if (pos == AMSPanelPos::LEFT_PANEL && m_item_ids[DEPUTY_NOZZLE_ID].size() > 0){
|
||||
ams_id = m_item_ids[DEPUTY_NOZZLE_ID][0];
|
||||
}
|
||||
@ -3930,6 +3923,7 @@ AMSRoadShowMode AMSControl::findFirstMode(AMSPanelPos pos) {
|
||||
|
||||
if (item->second->m_info.cans.size() == GENERIC_AMS_SLOT_NUM){
|
||||
if (item->second->m_info.ams_type == AMSModel::AMS_LITE) return AMSRoadShowMode::AMS_ROAD_MODE_AMS_LITE;
|
||||
if (item->second->m_info.ams_type == AMSModel::EXT_AMS && item->second->m_info.ext_type == AMSModelOriginType::LITE_EXT) return AMSRoadShowMode::AMS_ROAD_MODE_AMS_LITE;
|
||||
return AMSRoadShowMode::AMS_ROAD_MODE_FOUR;
|
||||
}
|
||||
else{
|
||||
@ -3938,6 +3932,7 @@ AMSRoadShowMode AMSControl::findFirstMode(AMSPanelPos pos) {
|
||||
return AMSRoadShowMode::AMS_ROAD_MODE_DOUBLE;
|
||||
}
|
||||
}
|
||||
if (item->second->m_info.ams_type == AMSModel::EXT_AMS && item->second->m_info.ext_type == AMSModelOriginType::LITE_EXT) return AMSRoadShowMode::AMS_ROAD_MODE_AMS_LITE;
|
||||
return AMSRoadShowMode::AMS_ROAD_MODE_SINGLE;
|
||||
}
|
||||
}
|
||||
@ -3953,7 +3948,7 @@ void AMSControl::createAmsPanel(wxSimplebook* parent, int& idx, std::vector<AMSi
|
||||
|
||||
AmsItem* ams1 = nullptr, * ams2 = nullptr;
|
||||
ams1 = new AmsItem(book_panel, infos[0], infos[0].ams_type, pos);
|
||||
if (infos.size() == 2) { //n3s and ? in a panel
|
||||
if (infos.size() == MAX_AMS_NUM_IN_PANEL) { //n3s and ? in a panel
|
||||
ams2 = new AmsItem(book_panel, infos[1], infos[1].ams_type, pos);
|
||||
if (pos == AMSPanelPos::LEFT_PANEL) {
|
||||
book_sizer->Add(ams1, 0, wxLEFT, FromDIP(4));
|
||||
@ -3968,12 +3963,17 @@ void AMSControl::createAmsPanel(wxSimplebook* parent, int& idx, std::vector<AMSi
|
||||
if (ams1->m_ext_image) {
|
||||
ams1->m_ext_image->setShowState(false);
|
||||
}
|
||||
if (ams1->m_info.ams_type == AMSModel::EXT_AMS)
|
||||
{
|
||||
auto ext_image = new AMSExtImage(book_panel, true, pos);
|
||||
book_sizer->Add(ams1, 0, wxLEFT, FromDIP(30));
|
||||
book_sizer->Add(ext_image, 0, wxEXPAND | wxLEFT, FromDIP(30));
|
||||
m_ext_image_list[infos[0].ams_id] = ext_image;
|
||||
if (ams1->m_info.ams_type == AMSModel::EXT_AMS){
|
||||
if (ams1->m_info.ext_type == LITE_EXT){
|
||||
//book_sizer->Add(ams1, 0, wxALIGN_CENTER_HORIZONTAL, 0);
|
||||
book_sizer->Add(ams1, 0, wxLEFT, (book_panel->GetSize().x - ams1->GetSize().x) / 2);
|
||||
}
|
||||
else{
|
||||
auto ext_image = new AMSExtImage(book_panel, pos, &m_nozzle_data);
|
||||
book_sizer->Add(ams1, 0, wxLEFT, FromDIP(30));
|
||||
book_sizer->Add(ext_image, 0, wxEXPAND | wxLEFT, FromDIP(30));
|
||||
m_ext_image_list[infos[0].ams_id] = ext_image;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -3996,7 +3996,7 @@ void AMSControl::createAmsPanel(wxSimplebook* parent, int& idx, std::vector<AMSi
|
||||
void AMSControl::AddAms(AMSinfo info, AMSPanelPos pos)
|
||||
{
|
||||
AmsItem* ams_item;
|
||||
if (m_nozzle_num > 1){
|
||||
if (m_nozzle_data.total_nozzle_count > 1){
|
||||
if (info.nozzle_id == MAIN_NOZZLE_ID){
|
||||
createAms(m_simplebook_ams_right, m_right_page_index, info, AMSPanelPos::RIGHT_PANEL);
|
||||
}
|
||||
@ -4004,7 +4004,7 @@ void AMSControl::AddAms(AMSinfo info, AMSPanelPos pos)
|
||||
createAms(m_simplebook_ams_left, m_left_page_index, info, AMSPanelPos::LEFT_PANEL);
|
||||
}
|
||||
}
|
||||
else if (m_nozzle_num == 1){
|
||||
else if (m_nozzle_data.total_nozzle_count == 1){
|
||||
createAms(m_simplebook_ams_left, m_left_page_index, info, AMSPanelPos::LEFT_PANEL);
|
||||
}
|
||||
m_simplebook_ams_left->Layout();
|
||||
@ -4036,7 +4036,7 @@ void AMSControl::AddAms(std::vector<AMSinfo>single_info, AMSPanelPos pos) {
|
||||
if (single_info.size() <= 0){
|
||||
return;
|
||||
}
|
||||
if (m_nozzle_num == 2) {
|
||||
if (m_nozzle_data.total_nozzle_count == 2) {
|
||||
if (single_info[0].nozzle_id == MAIN_NOZZLE_ID) {
|
||||
createAmsPanel(m_simplebook_ams_right, m_right_page_index, single_info, AMSPanelPos::RIGHT_PANEL);
|
||||
}
|
||||
@ -4044,7 +4044,7 @@ void AMSControl::AddAms(std::vector<AMSinfo>single_info, AMSPanelPos pos) {
|
||||
createAmsPanel(m_simplebook_ams_left, m_left_page_index, single_info, AMSPanelPos::LEFT_PANEL);
|
||||
}
|
||||
}
|
||||
else if (m_nozzle_num == 1) {
|
||||
else if (m_nozzle_data.total_nozzle_count == 1) {
|
||||
if (pos == AMSPanelPos::RIGHT_PANEL) {
|
||||
createAmsPanel(m_simplebook_ams_right, m_right_page_index, single_info, AMSPanelPos::RIGHT_PANEL);
|
||||
}
|
||||
@ -4193,10 +4193,12 @@ void AMSControl::SwitchAms(std::string ams_id)
|
||||
pos == AMSPanelPos::LEFT_PANEL ? m_simplebook_ams_left->SetSelection(item->m_selection) : m_simplebook_ams_right->SetSelection(item->m_selection);
|
||||
if (item->m_info.cans.size() == GENERIC_AMS_SLOT_NUM) {
|
||||
if (item->m_info.ams_type == AMSModel::AMS_LITE) {
|
||||
pos == AMSPanelPos::LEFT_PANEL ? m_down_road->UpdateLeft(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_AMS_LITE) : m_down_road->UpdateRight(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_AMS_LITE);
|
||||
pos == AMSPanelPos::LEFT_PANEL ? m_down_road->UpdateLeft(m_nozzle_data.total_nozzle_count, AMSRoadShowMode::AMS_ROAD_MODE_AMS_LITE)
|
||||
: m_down_road->UpdateRight(m_nozzle_data.total_nozzle_count, AMSRoadShowMode::AMS_ROAD_MODE_AMS_LITE);
|
||||
}
|
||||
else {
|
||||
pos == AMSPanelPos::LEFT_PANEL ? m_down_road->UpdateLeft(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_FOUR) : m_down_road->UpdateRight(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_FOUR);
|
||||
pos == AMSPanelPos::LEFT_PANEL ? m_down_road->UpdateLeft(m_nozzle_data.total_nozzle_count, AMSRoadShowMode::AMS_ROAD_MODE_FOUR)
|
||||
: m_down_road->UpdateRight(m_nozzle_data.total_nozzle_count, AMSRoadShowMode::AMS_ROAD_MODE_FOUR);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -4207,7 +4209,8 @@ void AMSControl::SwitchAms(std::string ams_id)
|
||||
break;
|
||||
}
|
||||
}
|
||||
pos == AMSPanelPos::LEFT_PANEL ? m_down_road->UpdateLeft(m_nozzle_num, mode) : m_down_road->UpdateRight(m_nozzle_num, mode);
|
||||
pos == AMSPanelPos::LEFT_PANEL ? m_down_road->UpdateLeft(m_nozzle_data.total_nozzle_count, mode)
|
||||
: m_down_road->UpdateRight(m_nozzle_data.total_nozzle_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);
|
||||
}
|
||||
@ -4511,6 +4514,7 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
||||
|
||||
int length = -1;
|
||||
|
||||
//Set path length in different case
|
||||
if (ams->m_info.cans.size() == GENERIC_AMS_SLOT_NUM){
|
||||
//length = left ? 129 : 145;
|
||||
length = left ? 129 : 145;
|
||||
@ -4527,11 +4531,14 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
||||
break;
|
||||
}
|
||||
}
|
||||
model = AMSModel::N3S_AMS;
|
||||
model = ams->m_info.ams_type;
|
||||
}
|
||||
if (model == AMSModel::AMS_LITE){
|
||||
length = left ? 145 : 45;
|
||||
}
|
||||
if (model == EXT_AMS && ams->m_info.ext_type == AMSModelOriginType::LITE_EXT){
|
||||
length = 145;
|
||||
}
|
||||
|
||||
for (auto i = 0; i < m_ams_info.size(); i++) {
|
||||
if (m_ams_info[i].ams_id == ams_id) {
|
||||
@ -4561,141 +4568,51 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
||||
}
|
||||
|
||||
AMSPanelPos pos = left ? AMSPanelPos::LEFT_PANEL : AMSPanelPos::RIGHT_PANEL;
|
||||
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);
|
||||
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, pos, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_extruder->OnAmsLoading(false, ams->m_info.nozzle_id);
|
||||
}
|
||||
}
|
||||
|
||||
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, 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);
|
||||
}
|
||||
}
|
||||
|
||||
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, 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);
|
||||
}
|
||||
}
|
||||
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, 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);
|
||||
}
|
||||
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, pos, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_extruder->OnAmsLoading(false, ams->m_info.nozzle_id);
|
||||
}
|
||||
}
|
||||
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, pos, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_extruder->OnAmsLoading(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_down_road->UpdatePassRoad(canid, pos, -1, 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, pos, length, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
m_extruder->OnAmsLoading(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_down_road->UpdatePassRoad(canid, pos, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
}
|
||||
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, 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);
|
||||
}
|
||||
}
|
||||
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2) {
|
||||
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, pos, length, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
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, pos, -1, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
}
|
||||
m_extruder->OnAmsLoading(true, ams->m_info.nozzle_id, ams->GetTagColr(canid));
|
||||
}
|
||||
|
||||
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, 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);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_down_road->UpdatePassRoad(canid, 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)
|
||||
{
|
||||
m_down_road->UpdatePassRoad(canid, 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);
|
||||
}
|
||||
}
|
||||
|
||||
//if (m_ams_model == AMSModel::GENERIC_AMS) {
|
||||
// if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_NONE) {
|
||||
// //cans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
// m_down_road->UpdatePassRoad(canid, true, -1, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
// m_down_road->UpdatePassRoad(canid, false, -1, ams->m_info, 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);
|
||||
// }
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
void AMSControl::on_filament_load(wxCommandEvent &event)
|
||||
|
@ -43,7 +43,7 @@ protected:
|
||||
//std::map<std::string, AmsItem*> m_ams_extra_item_list;
|
||||
//std::map<std::string, Ams*> m_ams_list;
|
||||
|
||||
int m_nozzle_num = 1;
|
||||
NozzleData m_nozzle_data;
|
||||
std::string m_dev_id;
|
||||
std::vector<std::vector<std::string>> m_item_ids{ {}, {} };
|
||||
std::vector<std::pair<string, string>> pair_id;
|
||||
@ -164,7 +164,7 @@ public:
|
||||
void CreateAmsDoubleNozzle();
|
||||
void CreateAmsSingleNozzle();
|
||||
void ClearAms();
|
||||
void UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo> ext_info, int nozzle_num, std::string dev_id, bool is_reset = true, bool test = false);
|
||||
void UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo> ext_info, NozzleData data, std::string dev_id, bool is_reset = true, bool test = false);
|
||||
void ReadExtInfo(MachineObject* obj);
|
||||
std::vector<AMSinfo> GenerateSimulateData();
|
||||
|
||||
|
@ -234,7 +234,7 @@ AMSrefresh::AMSrefresh(wxWindow *parent, int number, Caninfo info, const wxPoint
|
||||
void AMSrefresh::create(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size)
|
||||
{
|
||||
wxWindow::Create(parent, id, pos, size, wxBORDER_NONE);
|
||||
SetBackgroundColour(StateColor::darkModeColorFor(AMS_CONTROL_DEF_BLOCK_BK_COLOUR));
|
||||
SetBackgroundColour(StateColor::darkModeColorFor(AMS_CONTROL_DEF_LIB_BK_COLOUR));
|
||||
|
||||
Bind(wxEVT_TIMER, &AMSrefresh::on_timer, this);
|
||||
Bind(wxEVT_PAINT, &AMSrefresh::paintEvent, this);
|
||||
@ -506,9 +506,9 @@ AMSextruderImage::~AMSextruderImage() {}
|
||||
Description:AMSExtImage upon ext lib
|
||||
**************************************************/
|
||||
|
||||
AMSExtImage::AMSExtImage(wxWindow* parent, bool single_flag, AMSPanelPos ext_pos, wxWindowID id, const wxPoint& pos, const wxSize& size)
|
||||
AMSExtImage::AMSExtImage(wxWindow* parent, AMSPanelPos ext_pos, NozzleData *data, wxWindowID id, const wxPoint& pos)
|
||||
{
|
||||
if (!single_flag){
|
||||
if (data == nullptr){
|
||||
wxWindow::Create(parent, id, pos, AMS_HUMIDITY_SIZE);
|
||||
}
|
||||
else{
|
||||
@ -516,22 +516,12 @@ AMSExtImage::AMSExtImage(wxWindow* parent, bool single_flag, AMSPanelPos ext_pos
|
||||
}
|
||||
|
||||
SetBackgroundColour(StateColor::darkModeColorFor(AMS_CONTROL_DEF_LIB_BK_COLOUR));
|
||||
|
||||
m_single_flag = single_flag;
|
||||
m_ext_pos = ext_pos;
|
||||
/*if (single_flag){
|
||||
if (ext_pos == AMSPanelPos::LEFT_PANEL){
|
||||
m_ams_ext_left = ScalableBitmap(this, "ext_image_left", 98);
|
||||
}
|
||||
else{
|
||||
m_ams_ext_right = ScalableBitmap(this, "ext_image_right", 98);
|
||||
}
|
||||
}
|
||||
else{
|
||||
m_ams_ext = ScalableBitmap(this, "ams_ext_image", 25);
|
||||
}*/
|
||||
if (data != nullptr) m_nozzle_data = data;
|
||||
|
||||
m_ams_ext_left = ScalableBitmap(this, "ext_image_left", 98);
|
||||
m_ams_ext_right = ScalableBitmap(this, "ext_image_right", 98);
|
||||
m_ams_ext_single_nozzle = ScalableBitmap(this, "ext_image_single_nozzle", 98);
|
||||
m_ams_ext = ScalableBitmap(this, "ams_ext_image", 25);
|
||||
|
||||
Bind(wxEVT_PAINT, &AMSExtImage::paintEvent, this);
|
||||
@ -545,6 +535,7 @@ void AMSExtImage::msw_rescale()
|
||||
//auto image = m_ams_extruder.ConvertToImage();
|
||||
m_ams_ext_left = ScalableBitmap(this, "ext_image_left", 98);
|
||||
m_ams_ext_right = ScalableBitmap(this, "ext_image_right", 98);
|
||||
m_ams_ext_single_nozzle = ScalableBitmap(this, "ext_image_single_nozzle", 98);
|
||||
m_ams_ext = ScalableBitmap(this, "ams_ext_image", 25);
|
||||
Layout();
|
||||
Fit();
|
||||
@ -583,19 +574,24 @@ void AMSExtImage::doRender(wxDC& dc)
|
||||
auto size = GetSize();
|
||||
dc.SetPen(*wxTRANSPARENT_PEN);
|
||||
//dc.DrawRectangle(0, FromDIP(5), size.x, size.y - FromDIP(5) - FromDIP(2));
|
||||
if (m_single_flag) {
|
||||
if (m_ext_pos == AMSPanelPos::LEFT_PANEL) {
|
||||
dc.DrawBitmap(m_ams_ext_left.bmp(), wxPoint((size.x - m_ams_ext_left.GetBmpSize().x) / 2, (size.y - m_ams_ext_left.GetBmpSize().y) / 2));
|
||||
}
|
||||
else {
|
||||
dc.DrawBitmap(m_ams_ext_right.bmp(), wxPoint((size.x - m_ams_ext_right.GetBmpSize().x) / 2, (size.y - m_ams_ext_right.GetBmpSize().y) / 2));
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (m_nozzle_data == nullptr){
|
||||
if (m_ext_show) {
|
||||
dc.DrawBitmap(m_ams_ext.bmp(), wxPoint((size.x - m_ams_ext.GetBmpSize().x) / 2, 0));
|
||||
}
|
||||
}
|
||||
else{
|
||||
if (m_nozzle_data->total_nozzle_count < 2) {
|
||||
dc.DrawBitmap(m_ams_ext_single_nozzle.bmp(), wxPoint((size.x - m_ams_ext_right.GetBmpSize().x) / 2, (size.y - m_ams_ext_right.GetBmpSize().y) / 2));
|
||||
}
|
||||
else {
|
||||
if (m_ext_pos == AMSPanelPos::LEFT_PANEL) {
|
||||
dc.DrawBitmap(m_ams_ext_left.bmp(), wxPoint((size.x - m_ams_ext_left.GetBmpSize().x) / 2, (size.y - m_ams_ext_left.GetBmpSize().y) / 2));
|
||||
}
|
||||
else {
|
||||
dc.DrawBitmap(m_ams_ext_right.bmp(), wxPoint((size.x - m_ams_ext_right.GetBmpSize().x) / 2, (size.y - m_ams_ext_right.GetBmpSize().y) / 2));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Layout();
|
||||
}
|
||||
@ -2348,10 +2344,8 @@ void AMSRoadDownPart::doRender(wxDC& dc)
|
||||
dc.DrawLine(right_nozzle_pos.x + FromDIP(68), 0, right_nozzle_pos.x + FromDIP(68), (size.y / 2));
|
||||
break;
|
||||
case AMSRoadShowMode::AMS_ROAD_MODE_AMS_LITE:
|
||||
dc.DrawLine(right_nozzle_pos.x, 0, right_nozzle_pos.x, size.y / 2);
|
||||
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.DrawLine(left_nozzle_pos.x, (size.y / 2), left_nozzle_pos.x + FromDIP(145), (size.y / 2));
|
||||
dc.DrawLine(left_nozzle_pos.x + FromDIP(145), 0, left_nozzle_pos.x + FromDIP(145), (size.y / 2));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -2458,10 +2452,10 @@ AMSPreview::AMSPreview() {}
|
||||
AMSPreview::AMSPreview(wxWindow* parent, wxWindowID id, AMSinfo amsinfo, AMSModel itemType, const wxPoint& pos, const wxSize& size) : AMSPreview()
|
||||
{
|
||||
if (itemType == AMSModel::GENERIC_AMS || itemType == AMSModel::AMS_LITE || itemType == AMSModel::N3F_AMS) {
|
||||
create(parent, id, pos, AMS_ITEM_FOUR_SIZE);
|
||||
create(parent, id, pos, AMS_PREV_FOUR_SIZE);
|
||||
}
|
||||
else {
|
||||
create(parent, id, pos, AMS_ITEM_SINGLE_SIZE);
|
||||
create(parent, id, pos, AMS_PREV_SINGLE_SIZE);
|
||||
}
|
||||
m_amsinfo = amsinfo;
|
||||
m_ams_item_type = itemType;
|
||||
@ -2497,7 +2491,7 @@ void AMSPreview::create(wxWindow *parent, wxWindowID id, const wxPoint &pos, con
|
||||
wxWindow::Create(parent, id, pos, size);
|
||||
SetMinSize(size);
|
||||
SetMaxSize(size);
|
||||
SetBackgroundColour(StateColor::darkModeColorFor(*wxWHITE));
|
||||
//SetBackgroundColour(StateColor::darkModeColorFor(*wxWHITE));
|
||||
Refresh();
|
||||
}
|
||||
|
||||
@ -2566,6 +2560,10 @@ void AMSPreview::doRender(wxDC &dc)
|
||||
auto left = FromDIP(8);
|
||||
m_space = FromDIP(9);
|
||||
auto color = *wxWHITE;
|
||||
dc.SetPen(wxPen(*wxTRANSPARENT_PEN));
|
||||
dc.SetBrush(color);
|
||||
dc.DrawRoundedRectangle(0, 0, size.x, size.y, FromDIP(3));
|
||||
|
||||
//four slot
|
||||
if (m_ams_item_type != AMSModel::EXT_AMS && m_ams_item_type != AMSModel::N3S_AMS){
|
||||
for (std::vector<Caninfo>::iterator iter = m_amsinfo.cans.begin(); iter != m_amsinfo.cans.end(); iter++) {
|
||||
@ -2613,7 +2611,7 @@ void AMSPreview::doRender(wxDC &dc)
|
||||
if (iter->material_state == AMSCanType::AMS_CAN_TYPE_EMPTY) {
|
||||
dc.SetPen(wxPen(wxColor(0, 0, 0)));
|
||||
dc.DrawRoundedRectangle(rect, 3);
|
||||
dc.DrawLine(rect.GetRight() - FromDIP(1), rect.GetTop() + FromDIP(1), rect.GetLeft() + FromDIP(1), rect.GetBottom() - FromDIP(1));
|
||||
//dc.DrawLine(rect.GetRight() - FromDIP(1), rect.GetTop() + FromDIP(1), rect.GetLeft() + FromDIP(1), rect.GetBottom() - FromDIP(1));
|
||||
}
|
||||
else {
|
||||
dc.DrawRoundedRectangle(rect, 2);
|
||||
@ -2673,18 +2671,6 @@ void AMSPreview::doRender(wxDC &dc)
|
||||
auto pot = wxPoint(((size.x - m_single_slot_bitmap.GetBmpSize().x) / 2), ((size.y - m_single_slot_bitmap.GetBmpSize().y) / 2));
|
||||
dc.DrawBitmap(m_single_slot_bitmap.bmp(), pot);
|
||||
}
|
||||
else {
|
||||
|
||||
//auto pot = wxPoint((size.x - m_ext_bitmap.GetBmpSize().x) / 2, (size.y - m_ext_bitmap.GetBmpSize().y) / 2);
|
||||
//dc.DrawBitmap(m_ext_bitmap.bmp(), pot);
|
||||
|
||||
/*auto tsize = dc.GetMultiLineTextExtent(_L("Ext"));
|
||||
dc.SetPen(wxPen(*wxTRANSPARENT_PEN));
|
||||
dc.SetFont(Label::Body_8);
|
||||
dc.SetTextForeground(AMS_CONTROL_BLACK_COLOUR);
|
||||
pot = wxPoint((size.x - tsize.x) / 2 + FromDIP(2), (size.y + FromDIP(12)) / 2 - FromDIP(2));
|
||||
dc.DrawText(_L("Ext"), pot);*/
|
||||
}
|
||||
if ((iter.material_colour.Red() >= 238 && iter.material_colour.Green() >= 238 && iter.material_colour.Blue() >= 238) || iter.material_colour.Alpha() == 0) {
|
||||
dc.SetPen(wxPen(AMS_CONTROL_GRAY500));
|
||||
dc.SetBrush(wxBrush(*wxTRANSPARENT_BRUSH));
|
||||
@ -2950,7 +2936,7 @@ void AmsItem::create(wxWindow *parent)
|
||||
}
|
||||
else{
|
||||
if (m_ams_model == EXT_AMS){
|
||||
m_ext_image = new AMSExtImage(this, false, AMSPanelPos::RIGHT_PANEL);
|
||||
m_ext_image = new AMSExtImage(this, AMSPanelPos::RIGHT_PANEL);
|
||||
sizer_item->Add(m_ext_image, 0, wxALIGN_CENTER_HORIZONTAL, 0);
|
||||
}
|
||||
}
|
||||
|
@ -143,8 +143,8 @@ enum FilamentStepType {
|
||||
#define AMS_ITEM_CUBE_SIZE wxSize(FromDIP(8), FromDIP(14))
|
||||
#define AMS_PREVIEW_SIZE wxSize(FromDIP(82), FromDIP(27))
|
||||
#define AMS_ITEM_SIZE wxSize(FromDIP(78), FromDIP(184))
|
||||
#define AMS_ITEM_FOUR_SIZE wxSize(FromDIP(52), FromDIP(32))
|
||||
#define AMS_ITEM_SINGLE_SIZE wxSize(FromDIP(28), FromDIP(32))
|
||||
#define AMS_PREV_FOUR_SIZE wxSize(FromDIP(52), FromDIP(32))
|
||||
#define AMS_PREV_SINGLE_SIZE wxSize(FromDIP(28), FromDIP(32))
|
||||
#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))
|
||||
@ -167,6 +167,7 @@ enum FilamentStepType {
|
||||
#define MAIN_NOZZLE_ID 0
|
||||
#define DEPUTY_NOZZLE_ID 1
|
||||
#define GENERIC_AMS_SLOT_NUM 4
|
||||
#define MAX_AMS_NUM_IN_PANEL 2
|
||||
|
||||
struct Caninfo
|
||||
{
|
||||
@ -298,7 +299,7 @@ class AMSExtImage : public wxWindow
|
||||
{
|
||||
private:
|
||||
bool m_ext_show = true;
|
||||
bool m_single_flag = false;
|
||||
NozzleData* m_nozzle_data = nullptr;
|
||||
AMSPanelPos m_ext_pos;
|
||||
public:
|
||||
void msw_rescale();
|
||||
@ -309,8 +310,10 @@ public:
|
||||
ScalableBitmap m_ams_ext;
|
||||
ScalableBitmap m_ams_ext_left;
|
||||
ScalableBitmap m_ams_ext_right;
|
||||
ScalableBitmap m_ams_ext_single_nozzle;
|
||||
void doRender(wxDC& dc);
|
||||
AMSExtImage(wxWindow* parent, bool single_flag = false, AMSPanelPos ext_pos = AMSPanelPos::RIGHT_PANEL, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize);
|
||||
AMSExtImage(wxWindow* parent, AMSPanelPos ext_pos = AMSPanelPos::RIGHT_PANEL, NozzleData *data = nullptr,
|
||||
wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition);
|
||||
~AMSExtImage();
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user