mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2026-03-12 22:36:03 -06:00
refactoring the modules of amscontrol
adapted from bambulab/BambuStudio@b78fa4c11c Co-authored-by: tao wang <tao.wang@bambulab.com>
This commit is contained in:
parent
dad7320f4b
commit
afb1d3df6f
8 changed files with 3005 additions and 2927 deletions
|
|
@ -828,6 +828,9 @@ StatusBasePanel::StatusBasePanel(wxWindow *parent, wxWindowID id, const wxPoint
|
|||
: wxScrolledWindow(parent, id, pos, size, wxHSCROLL | wxVSCROLL)
|
||||
{
|
||||
this->SetScrollRate(5, 5);
|
||||
Slic3r::DeviceManager* dev = Slic3r::GUI::wxGetApp().getDeviceManager();
|
||||
if (!dev) return;
|
||||
obj = dev->get_selected_machine();
|
||||
|
||||
init_bitmaps();
|
||||
|
||||
|
|
@ -2629,10 +2632,13 @@ void StatusPanel::update_ams(MachineObject *obj)
|
|||
if (m_filament_setting_dlg) m_filament_setting_dlg->update();
|
||||
|
||||
std::vector<AMSinfo> ams_info;
|
||||
ams_info.clear();
|
||||
for (auto ams = obj->amsList.begin(); ams != obj->amsList.end(); ams++) {
|
||||
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)) ams_info.push_back(info);
|
||||
if (ams->second->is_exists && info.parse_ams_info(obj, ams->second, obj->ams_calibrate_remain_flag, obj->is_support_ams_humidity)) {
|
||||
ams_info.push_back(info);
|
||||
}
|
||||
}
|
||||
//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) {
|
||||
|
|
@ -3680,9 +3686,17 @@ void StatusPanel::on_filament_edit(wxCommandEvent &event)
|
|||
|
||||
if (obj) {
|
||||
m_filament_setting_dlg->obj = obj;
|
||||
std::string ams_id = m_ams_control->GetCurentAms();
|
||||
std::string ams_id;
|
||||
int ams_id_int = 0;
|
||||
int tray_id_int = 0;
|
||||
int tray_id = event.GetInt();
|
||||
if (tray_id == VIRTUAL_TRAY_ID) {
|
||||
ams_id = std::to_string(tray_id);
|
||||
}
|
||||
else{
|
||||
ams_id = std::to_string(tray_id / 4);
|
||||
}
|
||||
|
||||
if (ams_id.compare(std::to_string(VIRTUAL_TRAY_ID)) == 0) {
|
||||
tray_id_int = VIRTUAL_TRAY_ID;
|
||||
m_filament_setting_dlg->ams_id = ams_id_int;
|
||||
|
|
@ -3694,10 +3708,10 @@ void StatusPanel::on_filament_edit(wxCommandEvent &event)
|
|||
m_filament_setting_dlg->Move(wxPoint(current_position_x, current_position_y));
|
||||
m_filament_setting_dlg->Popup(wxEmptyString, wxEmptyString, wxEmptyString, wxEmptyString, k_val, n_val);
|
||||
} else {
|
||||
std::string tray_id = event.GetString().ToStdString(); // m_ams_control->GetCurrentCan(ams_id);
|
||||
//std::string tray_id = event.GetString().ToStdString(); // m_ams_control->GetCurrentCan(ams_id);
|
||||
try {
|
||||
ams_id_int = atoi(ams_id.c_str());
|
||||
tray_id_int = atoi(tray_id.c_str());
|
||||
ams_id_int = tray_id / 4;
|
||||
tray_id_int = tray_id % 4;
|
||||
m_filament_setting_dlg->ams_id = ams_id_int;
|
||||
m_filament_setting_dlg->tray_id = tray_id_int;
|
||||
|
||||
|
|
@ -3707,9 +3721,9 @@ void StatusPanel::on_filament_edit(wxCommandEvent &event)
|
|||
std::string temp_min;
|
||||
wxString k_val;
|
||||
wxString n_val;
|
||||
auto it = obj->amsList.find(ams_id);
|
||||
auto it = obj->amsList.find(std::to_string(ams_id_int));
|
||||
if (it != obj->amsList.end()) {
|
||||
auto tray_it = it->second->trayList.find(tray_id);
|
||||
auto tray_it = it->second->trayList.find(std::to_string(tray_id));
|
||||
if (tray_it != it->second->trayList.end()) {
|
||||
k_val = wxString::Format("%.3f", tray_it->second->k);
|
||||
n_val = wxString::Format("%.3f", tray_it->second->n);
|
||||
|
|
@ -3762,7 +3776,10 @@ void StatusPanel::on_ext_spool_edit(wxCommandEvent &event)
|
|||
current_position_y = current_position_y + m_filament_setting_dlg->GetSize().GetHeight() > drect ? drect - m_filament_setting_dlg->GetSize().GetHeight() : current_position_y;
|
||||
|
||||
if (obj) {
|
||||
int tray_id = event.GetInt();
|
||||
int ams_id = tray_id;
|
||||
m_filament_setting_dlg->obj = obj;
|
||||
m_filament_setting_dlg->ams_id = ams_id;
|
||||
try {
|
||||
m_filament_setting_dlg->tray_id = VIRTUAL_TRAY_ID;
|
||||
std::string sn_number;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue