mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#6320 Refactor of PdmScripting
* Make base class abstract * Implement support for IOHandling for PdmChild and PdmChildArray fields
This commit is contained in:
@@ -33,9 +33,9 @@
|
||||
// for more details.
|
||||
//
|
||||
//##################################################################################################
|
||||
#include "cafPdmObjectScriptability.h"
|
||||
#include "cafPdmObjectScriptingCapability.h"
|
||||
|
||||
#include "cafPdmFieldScriptability.h"
|
||||
#include "cafPdmAbstractFieldScriptingCapability.h"
|
||||
#include "cafPdmObject.h"
|
||||
#include "cafPdmObjectHandle.h"
|
||||
#include "cafPdmScriptIOMessages.h"
|
||||
@@ -48,7 +48,7 @@ using namespace caf;
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
PdmObjectScriptability::PdmObjectScriptability( PdmObjectHandle* owner, bool giveOwnership )
|
||||
PdmObjectScriptingCapability::PdmObjectScriptingCapability( PdmObjectHandle* owner, bool giveOwnership )
|
||||
: m_owner( owner )
|
||||
{
|
||||
m_owner->addCapability( this, giveOwnership );
|
||||
@@ -57,16 +57,16 @@ PdmObjectScriptability::PdmObjectScriptability( PdmObjectHandle* owner, bool giv
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
PdmObjectScriptability::~PdmObjectScriptability()
|
||||
PdmObjectScriptingCapability::~PdmObjectScriptingCapability()
|
||||
{
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmObjectScriptability::readFields( QTextStream& inputStream,
|
||||
PdmObjectFactory* objectFactory,
|
||||
PdmScriptIOMessages* errorMessageContainer )
|
||||
void PdmObjectScriptingCapability::readFields( QTextStream& inputStream,
|
||||
PdmObjectFactory* objectFactory,
|
||||
PdmScriptIOMessages* errorMessageContainer )
|
||||
{
|
||||
std::set<QString> readFields;
|
||||
bool isLastArgumentRead = false;
|
||||
@@ -147,10 +147,12 @@ void PdmObjectScriptability::readFields( QTextStream& inputStream,
|
||||
// Make field read its data
|
||||
|
||||
PdmFieldHandle* fieldHandle = m_owner->findField( keyword );
|
||||
if ( fieldHandle && fieldHandle->xmlCapability() && fieldHandle->capability<PdmFieldScriptability>() )
|
||||
if ( fieldHandle && fieldHandle->xmlCapability() &&
|
||||
fieldHandle->capability<PdmAbstractFieldScriptingCapability>() )
|
||||
{
|
||||
PdmXmlFieldHandle* xmlFieldHandle = fieldHandle->xmlCapability();
|
||||
PdmFieldScriptability* scriptability = fieldHandle->capability<PdmFieldScriptability>();
|
||||
PdmXmlFieldHandle* xmlFieldHandle = fieldHandle->xmlCapability();
|
||||
PdmAbstractFieldScriptingCapability* scriptability =
|
||||
fieldHandle->capability<PdmAbstractFieldScriptingCapability>();
|
||||
|
||||
if ( xmlFieldHandle->isIOReadable() )
|
||||
{
|
||||
@@ -212,15 +214,16 @@ void PdmObjectScriptability::readFields( QTextStream& inputStream,
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmObjectScriptability::writeFields( QTextStream& outputStream ) const
|
||||
void PdmObjectScriptingCapability::writeFields( QTextStream& outputStream ) const
|
||||
{
|
||||
std::vector<PdmFieldHandle*> fields;
|
||||
m_owner->fields( fields );
|
||||
int writtenFieldCount = 0;
|
||||
for ( size_t it = 0; it < fields.size(); ++it )
|
||||
{
|
||||
const PdmXmlFieldHandle* xmlField = fields[it]->xmlCapability();
|
||||
const PdmFieldScriptability* scriptability = fields[it]->capability<PdmFieldScriptability>();
|
||||
const PdmXmlFieldHandle* xmlField = fields[it]->xmlCapability();
|
||||
const PdmAbstractFieldScriptingCapability* scriptability =
|
||||
fields[it]->capability<PdmAbstractFieldScriptingCapability>();
|
||||
if ( scriptability && xmlField && xmlField->isIOWritable() )
|
||||
{
|
||||
QString keyword = xmlField->fieldHandle()->keyword();
|
||||
|
||||
Reference in New Issue
Block a user