mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 20:21:12 -06:00 
			
		
		
		
	Deleted "Copy" column from ObjectList
This commit is contained in:
		
							parent
							
								
									e223120e7e
								
							
						
					
					
						commit
						33a0f5beff
					
				
					 6 changed files with 21 additions and 73 deletions
				
			
		|  | @ -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()) | ||||
|  |  | |||
|  | @ -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
 | ||||
|  |  | |||
|  | @ -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); | ||||
|  |  | |||
|  | @ -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) | ||||
|  |  | |||
|  | @ -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: | ||||
|  |  | |||
|  | @ -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
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 YuSanka
						YuSanka