From 33a0f5beff5d4ba91f4352741f99df303191cd8a Mon Sep 17 00:00:00 2001 From: YuSanka Date: Thu, 18 Oct 2018 11:28:31 +0200 Subject: [PATCH] Deleted "Copy" column from ObjectList --- src/slic3r/GUI/GUI_ObjectList.cpp | 32 +++++++++---------------- src/slic3r/GUI/GUI_ObjectList.hpp | 2 -- src/slic3r/GUI/Plater.cpp | 4 +--- src/slic3r/GUI/Tab.cpp | 2 +- src/slic3r/GUI/wxExtensions.cpp | 39 ++++--------------------------- src/slic3r/GUI/wxExtensions.hpp | 15 +++--------- 6 files changed, 21 insertions(+), 73 deletions(-) diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 5a20756cef..ca54a3ca02 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -94,17 +94,13 @@ void ObjectList::create_objects_ctrl() // column 0(Icon+Text) of the view control: // And Icon can be consisting of several bitmaps AppendColumn(new wxDataViewColumn(_(L("Name")), new PrusaBitmapTextRenderer(), - 0, 200, wxALIGN_LEFT, wxDATAVIEW_COL_RESIZABLE)); + 0, 250, wxALIGN_LEFT, wxDATAVIEW_COL_RESIZABLE)); // column 1 of the view control: - AppendTextColumn(_(L("Copy")), 1, wxDATAVIEW_CELL_INERT, 45, - wxALIGN_CENTER_HORIZONTAL, wxDATAVIEW_COL_RESIZABLE); - - // column 2 of the view control: AppendColumn(create_objects_list_extruder_column(4)); - // column 3 of the view control: - AppendBitmapColumn(" ", 3, wxDATAVIEW_CELL_INERT, 25, + // column 2 of the view control: + AppendBitmapColumn(" ", 2, wxDATAVIEW_CELL_INERT, 25, wxALIGN_CENTER_HORIZONTAL, wxDATAVIEW_COL_RESIZABLE); } @@ -178,7 +174,7 @@ wxDataViewColumn* ObjectList::create_objects_list_extruder_column(int extruders_ choices.Add(wxString::Format("%d", i)); wxDataViewChoiceRenderer *c = new wxDataViewChoiceRenderer(choices, wxDATAVIEW_CELL_EDITABLE, wxALIGN_CENTER_HORIZONTAL); - wxDataViewColumn* column = new wxDataViewColumn(_(L("Extruder")), c, 2, 60, wxALIGN_CENTER_HORIZONTAL, wxDATAVIEW_COL_RESIZABLE); + wxDataViewColumn* column = new wxDataViewColumn(_(L("Extruder")), c, 1, 80, wxALIGN_CENTER_HORIZONTAL, wxDATAVIEW_COL_RESIZABLE); return column; } @@ -188,17 +184,17 @@ void ObjectList::update_objects_list_extruder_column(int extruders_count) if (wxGetApp().preset_bundle->printers.get_selected_preset().printer_technology() == ptSLA) extruders_count = 1; - // delete old 3rd column - DeleteColumn(GetColumn(2)); + // delete old 2nd column + DeleteColumn(GetColumn(1)); // insert new created 3rd column - InsertColumn(2, create_objects_list_extruder_column(extruders_count)); + InsertColumn(1, create_objects_list_extruder_column(extruders_count)); // set show/hide for this column set_extruder_column_hidden(extruders_count <= 1); } void ObjectList::set_extruder_column_hidden(bool hide) { - GetColumn(2)->SetHidden(hide); + GetColumn(1)->SetHidden(hide); } void ObjectList::update_extruder_in_config(const wxString& selection) @@ -313,10 +309,10 @@ void ObjectList::key_event(wxKeyEvent& event) void ObjectList::item_value_change(wxDataViewEvent& event) { - if (event.GetColumn() == 2) + if (event.GetColumn() == 1) { wxVariant variant; - m_objects_model->GetValue(variant, event.GetItem(), 2); + m_objects_model->GetValue(variant, event.GetItem(), 1); #ifdef __WXOSX__ m_selected_extruder = variant.GetString(); #else // --> for Linux @@ -1076,7 +1072,7 @@ void ObjectList::add_object_to_list(size_t obj_idx) { auto model_object = (*m_objects)[obj_idx]; wxString item_name = model_object->name; - auto item = m_objects_model->Add(item_name, model_object->instances.size()); + auto item = m_objects_model->Add(item_name); #if !ENABLE_EXTENDED_SELECTION /*Select*/select_item(item); #endif // !ENABLE_EXTENDED_SELECTION @@ -1143,12 +1139,6 @@ void ObjectList::decrease_object_instances(const size_t obj_idx, const size_t nu select_item(m_objects_model->DeleteLastInstance(m_objects_model->GetItemById(obj_idx), num)); } -void ObjectList::set_object_count(int idx, int count) -{ - m_objects_model->SetValue(wxString::Format("%d", count), idx, 1); - Refresh(); -} - void ObjectList::unselect_objects() { if (!GetSelection()) diff --git a/src/slic3r/GUI/GUI_ObjectList.hpp b/src/slic3r/GUI/GUI_ObjectList.hpp index 2325734bd7..c56e696700 100644 --- a/src/slic3r/GUI/GUI_ObjectList.hpp +++ b/src/slic3r/GUI/GUI_ObjectList.hpp @@ -116,8 +116,6 @@ public: void increase_object_instances(const size_t obj_idx, const size_t num); // Decrease instances count void decrease_object_instances(const size_t obj_idx, const size_t num); - // Set count of object on c++ side - void set_object_count(int idx, int count); // #ys_FIXME_to_delete // Unselect all objects in the list on c++ side diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 7ef58d8bbc..8238db65a7 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1742,11 +1742,10 @@ void Plater::increase(size_t num) float offset = 10.0; for (size_t i = 0; i < num; i++, offset += 10.0) { Vec3d offset_vec = model_instance->get_offset() + Vec3d(offset, offset, 0.0); - auto *new_instance = model_object->add_instance(offset_vec, model_instance->get_scaling_factor(), model_instance->get_rotation()); + model_object->add_instance(offset_vec, model_instance->get_scaling_factor(), model_instance->get_rotation()); p->print.get_object(*obj_idx)->add_copy(Slic3r::to_2d(offset_vec)); } - sidebar().obj_list()->set_object_count(*obj_idx, model_object->instances.size()); sidebar().obj_list()->increase_object_instances(*obj_idx, num); if (p->get_config("autocenter") == "1") { @@ -1771,7 +1770,6 @@ void Plater::decrease(size_t num) model_object->delete_last_instance(); p->print.get_object(*obj_idx)->delete_last_copy(); } - sidebar().obj_list()->set_object_count(*obj_idx, model_object->instances.size()); sidebar().obj_list()->decrease_object_instances(*obj_idx, num); } else { remove(*obj_idx); diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 023a6a67d5..3b9fe0bd39 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -1845,7 +1845,7 @@ void TabPrinter::extruders_count_changed(size_t extruders_count){ if (!wxGetApp().mainframe) return; on_value_change("extruders_count", extruders_count); - wxGetApp().mainframe->m_plater->sidebar().update_objects_list_extruder_column(extruders_count); + wxGetApp().sidebar().update_objects_list_extruder_column(extruders_count); } void TabPrinter::append_option_line(ConfigOptionsGroupShp optgroup, const std::string opt_key) diff --git a/src/slic3r/GUI/wxExtensions.cpp b/src/slic3r/GUI/wxExtensions.cpp index cd5f339e0b..f74aa02b40 100644 --- a/src/slic3r/GUI/wxExtensions.cpp +++ b/src/slic3r/GUI/wxExtensions.cpp @@ -418,17 +418,6 @@ wxDataViewItem PrusaObjectDataViewModel::Add(const wxString &name) return child; } -wxDataViewItem PrusaObjectDataViewModel::Add(const wxString &name, const int instances_count/*, int scale*/) -{ - auto root = new PrusaObjectDataViewModelNode(name, instances_count); - m_objects.push_back(root); - // notify control - wxDataViewItem child((void*)root); - wxDataViewItem parent((void*)NULL); - ItemAdded(parent, child); - return child; -} - wxDataViewItem PrusaObjectDataViewModel::AddVolumeChild(const wxDataViewItem &parent_item, const wxString &name, const wxBitmap& icon, @@ -442,8 +431,8 @@ wxDataViewItem PrusaObjectDataViewModel::AddVolumeChild(const wxDataViewItem &pa if (create_frst_child && root->m_volumes_cnt == 0) { - const auto icon_solid_mesh = wxIcon(Slic3r::GUI::from_u8(Slic3r::var("object.png")), wxBITMAP_TYPE_PNG); - const auto node = new PrusaObjectDataViewModelNode(root, root->m_name, icon_solid_mesh, extruder_str, 0); + const auto bmp_solid_mesh = wxBitmap(Slic3r::GUI::from_u8(Slic3r::var("object.png")), wxBITMAP_TYPE_PNG); + const auto node = new PrusaObjectDataViewModelNode(root, root->m_name, bmp_solid_mesh, extruder_str, 0); root->Append(node); // notify control const wxDataViewItem child((void*)node); @@ -795,21 +784,6 @@ wxString PrusaObjectDataViewModel::GetName(const wxDataViewItem &item) const return node->m_name; } -wxString PrusaObjectDataViewModel::GetCopy(const wxDataViewItem &item) const -{ - PrusaObjectDataViewModelNode *node = (PrusaObjectDataViewModelNode*)item.GetID(); - if (!node) // happens if item.IsOk()==false - return wxEmptyString; - - return node->m_copy; -} - -// wxIcon& PrusaObjectDataViewModel::GetIcon(const wxDataViewItem &item) const -// { -// PrusaObjectDataViewModelNode *node = (PrusaObjectDataViewModelNode*)item.GetID(); -// return node->m_icon; -// } - wxBitmap& PrusaObjectDataViewModel::GetBitmap(const wxDataViewItem &item) const { PrusaObjectDataViewModelNode *node = (PrusaObjectDataViewModelNode*)item.GetID(); @@ -823,16 +797,13 @@ void PrusaObjectDataViewModel::GetValue(wxVariant &variant, const wxDataViewItem PrusaObjectDataViewModelNode *node = (PrusaObjectDataViewModelNode*)item.GetID(); switch (col) { - case 0:{ + case 0: variant << PrusaDataViewBitmapText(node->m_name, node->m_bmp); - break;} - case 1: - variant = node->m_copy; break; - case 2: + case 1: variant = node->m_extruder; break; - case 3: + case 2: variant << node->m_action_icon; break; default: diff --git a/src/slic3r/GUI/wxExtensions.hpp b/src/slic3r/GUI/wxExtensions.hpp index c1ff4074e2..01677809d9 100644 --- a/src/slic3r/GUI/wxExtensions.hpp +++ b/src/slic3r/GUI/wxExtensions.hpp @@ -166,7 +166,7 @@ public: void SetText(const wxString &text) { m_text = text; } wxString GetText() const { return m_text; } - void SetBitmap(const wxIcon &icon) { m_bmp = icon; } + void SetBitmap(const wxBitmap &bmp) { m_bmp = bmp; } const wxBitmap &GetBitmap() const { return m_bmp; } bool IsSameAs(const PrusaDataViewBitmapText& other) const { @@ -214,10 +214,9 @@ class PrusaObjectDataViewModelNode size_t m_volumes_cnt = 0; std::vector< std::string > m_opt_categories; public: - PrusaObjectDataViewModelNode(const wxString &name, const int instances_count=1) { + PrusaObjectDataViewModelNode(const wxString &name) { m_parent = NULL; m_name = name; - m_copy = wxString::Format("%d", instances_count); m_type = itObject; #ifdef __WXGTK__ // it's necessary on GTK because of control have to know if this item will be container @@ -235,7 +234,6 @@ public: const int idx = -1 ) { m_parent = parent; m_name = sub_obj_name; - m_copy = wxEmptyString; m_bmp = bmp; m_type = itVolume; m_idx = idx; @@ -251,7 +249,6 @@ public: PrusaObjectDataViewModelNode( PrusaObjectDataViewModelNode* parent, const ItemType type) : m_parent(parent), - m_copy(wxEmptyString), m_type(type), m_extruder(wxEmptyString) { @@ -280,7 +277,6 @@ public: wxString m_name; wxBitmap& m_bmp = m_empty_bmp; - wxString m_copy; ItemType m_type; int m_idx = -1; bool m_container = false; @@ -346,12 +342,9 @@ public: m_name = data.GetText(); return true;} case 1: - m_copy = variant.GetString(); - return true; - case 2: m_extruder = variant.GetString(); return true; - case 3: + case 2: m_action_icon << variant; return true; default: @@ -428,7 +421,6 @@ public: ~PrusaObjectDataViewModel(); wxDataViewItem Add(const wxString &name); - wxDataViewItem Add(const wxString &name, const int instances_count); wxDataViewItem AddVolumeChild(const wxDataViewItem &parent_item, const wxString &name, const wxBitmap& icon, @@ -452,7 +444,6 @@ public: // helper method for wxLog wxString GetName(const wxDataViewItem &item) const; - wxString GetCopy(const wxDataViewItem &item) const; wxBitmap& GetBitmap(const wxDataViewItem &item) const; // helper methods to change the model