Salome HOME
Add ConnectorAPI
[modules/shaper.git] / src / PythonAPI / model / tools.py
index 36726317a9d52a52134f5db8b0f939ceb98a1bd4..cde3e64bff00c02d05527e91e42706416b2f41bb 100644 (file)
@@ -62,7 +62,6 @@ def fill_attribute(attribute, value):
     """
     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)
@@ -70,7 +69,9 @@ def fill_attribute(attribute, 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:
@@ -99,6 +100,16 @@ def fill_attribute(attribute, value):
             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)