mirror of
https://git.mirrors.martin98.com/https://github.com/bambulab/BambuStudio.git
synced 2025-09-29 06:13:16 +08:00
ENH:adjust UI in AmsMapingPopup
jira: none Change-Id: Ib2e7e642d7a1700abb92eca2546614b2fd7d2bd4
This commit is contained in:
parent
1522fe5ff2
commit
5c8d620973
@ -580,7 +580,7 @@ AmsMapingPopup::AmsMapingPopup(wxWindow *parent, bool use_in_sync_dialog) :
|
|||||||
m_sizer_ams = new wxBoxSizer(wxHORIZONTAL);
|
m_sizer_ams = new wxBoxSizer(wxHORIZONTAL);
|
||||||
m_sizer_ams_left = new wxBoxSizer(wxVERTICAL);
|
m_sizer_ams_left = new wxBoxSizer(wxVERTICAL);
|
||||||
m_sizer_ams_right = new wxBoxSizer(wxVERTICAL);
|
m_sizer_ams_right = new wxBoxSizer(wxVERTICAL);
|
||||||
//m_sizer_ams_left_horizonal = new wxBoxSizer(wxHORIZONTAL);
|
m_sizer_ams_left_horizonal = new wxBoxSizer(wxHORIZONTAL);
|
||||||
m_sizer_ams_right_horizonal = new wxBoxSizer(wxHORIZONTAL);
|
m_sizer_ams_right_horizonal = new wxBoxSizer(wxHORIZONTAL);
|
||||||
m_sizer_ams_basket_left = new wxBoxSizer(wxVERTICAL);
|
m_sizer_ams_basket_left = new wxBoxSizer(wxVERTICAL);
|
||||||
m_sizer_ams_basket_right = new wxBoxSizer(wxVERTICAL);
|
m_sizer_ams_basket_right = new wxBoxSizer(wxVERTICAL);
|
||||||
@ -606,7 +606,8 @@ AmsMapingPopup::AmsMapingPopup(wxWindow *parent, bool use_in_sync_dialog) :
|
|||||||
|
|
||||||
m_left_marea_panel = new wxPanel(this);
|
m_left_marea_panel = new wxPanel(this);
|
||||||
m_right_marea_panel = new wxPanel(this);
|
m_right_marea_panel = new wxPanel(this);
|
||||||
|
m_left_first_text_panel = new wxPanel(m_left_marea_panel);
|
||||||
|
m_right_first_text_panel = new wxPanel(m_right_marea_panel);
|
||||||
auto sizer_temp = new wxBoxSizer(wxHORIZONTAL);
|
auto sizer_temp = new wxBoxSizer(wxHORIZONTAL);
|
||||||
/*left ext*/
|
/*left ext*/
|
||||||
m_left_extra_slot = new MappingItem(m_left_marea_panel);
|
m_left_extra_slot = new MappingItem(m_left_marea_panel);
|
||||||
@ -636,13 +637,15 @@ AmsMapingPopup::AmsMapingPopup(wxWindow *parent, bool use_in_sync_dialog) :
|
|||||||
m_left_tip_text = _L("Select filament that installed to the left nozzle");
|
m_left_tip_text = _L("Select filament that installed to the left nozzle");
|
||||||
m_right_tip_text = _L("Select filament that installed to the right nozzle");
|
m_right_tip_text = _L("Select filament that installed to the right nozzle");
|
||||||
|
|
||||||
m_left_tips = new Label(m_left_marea_panel);
|
m_left_tips = new Label(m_left_first_text_panel);
|
||||||
m_left_tips->SetForegroundColour(StateColor::darkModeColorFor("0x262E30"));
|
m_left_tips->SetForegroundColour(StateColor::darkModeColorFor("0x262E30"));
|
||||||
m_left_tips->SetBackgroundColour(StateColor::darkModeColorFor("0xFFFFFF"));
|
m_left_tips->SetBackgroundColour(StateColor::darkModeColorFor("0xFFFFFF"));
|
||||||
m_left_tips->SetFont(::Label::Body_13);
|
m_left_tips->SetFont(::Label::Body_13);
|
||||||
m_left_tips->SetLabel(m_left_tip_text);
|
m_left_tips->SetLabel(m_left_tip_text);
|
||||||
|
m_sizer_ams_left_horizonal->Add(m_left_tips, 0, wxEXPAND, 0);
|
||||||
|
m_left_first_text_panel->SetSizer(m_sizer_ams_left_horizonal);
|
||||||
|
|
||||||
m_sizer_ams_left->Add(m_left_tips, 0, wxEXPAND | wxBOTTOM, FromDIP(8));
|
m_sizer_ams_left->Add(m_left_first_text_panel, 0, wxEXPAND | wxBOTTOM, FromDIP(8));
|
||||||
m_left_split_ams_sizer = create_split_sizer(m_left_marea_panel, _L("Left AMS"));
|
m_left_split_ams_sizer = create_split_sizer(m_left_marea_panel, _L("Left AMS"));
|
||||||
m_sizer_ams_left->Add(m_left_split_ams_sizer, 0, wxEXPAND, 0);
|
m_sizer_ams_left->Add(m_left_split_ams_sizer, 0, wxEXPAND, 0);
|
||||||
m_sizer_ams_left->Add(m_sizer_ams_basket_left, 0, wxEXPAND|wxTOP, FromDIP(8));
|
m_sizer_ams_left->Add(m_sizer_ams_basket_left, 0, wxEXPAND|wxTOP, FromDIP(8));
|
||||||
@ -650,23 +653,27 @@ AmsMapingPopup::AmsMapingPopup(wxWindow *parent, bool use_in_sync_dialog) :
|
|||||||
//m_sizer_ams_left->Add(m_left_extra_slot, 0, wxEXPAND|wxTOP, FromDIP(8));
|
//m_sizer_ams_left->Add(m_left_extra_slot, 0, wxEXPAND|wxTOP, FromDIP(8));
|
||||||
m_sizer_ams_left->Add(sizer_temp, 0, wxEXPAND | wxTOP, FromDIP(8));
|
m_sizer_ams_left->Add(sizer_temp, 0, wxEXPAND | wxTOP, FromDIP(8));
|
||||||
|
|
||||||
m_right_tips = new Label(m_right_marea_panel);
|
m_right_tips = new Label(m_right_first_text_panel);
|
||||||
m_right_tips->SetForegroundColour(0x262E30);
|
m_right_tips->SetForegroundColour(0x262E30);
|
||||||
m_right_tips->SetBackgroundColour(*wxWHITE);
|
m_right_tips->SetBackgroundColour(*wxWHITE);
|
||||||
m_right_tips->SetFont(::Label::Body_13);
|
m_right_tips->SetFont(::Label::Body_13);
|
||||||
m_right_tips->SetLabel(m_right_tip_text);
|
m_right_tips->SetLabel(m_right_tip_text);
|
||||||
m_sizer_ams_right_horizonal->Add(m_right_tips, 0, wxEXPAND | wxBOTTOM, FromDIP(8));
|
m_sizer_ams_right_horizonal->Add(m_right_tips, 0, wxEXPAND , 0);
|
||||||
|
|
||||||
m_reset_btn = new ScalableButton(m_right_marea_panel, wxID_ANY, "text_undo", wxEmptyString, wxDefaultSize, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, true);
|
m_reset_btn = new ScalableButton(m_right_first_text_panel, wxID_ANY, "text_undo", wxEmptyString, wxDefaultSize, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, true, 14);
|
||||||
m_reset_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent &e) { reset_ams_info(); });
|
m_reset_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent &e) { reset_ams_info(); });
|
||||||
m_reset_btn->SetBackgroundColour(*wxWHITE);
|
m_reset_btn->SetBackgroundColour(*wxWHITE);
|
||||||
m_reset_btn->SetToolTip(_L("Reset current filament mapping"));
|
m_reset_btn->SetToolTip(_L("Reset current filament mapping"));
|
||||||
m_sizer_ams_right_horizonal->AddStretchSpacer();
|
m_sizer_ams_right_horizonal->AddStretchSpacer();
|
||||||
m_sizer_ams_right_horizonal->AddSpacer(FromDIP(5));
|
m_sizer_ams_right_horizonal->AddSpacer(FromDIP(5));
|
||||||
m_sizer_ams_right_horizonal->Add(m_reset_btn, 0, wxEXPAND | wxBOTTOM, FromDIP(10));
|
m_sizer_ams_right_horizonal->Add(m_reset_btn, 0, wxALIGN_TOP | wxEXPAND );
|
||||||
m_reset_btn->Hide();
|
m_reset_btn->Hide();
|
||||||
|
m_right_first_text_panel->SetSizer(m_sizer_ams_right_horizonal);
|
||||||
|
const int same_height = 15;
|
||||||
|
m_left_first_text_panel->SetMaxSize(wxSize(-1, FromDIP(same_height)));
|
||||||
|
m_right_first_text_panel->SetMaxSize(wxSize(-1, FromDIP(same_height)));
|
||||||
|
|
||||||
m_sizer_ams_right->Add(m_sizer_ams_right_horizonal, 0, wxEXPAND, 0);
|
m_sizer_ams_right->Add(m_right_first_text_panel, 0, wxEXPAND | wxBOTTOM, FromDIP(8));
|
||||||
m_right_split_ams_sizer = create_split_sizer(m_right_marea_panel, _L("Right AMS"));
|
m_right_split_ams_sizer = create_split_sizer(m_right_marea_panel, _L("Right AMS"));
|
||||||
m_sizer_ams_right->Add(m_right_split_ams_sizer, 0, wxEXPAND, 0);
|
m_sizer_ams_right->Add(m_right_split_ams_sizer, 0, wxEXPAND, 0);
|
||||||
m_sizer_ams_right->Add(m_sizer_ams_basket_right, 0, wxEXPAND|wxTOP, FromDIP(8));
|
m_sizer_ams_right->Add(m_sizer_ams_basket_right, 0, wxEXPAND|wxTOP, FromDIP(8));
|
||||||
|
@ -211,6 +211,7 @@ public:
|
|||||||
wxBoxSizer *m_sizer_ams{nullptr};
|
wxBoxSizer *m_sizer_ams{nullptr};
|
||||||
wxBoxSizer *m_sizer_ams_left{nullptr};
|
wxBoxSizer *m_sizer_ams_left{nullptr};
|
||||||
wxBoxSizer *m_sizer_ams_right{nullptr};
|
wxBoxSizer *m_sizer_ams_right{nullptr};
|
||||||
|
wxBoxSizer *m_sizer_ams_left_horizonal{nullptr};
|
||||||
wxBoxSizer *m_sizer_ams_right_horizonal{nullptr};
|
wxBoxSizer *m_sizer_ams_right_horizonal{nullptr};
|
||||||
wxBoxSizer* m_sizer_ams_basket_left{ nullptr };
|
wxBoxSizer* m_sizer_ams_basket_left{ nullptr };
|
||||||
wxBoxSizer* m_sizer_ams_basket_right{ nullptr };
|
wxBoxSizer* m_sizer_ams_basket_right{ nullptr };
|
||||||
@ -219,8 +220,10 @@ public:
|
|||||||
MappingItem* m_left_extra_slot{nullptr};
|
MappingItem* m_left_extra_slot{nullptr};
|
||||||
MappingItem* m_right_extra_slot{nullptr};
|
MappingItem* m_right_extra_slot{nullptr};
|
||||||
|
|
||||||
wxPanel* m_left_marea_panel;
|
wxPanel * m_left_marea_panel{nullptr};
|
||||||
wxPanel* m_right_marea_panel;
|
wxPanel * m_right_marea_panel{nullptr};
|
||||||
|
wxPanel * m_left_first_text_panel{nullptr};
|
||||||
|
wxPanel * m_right_first_text_panel{nullptr};
|
||||||
wxBoxSizer * m_left_split_ams_sizer{nullptr};
|
wxBoxSizer * m_left_split_ams_sizer{nullptr};
|
||||||
wxBoxSizer * m_right_split_ams_sizer{nullptr};
|
wxBoxSizer * m_right_split_ams_sizer{nullptr};
|
||||||
Label * m_left_tips{nullptr};
|
Label * m_left_tips{nullptr};
|
||||||
|
@ -493,8 +493,11 @@ bool PresetComboBox::add_ams_filaments(std::string selected, bool alias_name)
|
|||||||
}
|
}
|
||||||
auto & tray = entry.second;
|
auto & tray = entry.second;
|
||||||
std::string filament_id = tray.opt_string("filament_id", 0u);
|
std::string filament_id = tray.opt_string("filament_id", 0u);
|
||||||
if (filament_id.empty())
|
auto name = tray.opt_string("tray_name", 0u);
|
||||||
|
if (filament_id.empty()) {
|
||||||
|
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(": %1% 's filament_id is empty.") % name;
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
auto iter = std::find_if(filaments.begin(), filaments.end(),
|
auto iter = std::find_if(filaments.begin(), filaments.end(),
|
||||||
[&filament_id, this](auto &f) { return f.is_compatible && m_collection->get_preset_base(f) == &f && f.filament_id == filament_id; });
|
[&filament_id, this](auto &f) { return f.is_compatible && m_collection->get_preset_base(f) == &f && f.filament_id == filament_id; });
|
||||||
if (iter == filaments.end()) {
|
if (iter == filaments.end()) {
|
||||||
@ -511,7 +514,6 @@ bool PresetComboBox::add_ams_filaments(std::string selected, bool alias_name)
|
|||||||
}
|
}
|
||||||
const_cast<Preset&>(*iter).is_visible = true;
|
const_cast<Preset&>(*iter).is_visible = true;
|
||||||
auto color = tray.opt_string("filament_colour", 0u);
|
auto color = tray.opt_string("filament_colour", 0u);
|
||||||
auto name = tray.opt_string("tray_name", 0u);
|
|
||||||
wxBitmap bmp(*get_extruder_color_icon(color, name, icon_width, 16));
|
wxBitmap bmp(*get_extruder_color_icon(color, name, icon_width, 16));
|
||||||
auto text = get_preset_name(*iter);
|
auto text = get_preset_name(*iter);
|
||||||
int item_id = Append(text, bmp.ConvertToImage(), &m_first_ams_filament + entry.first);
|
int item_id = Append(text, bmp.ConvertToImage(), &m_first_ams_filament + entry.first);
|
||||||
|
@ -1368,11 +1368,12 @@ void SyncAmsInfoDialog::deal_only_exist_ext_spool(MachineObject *obj_) {
|
|||||||
return;
|
return;
|
||||||
if (!m_append_color_text) { return; }
|
if (!m_append_color_text) { return; }
|
||||||
bool only_exist_ext_spool_flag = m_only_exist_ext_spool_flag = obj_->only_exist_ext_spool();
|
bool only_exist_ext_spool_flag = m_only_exist_ext_spool_flag = obj_->only_exist_ext_spool();
|
||||||
auto temp_str = only_exist_ext_spool_flag ? "" : "AMS ";
|
SetTitle(only_exist_ext_spool_flag ? _L("Synchronize Filament Information") : _L("Synchronize AMS Filament Information"));
|
||||||
SetTitle(wxString::Format(_L("Synchronize %sFilament Information"), temp_str));
|
m_append_color_text->SetLabel(only_exist_ext_spool_flag ? _L("Unused filaments should also be added to the filament list.") :
|
||||||
m_append_color_text->SetLabel(wxString::Format(_L("Unused %sfilaments should also be added to the filament list."), temp_str));
|
_L("Unused AMS filaments should also be added to the filament list."));
|
||||||
if (m_map_mode == MapModeEnum::ColorMap) {
|
if (m_map_mode == MapModeEnum::ColorMap) {
|
||||||
m_tip_attention_color_map = wxString::Format(_L("Only synchronize filament type and color, not including %sslot information."), temp_str);
|
m_tip_attention_color_map = only_exist_ext_spool_flag ? _L("Only synchronize filament type and color, not including slot information.") :
|
||||||
|
_L("Only synchronize filament type and color, not including AMS slot information.");
|
||||||
m_tip_text->SetLabel(m_tip_attention_color_map);
|
m_tip_text->SetLabel(m_tip_attention_color_map);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -2457,6 +2458,7 @@ void SyncAmsInfoDialog::update_show_status()
|
|||||||
|
|
||||||
if (!obj_->is_info_ready()) {
|
if (!obj_->is_info_ready()) {
|
||||||
if (is_timeout()) {
|
if (is_timeout()) {
|
||||||
|
BOOST_LOG_TRIVIAL(error) << "check error:machine timeout";
|
||||||
m_ams_mapping_result.clear();
|
m_ams_mapping_result.clear();
|
||||||
sync_ams_mapping_result(m_ams_mapping_result);
|
sync_ams_mapping_result(m_ams_mapping_result);
|
||||||
show_status(PrintDialogStatus::PrintStatusReadingTimeout);
|
show_status(PrintDialogStatus::PrintStatusReadingTimeout);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user