HLAVariantRecordDataElement::~HLAVariantRecordDataElement()
{
+ clearStamp();
}
bool
return false;
_dataElement.swap(dataElement);
_alternativeIndex = index;
+ setDirty(true);
return true;
}
return _dataElementFactory;
}
+void
+HLAVariantRecordDataElement::_setStamp(Stamp* stamp)
+{
+ HLAAbstractVariantRecordDataElement::_setStamp(stamp);
+ if (!_dataElement.valid())
+ return;
+ _dataElement->attachStamp(*this);
+}
+
HLADataElement*
HLAVariantRecordDataElement::newElement(unsigned index)
{
if (!_dataElementFactory.valid())
return 0;
- return _dataElementFactory->createElement(*this, index);
+ HLADataElement* dataElement = _dataElementFactory->createElement(*this, index);
+ if (!dataElement)
+ return 0;
+ dataElement->attachStamp(*this);
+ return dataElement;
}
}