From a6be285843b3ffda26a4c8afd28106d1ff4f38fb Mon Sep 17 00:00:00 2001 From: "liz.li" Date: Mon, 3 Apr 2023 16:44:31 +0800 Subject: [PATCH] FIX:textinput behavior on send dialog (STUDIO-2347) Change-Id: Iec970de7cd2f85b835b64283089c41f52df1cfcc --- src/slic3r/GUI/AmsMappingPopup.cpp | 10 ++++++++-- src/slic3r/GUI/AmsMappingPopup.hpp | 1 + src/slic3r/GUI/SelectMachine.cpp | 9 +++++++-- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/slic3r/GUI/AmsMappingPopup.cpp b/src/slic3r/GUI/AmsMappingPopup.cpp index 390d89762..15e4ac22c 100644 --- a/src/slic3r/GUI/AmsMappingPopup.cpp +++ b/src/slic3r/GUI/AmsMappingPopup.cpp @@ -45,7 +45,13 @@ wxDEFINE_EVENT(EVT_SET_FINISH_MAPPING, wxCommandEvent); SetMaxSize(MATERIAL_ITEM_SIZE); SetBackgroundColour(*wxWHITE); - Bind(wxEVT_PAINT, &MaterialItem::paintEvent, this); + m_main_panel = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL); + auto main_sizer = new wxBoxSizer(wxVERTICAL); + main_sizer->Add(m_main_panel, 1, wxEXPAND); + this->SetSizer(main_sizer); + this->Layout(); + + m_main_panel->Bind(wxEVT_PAINT, &MaterialItem::paintEvent, this); wxGetApp().UpdateDarkUI(this); } @@ -89,7 +95,7 @@ void MaterialItem::on_normal() void MaterialItem::paintEvent(wxPaintEvent &evt) { - wxPaintDC dc(this); + wxPaintDC dc(m_main_panel); render(dc); //PrepareDC(buffdc); diff --git a/src/slic3r/GUI/AmsMappingPopup.hpp b/src/slic3r/GUI/AmsMappingPopup.hpp index 7606a172f..5fb5e0b6f 100644 --- a/src/slic3r/GUI/AmsMappingPopup.hpp +++ b/src/slic3r/GUI/AmsMappingPopup.hpp @@ -66,6 +66,7 @@ public: MaterialItem(wxWindow *parent,wxColour mcolour, wxString mname); ~MaterialItem(); + wxPanel* m_main_panel; wxColour m_material_coloul; wxString m_material_name; diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index 9cbe9b2d4..4e94b611c 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -1024,6 +1024,11 @@ SelectMachineDialog::SelectMachineDialog(Plater *plater) m_rename_input->SetMinSize(wxSize(FromDIP(380), FromDIP(24))); m_rename_input->SetMaxSize(wxSize(FromDIP(380), FromDIP(24))); m_rename_input->Bind(wxEVT_TEXT_ENTER, [this](auto& e) {on_rename_enter();}); + m_rename_input->Bind(wxEVT_KILL_FOCUS, [this](auto& e) { + if (!m_rename_input->HasFocus() && !m_rename_text->HasFocus()) + on_rename_enter(); + else + e.Skip(); }); rename_edit_sizer_v->Add(m_rename_input, 1, wxALIGN_CENTER, 0); @@ -1217,7 +1222,7 @@ SelectMachineDialog::SelectMachineDialog(Plater *plater) m_ams_backup_tip->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {SetCursor(wxCURSOR_ARROW); }); img_ams_backup->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {SetCursor(wxCURSOR_ARROW); }); - m_ams_backup_tip->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {popup_filament_backup();}); + m_ams_backup_tip->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {popup_filament_backup(); on_rename_enter(); }); img_ams_backup->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {popup_filament_backup();}); @@ -3501,7 +3506,7 @@ void EditDevNameDialog::on_edit_name(wxCommandEvent &e) SetBackgroundStyle(wxBG_STYLE_CUSTOM); wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL); - m_staticbitmap = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize); + m_staticbitmap = new wxStaticBitmap(parent, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize); sizer->Add(m_staticbitmap, 1, wxEXPAND|wxALL, 0); SetSizer(sizer); Layout();