X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FPythonAPI%2Fmodel%2Ftools.py;h=cde3e64bff00c02d05527e91e42706416b2f41bb;hb=03969f4f2e091835bcbc960a0e60b59e393529db;hp=36726317a9d52a52134f5db8b0f939ceb98a1bd4;hpb=beadf5e4c50ffe25053b705a254b42c25d340fd7;p=modules%2Fshaper.git diff --git a/src/PythonAPI/model/tools.py b/src/PythonAPI/model/tools.py index 36726317a..cde3e64bf 100644 --- a/src/PythonAPI/model/tools.py +++ b/src/PythonAPI/model/tools.py @@ -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)