2015-07-29 14:19:43 +02:00
#include "cafPdmFieldHandle.h"
#include "cafPdmFieldCapability.h"
namespace caf
{
#if 0
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool PdmFieldHandle::assertValid() const
{
if (m_keyword == "UNDEFINED")
{
std::cout << "PdmField: Detected use of non-initialized field. Did you forget to do CAF_PDM_InitField() on this field ?\n";
return false;
}
if (!PdmXmlSerializable::isValidXmlElementName(m_keyword))
{
std::cout << "PdmField: The supplied keyword: \"" << m_keyword.toStdString() << "\" is an invalid XML element name, and will break your file format!\n";
return false;
}
return true;
}
#endif
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void PdmFieldHandle :: setKeyword ( const QString & keyword )
{
m_keyword = keyword ;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool PdmFieldHandle :: hasChildObjects ()
{
std :: vector < PdmObjectHandle *> children ;
this -> childObjects ( & children );
return ( children . size () > 0 );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
PdmFieldHandle ::~ PdmFieldHandle ()
{
for ( size_t i = 0 ; i < m_capabilities . size (); ++ i )
{
if ( m_capabilities [ i ]. second ) delete m_capabilities [ i ]. first ;
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool PdmFieldHandle :: hasPtrReferencedObjects ()
{
std :: vector < PdmObjectHandle *> ptrReffedObjs ;
this -> ptrReferencedObjects ( & ptrReffedObjs );
return ( ptrReffedObjs . size () > 0 );
}
2015-08-05 12:34:07 +02:00
// These two functions can be used when PdmCore is used standalone without PdmUi/PdmXml
/*
PdmUiFieldHandle* PdmFieldHandle::uiCapability()
{
2015-10-23 15:21:23 +02:00
return NULL;
2015-08-05 12:34:07 +02:00
}
PdmXmlFieldHandle* PdmFieldHandle::xmlCapability()
{
2015-10-23 15:21:23 +02:00
return NULL;
2015-08-05 12:34:07 +02:00
}
*/
2015-07-29 14:19:43 +02:00
} // End of namespace caf