Fwk: Added convenience methods to access the ui/xml capabilities in objects

This commit is contained in:
Jacob Støren 2015-08-20 15:22:43 +02:00
parent 0fda6ef6fb
commit 0ac86aeff3
4 changed files with 38 additions and 1 deletions

View File

@ -146,6 +146,18 @@ PdmFieldHandle* PdmObjectHandle::parentField() const
return m_parentField;
}
// These two functions can be used when PdmCore is used standalone without PdmUi/PdmXml
/*
PdmUiObjectHandle* PdmObjectHandle::uiCapability()
{
return NULL;
}
PdmXmlObjectHandle* PdmObjectHandle::xmlCapability()
{
return NULL;
}
*/
} // End namespace caf

View File

@ -13,7 +13,8 @@ namespace caf
class PdmObjectCapability;
class PdmFieldHandle;
class PdmUiObjectHandle;
class PdmXmlObjectHandle;
//==================================================================================================
/// The base class of all objects
@ -55,6 +56,9 @@ public:
return NULL;
}
PdmUiObjectHandle* uiCapability(); // Implementation is in cafPdmUiObjectHandle.cpp
PdmXmlObjectHandle* xmlCapability(); // Implementation is in cafPdmXmlObjectHandle.cpp
protected:
void addField(PdmFieldHandle* field, const QString& keyword);

View File

@ -205,4 +205,15 @@ void PdmUiObjectHandle::updateUiIconFromToggleField()
}
}
//--------------------------------------------------------------------------------------------------
/// Implementation of uiCapability() defined in cafPdmObjectHandle.h
//--------------------------------------------------------------------------------------------------
PdmUiObjectHandle* PdmObjectHandle::uiCapability()
{
PdmUiObjectHandle* uiField = capability<PdmUiObjectHandle>();
assert(uiField);
return uiField;
}
} // End namespace caf

View File

@ -229,6 +229,16 @@ bool PdmXmlObjectHandle::isValidXmlElementName(const QString& name)
}
//--------------------------------------------------------------------------------------------------
/// Implementation of xmlCapability() defined in cafPdmObjectHandle.h
//--------------------------------------------------------------------------------------------------
PdmXmlObjectHandle* PdmObjectHandle::xmlCapability()
{
PdmXmlObjectHandle* xmlField = capability<PdmXmlObjectHandle>();
assert(xmlField);
return xmlField;
}
} // end namespace caf