#3540 Create seperate 2d view with parallel, look down and linked views

This commit is contained in:
Gaute Lindkvist
2018-10-23 16:32:40 +02:00
parent 45531865ba
commit f80472ffa6
50 changed files with 1014 additions and 177 deletions

View File

@@ -185,6 +185,29 @@ PdmObjectHandle* PdmXmlObjectHandle::copyByXmlSerialization(PdmObjectFactory* ob
return objectCopy;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
caf::PdmObjectHandle* PdmXmlObjectHandle::copyAndCastByXmlSerialization(const QString& destinationClassKeyword, const QString& sourceClassKeyword, PdmObjectFactory* objectFactory)
{
this->setupBeforeSaveRecursively();
QString xmlString = this->writeObjectToXmlString();
PdmObjectHandle* upgradedObject = objectFactory->create(destinationClassKeyword);
QXmlStreamReader inputStream(xmlString);
QXmlStreamReader::TokenType tt;
tt = inputStream.readNext(); // Start of document
tt = inputStream.readNext();
QString classKeyword = inputStream.name().toString();
CAF_ASSERT(classKeyword == sourceClassKeyword);
xmlObj(upgradedObject)->readFields(inputStream, objectFactory);
return upgradedObject;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -37,6 +37,9 @@ public:
QString writeObjectToXmlString() const;
static PdmObjectHandle* readUnknownObjectFromXmlString(const QString& xmlString, PdmObjectFactory* objectFactory);
PdmObjectHandle* copyByXmlSerialization(PdmObjectFactory* objectFactory);
PdmObjectHandle* copyAndCastByXmlSerialization(const QString& destinationClassKeyword,
const QString& sourceClassKeyword,
PdmObjectFactory* objectFactory);
// Main XML serialization methods that is used internally by the document serialization system
// Not supposed to be used directly.