mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3540 Create seperate 2d view with parallel, look down and linked views
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user