mirror of
https://github.com/OPM/ResInsight.git
synced 2026-11-03 12:50:52 -06:00
Preparations for quick access features
* Add tool button editor with callback support * Guard null pointer usage * Allow proxy field with no getter * Remove duplicated code
This commit is contained in:
1 parent
5ffd7f3f61
commit
b0d967ff40
7 files changed
+205
-29
No files matched your search
@@ -74,7 +74,8 @@ public:
|
||||
}
|
||||
DataType value() const
|
||||
{
|
||||
CAF_ASSERT( m_valueGetter );
|
||||
if ( !m_valueGetter ) return DataType();
|
||||
|
||||
return m_valueGetter->getValue();
|
||||
}
|
||||
|
||||
|
||||
@@ -96,26 +96,6 @@ PdmObjectHandle* PdmReferenceHelper::objectFromReference( PdmObjectHandle* root,
|
||||
return objectFromReferenceStringList( root, decodedReference );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
PdmFieldHandle* PdmReferenceHelper::findField( PdmObjectHandle* object, const QString& fieldKeyword )
|
||||
{
|
||||
if ( object == nullptr ) return nullptr;
|
||||
|
||||
std::vector<PdmFieldHandle*> fields = object->fields();
|
||||
|
||||
for ( size_t i = 0; i < fields.size(); i++ )
|
||||
{
|
||||
if ( fields[i]->keyword() == fieldKeyword )
|
||||
{
|
||||
return fields[i];
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -194,7 +174,9 @@ PdmFieldHandle* PdmReferenceHelper::fieldFromReference( PdmObjectHandle* root, c
|
||||
decodedReference.pop_front();
|
||||
|
||||
PdmObjectHandle* parentObject = objectFromReferenceStringList( root, decodedReference );
|
||||
return findField( parentObject, fieldKeyword );
|
||||
if ( !parentObject ) return nullptr;
|
||||
|
||||
return parentObject->findField( fieldKeyword );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -209,9 +191,10 @@ PdmObjectHandle* PdmReferenceHelper::objectFromReferenceStringList( PdmObjectHan
|
||||
int i = 0;
|
||||
while ( i < reference.size() )
|
||||
{
|
||||
QString fieldKeyword = reference.at( i++ );
|
||||
if ( !currentObject ) return nullptr;
|
||||
|
||||
PdmFieldHandle* fieldHandle = findField( currentObject, fieldKeyword );
|
||||
QString fieldKeyword = reference.at( i++ );
|
||||
auto fieldHandle = currentObject->findField( fieldKeyword );
|
||||
if ( !fieldHandle )
|
||||
{
|
||||
return nullptr;
|
||||
|
||||
@@ -60,8 +60,6 @@ public:
|
||||
private:
|
||||
static QStringList referenceFromRootToObjectAsStringList( PdmObjectHandle* root, PdmObjectHandle* obj );
|
||||
static PdmObjectHandle* objectFromReferenceStringList( PdmObjectHandle* root, const QStringList& reference );
|
||||
|
||||
static PdmFieldHandle* findField( PdmObjectHandle* object, const QString& fieldKeyword );
|
||||
};
|
||||
|
||||
} // end namespace caf
|
||||
Reference in new issue
Block a user