diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 630454d53..fa1d97cf4 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -999,6 +999,7 @@ void GLCanvas3D::SequentialPrintClearance::render() wxDEFINE_EVENT(EVT_GLCANVAS_SCHEDULE_BACKGROUND_PROCESS, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_OBJECT_SELECT, SimpleEvent); +wxDEFINE_EVENT(EVT_GLCANVAS_PLATE_NAME_CHANGE, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_PLATE_SELECT, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_RIGHT_CLICK, RBtnEvent); wxDEFINE_EVENT(EVT_GLCANVAS_PLATE_RIGHT_CLICK, RBtnPlateEvent); diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index 856c24ed4..99af1dc97 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -138,6 +138,7 @@ private: wxDECLARE_EVENT(EVT_GLCANVAS_OBJECT_SELECT, SimpleEvent); +wxDECLARE_EVENT(EVT_GLCANVAS_PLATE_NAME_CHANGE, SimpleEvent); //BBS: declare EVT_GLCANVAS_PLATE_SELECT wxDECLARE_EVENT(EVT_GLCANVAS_PLATE_SELECT, SimpleEvent); diff --git a/src/slic3r/GUI/GUI_Factories.cpp b/src/slic3r/GUI/GUI_Factories.cpp index 803a8346b..b82d0c704 100644 --- a/src/slic3r/GUI/GUI_Factories.cpp +++ b/src/slic3r/GUI/GUI_Factories.cpp @@ -1677,6 +1677,7 @@ void MenuFactory::append_menu_item_plate_name(wxMenu *menu) { plater()->select_plate_by_hover_id(hover_idx, false, true); } + plater()->get_current_canvas3D()->post_event(SimpleEvent(EVT_GLCANVAS_PLATE_NAME_CHANGE)); }, "", nullptr, []() { return true; }, m_parent); diff --git a/src/slic3r/GUI/ObjectDataViewModel.cpp b/src/slic3r/GUI/ObjectDataViewModel.cpp index f1773b096..61d80b107 100644 --- a/src/slic3r/GUI/ObjectDataViewModel.cpp +++ b/src/slic3r/GUI/ObjectDataViewModel.cpp @@ -1251,7 +1251,7 @@ wxDataViewItem ObjectDataViewModel::GetItemByPlateId(int plate_idx) return wxDataViewItem(nullptr); } -void ObjectDataViewModel::SetCurSelectedPlateFullNmae(int plate_idx, const std::string & custom_name) { +void ObjectDataViewModel::SetCurSelectedPlateFullName(int plate_idx, const std::string & custom_name) { for (auto plate : m_plates) { if (plate->m_plate_idx == plate_idx) { wxString plate_full_name =_L("Plate"); diff --git a/src/slic3r/GUI/ObjectDataViewModel.hpp b/src/slic3r/GUI/ObjectDataViewModel.hpp index e2a813b0e..888f119db 100644 --- a/src/slic3r/GUI/ObjectDataViewModel.hpp +++ b/src/slic3r/GUI/ObjectDataViewModel.hpp @@ -361,7 +361,7 @@ public: void DeleteVolumeChildren(wxDataViewItem& parent); void DeleteSettings(const wxDataViewItem& parent); wxDataViewItem GetItemByPlateId(int plate_idx); - void SetCurSelectedPlateFullNmae(int plate_idx,const std::string &); + void SetCurSelectedPlateFullName(int plate_idx,const std::string &); wxDataViewItem GetItemById(int obj_idx); wxDataViewItem GetItemById(const int obj_idx, const int sub_obj_idx, const ItemType parent_type); wxDataViewItem GetItemByVolumeId(int obj_idx, int volume_idx); diff --git a/src/slic3r/GUI/PartPlate.cpp b/src/slic3r/GUI/PartPlate.cpp index 691b23402..62a2449f5 100644 --- a/src/slic3r/GUI/PartPlate.cpp +++ b/src/slic3r/GUI/PartPlate.cpp @@ -1635,7 +1635,7 @@ void PartPlate::set_plate_name(const std::string &name) if (m_plater) { ObjectList *obj_list = wxGetApp().obj_list(); if (obj_list) { - obj_list->GetModel()->SetCurSelectedPlateFullNmae(m_plate_index, m_name); + obj_list->GetModel()->SetCurSelectedPlateFullName(m_plate_index, m_name); } } diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 8f2588cdb..04f7b55c4 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2133,6 +2133,7 @@ struct Plater::priv void on_action_layersediting(SimpleEvent&); void on_object_select(SimpleEvent&); + void on_plate_name_change(SimpleEvent &); void on_right_click(RBtnEvent&); //BBS: add model repair void on_repair_model(wxCommandEvent &event); @@ -2424,6 +2425,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) this->background_process_timer.Start(500, wxTIMER_ONE_SHOT); }); view3D_canvas->Bind(EVT_GLCANVAS_OBJECT_SELECT, &priv::on_object_select, this); + view3D_canvas->Bind(EVT_GLCANVAS_PLATE_NAME_CHANGE, &priv::on_plate_name_change, this); view3D_canvas->Bind(EVT_GLCANVAS_RIGHT_CLICK, &priv::on_right_click, this); //BBS: add part plate related logic view3D_canvas->Bind(EVT_GLCANVAS_PLATE_RIGHT_CLICK, &priv::on_plate_right_click, this); @@ -6423,6 +6425,11 @@ void Plater::priv::on_object_select(SimpleEvent& evt) selection_changed(); } +void Plater::priv::on_plate_name_change(SimpleEvent &) { + wxGetApp().obj_list()->update_selections(); + selection_changed(); +} + //BBS: repair model through netfabb void Plater::priv::on_repair_model(wxCommandEvent &event) {