"""
if (isinstance(attribute, ModelAPI.ModelAPI_AttributeBoolean) or
isinstance(attribute, ModelAPI.ModelAPI_AttributeDocRef) or
- isinstance(attribute, ModelAPI.ModelAPI_AttributeInteger) or
isinstance(attribute, ModelAPI.ModelAPI_AttributeReference)
):
attribute.setValue(value)
elif isinstance(attribute, ModelAPI.ModelAPI_AttributeString):
attribute.setValue(str(value))
- elif isinstance(attribute, ModelAPI.ModelAPI_AttributeDouble):
+ elif (isinstance(attribute, ModelAPI.ModelAPI_AttributeDouble) or
+ isinstance(attribute, ModelAPI.ModelAPI_AttributeInteger)
+ ):
if isinstance(value, basestring):
attribute.setText(value)
else:
assert(isinstance(item, ModelAPI.ModelAPI_Object))
attribute.append(item)
+ elif isinstance(attribute, ModelAPI.ModelAPI_AttributeRefAttrList):
+ attribute.clear()
+ if not value:
+ return
+
+ assert(isinstance(value, collections.Iterable))
+ for item in value:
+ assert(isinstance(item, ModelAPI.ModelAPI_Attribute))
+ attribute.append(item)
+
elif isinstance(attribute, ModelAPI.ModelAPI_AttributeSelection):
if value is None:
attribute.setValue(None, None)