mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Refactor view id
This commit is contained in:
@@ -111,7 +111,7 @@ void CmdDeleteItemExec::undo()
|
||||
PdmChildArrayFieldHandle* listField = dynamic_cast<PdmChildArrayFieldHandle*>(field);
|
||||
if (listField)
|
||||
{
|
||||
PdmObjectHandle* obj = PdmXmlObjectHandle::readUnknownObjectFromXmlString(m_commandData->m_deletedObjectAsXml(), PdmDefaultObjectFactory::instance());
|
||||
PdmObjectHandle* obj = PdmXmlObjectHandle::readUnknownObjectFromXmlString(m_commandData->m_deletedObjectAsXml(), PdmDefaultObjectFactory::instance(), false);
|
||||
|
||||
listField->insertAt(m_commandData->m_indexToObject, obj);
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ void PdmDocument::readFile(QIODevice* xmlFile)
|
||||
// Error: This is not a Ceetron Pdm based xml document
|
||||
return;
|
||||
}
|
||||
readFields(xmlStream, PdmDefaultObjectFactory::instance());
|
||||
readFields(xmlStream, PdmDefaultObjectFactory::instance(), false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -281,7 +281,7 @@ void caf::PdmFieldXmlCap< caf::PdmChildField<DataType*> >::readFieldData(QXmlStr
|
||||
|
||||
// Everything seems ok, so read the contents of the object:
|
||||
|
||||
xmlObject->readFields(xmlStream, objectFactory);
|
||||
xmlObject->readFields(xmlStream, objectFactory, false);
|
||||
|
||||
// Make stream point to endElement of this field
|
||||
|
||||
@@ -397,7 +397,7 @@ void caf::PdmFieldXmlCap< caf::PdmChildArrayField<DataType*> >::readFieldData(QX
|
||||
continue;
|
||||
}
|
||||
|
||||
xmlObject->readFields(xmlStream, objectFactory);
|
||||
xmlObject->readFields(xmlStream, objectFactory, false);
|
||||
|
||||
m_field->m_pointers.push_back(PdmPointer<DataType>());
|
||||
m_field->m_pointers.back().setRawPtr(obj);
|
||||
|
||||
@@ -34,7 +34,8 @@ bool PdmXmlFieldHandle::assertValid() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
PdmXmlFieldHandle::PdmXmlFieldHandle(PdmFieldHandle* owner, bool giveOwnership) : m_isIOReadable(true), m_isIOWritable(true)
|
||||
PdmXmlFieldHandle::PdmXmlFieldHandle(PdmFieldHandle* owner, bool giveOwnership)
|
||||
: m_isIOReadable(true), m_isIOWritable(true), m_isCopyable(true)
|
||||
{
|
||||
m_owner = owner;
|
||||
owner->addCapability(this, giveOwnership);
|
||||
@@ -47,6 +48,7 @@ void PdmXmlFieldHandle::disableIO()
|
||||
{
|
||||
setIOReadable(false);
|
||||
setIOWritable(false);
|
||||
setCopyable(false);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -30,10 +30,12 @@ public:
|
||||
|
||||
bool isIOReadable() const { return m_isIOReadable; }
|
||||
bool isIOWritable() const { return m_isIOWritable; }
|
||||
bool isCopyable() const { return m_isCopyable;}
|
||||
|
||||
void disableIO();
|
||||
void setIOWritable(bool isWritable) { m_isIOWritable = isWritable; }
|
||||
void setIOReadable(bool isReadable) { m_isIOReadable = isReadable; }
|
||||
void setCopyable(bool isCopyable) { m_isCopyable = isCopyable; }
|
||||
|
||||
QString childClassKeyword();
|
||||
|
||||
@@ -51,6 +53,7 @@ protected:
|
||||
private:
|
||||
bool m_isIOReadable;
|
||||
bool m_isIOWritable;
|
||||
bool m_isCopyable;
|
||||
|
||||
PdmFieldHandle* m_owner;
|
||||
};
|
||||
|
||||
@@ -42,7 +42,7 @@ PdmXmlObjectHandle* xmlObj(PdmObjectHandle* obj)
|
||||
/// This makes attribute based field storage possible.
|
||||
/// Leaves the xmlStream pointing to the EndElement of the PdmObject.
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmXmlObjectHandle::readFields(QXmlStreamReader& xmlStream, PdmObjectFactory* objectFactory)
|
||||
void PdmXmlObjectHandle::readFields(QXmlStreamReader& xmlStream, PdmObjectFactory* objectFactory, bool isCopyOperation)
|
||||
{
|
||||
bool isObjectFinished = false;
|
||||
QXmlStreamReader::TokenType type;
|
||||
@@ -60,7 +60,12 @@ void PdmXmlObjectHandle::readFields(QXmlStreamReader& xmlStream, PdmObjectFactor
|
||||
if (fieldHandle && fieldHandle->xmlCapability())
|
||||
{
|
||||
PdmXmlFieldHandle* xmlFieldHandle = fieldHandle->xmlCapability();
|
||||
if (xmlFieldHandle->isIOReadable())
|
||||
bool readable = xmlFieldHandle->isIOReadable();
|
||||
if (isCopyOperation && !xmlFieldHandle->isCopyable())
|
||||
{
|
||||
readable = false;
|
||||
}
|
||||
if (readable)
|
||||
{
|
||||
// readFieldData assumes that the xmlStream points to first token of field content.
|
||||
// After reading, the xmlStream is supposed to point to the first token after the field content.
|
||||
@@ -153,13 +158,13 @@ void PdmXmlObjectHandle::readObjectFromXmlString(const QString& xmlString, PdmO
|
||||
QString classKeyword = inputStream.name().toString();
|
||||
CAF_ASSERT(classKeyword == this->classKeyword());
|
||||
|
||||
this->readFields(inputStream, objectFactory);
|
||||
this->readFields(inputStream, objectFactory, false);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
PdmObjectHandle* PdmXmlObjectHandle::readUnknownObjectFromXmlString(const QString& xmlString, PdmObjectFactory* objectFactory)
|
||||
PdmObjectHandle* PdmXmlObjectHandle::readUnknownObjectFromXmlString(const QString& xmlString, PdmObjectFactory* objectFactory, bool isCopyOperation)
|
||||
{
|
||||
QXmlStreamReader inputStream(xmlString);
|
||||
|
||||
@@ -171,7 +176,7 @@ PdmObjectHandle* PdmXmlObjectHandle::readUnknownObjectFromXmlString(const QStrin
|
||||
|
||||
if (!newObject) return nullptr;
|
||||
|
||||
xmlObj(newObject)->readFields(inputStream, objectFactory);
|
||||
xmlObj(newObject)->readFields(inputStream, objectFactory, isCopyOperation);
|
||||
|
||||
return newObject;
|
||||
}
|
||||
@@ -185,7 +190,7 @@ PdmObjectHandle* PdmXmlObjectHandle::copyByXmlSerialization(PdmObjectFactory* ob
|
||||
|
||||
QString xmlString = this->writeObjectToXmlString();
|
||||
|
||||
PdmObjectHandle* objectCopy = PdmXmlObjectHandle::readUnknownObjectFromXmlString(xmlString, objectFactory);
|
||||
PdmObjectHandle* objectCopy = PdmXmlObjectHandle::readUnknownObjectFromXmlString(xmlString, objectFactory, true);
|
||||
if (!objectCopy) return nullptr;
|
||||
|
||||
objectCopy->xmlCapability()->initAfterReadRecursively();
|
||||
@@ -213,7 +218,9 @@ caf::PdmObjectHandle* PdmXmlObjectHandle::copyAndCastByXmlSerialization(const QS
|
||||
QString classKeyword = inputStream.name().toString();
|
||||
CAF_ASSERT(classKeyword == sourceClassKeyword);
|
||||
|
||||
xmlObj(upgradedObject)->readFields(inputStream, objectFactory);
|
||||
xmlObj(upgradedObject)->readFields(inputStream, objectFactory, true);
|
||||
|
||||
xmlObj(upgradedObject)->initAfterReadRecursively();
|
||||
|
||||
return upgradedObject;
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ public:
|
||||
/// Convenience methods to serialize/de-serialize this particular object (with children)
|
||||
void readObjectFromXmlString(const QString& xmlString, PdmObjectFactory* objectFactory);
|
||||
QString writeObjectToXmlString() const;
|
||||
static PdmObjectHandle* readUnknownObjectFromXmlString(const QString& xmlString, PdmObjectFactory* objectFactory);
|
||||
static PdmObjectHandle* readUnknownObjectFromXmlString(const QString& xmlString, PdmObjectFactory* objectFactory, bool isCopyOperation);
|
||||
PdmObjectHandle* copyByXmlSerialization(PdmObjectFactory* objectFactory);
|
||||
PdmObjectHandle* copyAndCastByXmlSerialization(const QString& destinationClassKeyword,
|
||||
const QString& sourceClassKeyword,
|
||||
@@ -47,7 +47,7 @@ public:
|
||||
|
||||
// Main XML serialization methods that is used internally by the document serialization system
|
||||
// Not supposed to be used directly.
|
||||
void readFields(QXmlStreamReader& inputStream, PdmObjectFactory* objectFactory);
|
||||
void readFields(QXmlStreamReader& inputStream, PdmObjectFactory* objectFactory, bool isCopyOperation);
|
||||
void writeFields(QXmlStreamWriter& outputStream) const;
|
||||
|
||||
/// Check if a string is a valid Xml element name
|
||||
|
||||
Reference in New Issue
Block a user