GluonObject* GluonObject::clone( GluonObject* parentObject ) const { const QMetaObject* metaObj = metaObject(); if( !metaObj ) debug( QString( "Failed to get the meta object for object %1" ).arg( fullyQualifiedName() ) ); GluonObject* newObject = GluonObjectFactory::instance()->instantiateObjectByName( metaObj->className() ); parentObject->addChild( newObject ); // Clone all the children foreach( QObject * child, children() ) { GluonObject* childObject = qobject_cast<GluonObject*>( child ); if( childObject ) { childObject->clone( newObject ); } }
GluonObject* GluonObject::clone( GluonObject* parentObject ) const { const QMetaObject* metaObj = metaObject(); if( !metaObj ) { WARNING() << "Failed to get the meta object for object " << fullyQualifiedName(); return nullptr; } GluonObject* newObject = GluonObjectFactory::instance()->instantiateObjectByName( metaObj->className() ); parentObject->addChild( newObject ); // Clone all the children foreach( QObject * child, children() ) { GluonObject* childObject = qobject_cast<GluonObject*>( child ); if( childObject ) { childObject->clone( newObject ); } }