class Selection:
- """Class for storing selection."""
+ """Class for selection.
+
+ Selection() -> empty selection
+ Selection(name, type) -> selection initialized with arguments:
+ - name -- topological name
+ - type -- type of the object
+ Selection(context, shape) -> selection initialized with arguments:
+ - context -- ModelAPI_Result object
+ - shape -- GeomAPI_Shape shape
+ """
def __init__(self, *args):
- """Initialize selection."""
+ """x.__init__(...) initializes x; see x.__class__.__doc__ for signature"""
+
if not args:
self.args = (None, None)
return
"""
if (isinstance(attribute, ModelAPI.ModelAPI_AttributeBoolean) or
isinstance(attribute, ModelAPI.ModelAPI_AttributeDocRef) or
- isinstance(attribute, ModelAPI.ModelAPI_AttributeInteger) or
- isinstance(attribute, ModelAPI.ModelAPI_AttributeReference) or
- isinstance(attribute, ModelAPI.ModelAPI_AttributeString)
+ isinstance(attribute, ModelAPI.ModelAPI_AttributeReference)
):
attribute.setValue(value)
- elif isinstance(attribute, ModelAPI.ModelAPI_AttributeDouble):
+ elif isinstance(attribute, ModelAPI.ModelAPI_AttributeString):
+ attribute.setValue(str(value))
+
+ elif (isinstance(attribute, ModelAPI.ModelAPI_AttributeDouble) or
+ isinstance(attribute, ModelAPI.ModelAPI_AttributeInteger)
+ ):
if isinstance(value, basestring):
attribute.setText(value)
else:
assert(isinstance(value, ModelAPI.ModelAPI_Attribute) or
isinstance(value, ModelAPI.ModelAPI_Object))
if isinstance(value, ModelAPI.ModelAPI_Attribute):
- attrubute.setAttr(value)
+ attribute.setAttr(value)
elif isinstance(value, ModelAPI.ModelAPI_Object):
- attrubute.setObject(value)
+ attribute.setObject(value)
elif isinstance(attribute, ModelAPI.ModelAPI_AttributeRefList):
attribute.clear()
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)