void ObjectItem::flat() { QList<ObjectItem *> layers = getLayers(this) ; QList<ObjectItem *> children ; for ( int i = 0 ; i < layers.size() ; i ++ ) { ObjectItem *p = new ObjectItem(layers[i]->getName(), layers[i]->parent()) ; p->copy(layers[i]) ; p->applyFrameDataFromParent() ; p->m_pParent = this ; children.append(p) ; } for ( int i = 0 ; i < children.size() ; i ++ ) { qDeleteAll(children[i]->m_children) ; children[i]->m_children.clear() ; } qDeleteAll(m_children) ; m_children = children ; }