FIX: assembly wrongly displayed in the object list

Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: Ie55a39bb2f98e2806cac8b79ee4afdf085c20e49
(cherry picked from commit 6aa86e6d5e08dd7431975269743e6067f2b8970b)
This commit is contained in:
yifan.wu 2022-12-02 15:54:34 +08:00 committed by Lane.Wei
parent cc32ecdbd4
commit e0c15db6b6
1 changed files with 9 additions and 3 deletions

View File

@ -1720,10 +1720,14 @@ wxDataViewItem ObjectDataViewModel::ReorganizeObjects( const int current_id, co
return wxDataViewItem(nullptr);
ObjectDataViewModelNode* deleted_node = m_objects[current_id];
ObjectDataViewModelNode* plate_node = deleted_node->m_parent;
m_objects.erase(m_objects.begin() + current_id);
plate_node->GetChildren().Remove(deleted_node);
ItemDeleted(wxDataViewItem(deleted_node->m_parent), wxDataViewItem(deleted_node));
m_objects.emplace(m_objects.begin() + new_id, deleted_node);
plate_node->Insert(deleted_node, new_id);
ItemAdded(wxDataViewItem(deleted_node->m_parent), wxDataViewItem(deleted_node));
//ItemChanged(wxDataViewItem(nullptr));
@ -1833,12 +1837,14 @@ unsigned int ObjectDataViewModel::GetChildren(const wxDataViewItem &parent, wxDa
return 0;
}
for (auto object : m_objects)
unsigned int count = node->GetChildren().GetCount();
for (unsigned int pos = 0; pos < count; pos++)
{
array.Add(wxDataViewItem((void*)object));
ObjectDataViewModelNode* child = node->GetChildren().Item(pos);
array.Add(wxDataViewItem((void*)child));
}
return array.size();
return count;
}
void ObjectDataViewModel::GetAllChildren(const wxDataViewItem &parent, wxDataViewItemArray &array) const