mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-05-20 20:46:28 +02:00
[graph] expose Attribute.isDefault as a property
This commit is contained in:
parent
4d3509847a
commit
c1e9675fee
1 changed files with 13 additions and 10 deletions
|
@ -258,7 +258,7 @@ class Attribute(BaseObject):
|
|||
return '"{}"'.format(self.value)
|
||||
return str(self.value)
|
||||
|
||||
def isDefault(self):
|
||||
def _isDefault(self):
|
||||
return self._value == self.desc.value
|
||||
|
||||
def getPrimitiveValue(self, exportDefault=True):
|
||||
|
@ -273,6 +273,7 @@ class Attribute(BaseObject):
|
|||
isOutput = Property(bool, isOutput.fget, constant=True)
|
||||
isLinkChanged = Signal()
|
||||
isLink = Property(bool, isLink.fget, notify=isLinkChanged)
|
||||
isDefault = Property(bool, _isDefault, notify=valueChanged)
|
||||
|
||||
|
||||
class ListAttribute(Attribute):
|
||||
|
@ -289,8 +290,7 @@ class ListAttribute(Attribute):
|
|||
|
||||
def _set_value(self, value):
|
||||
self._value.clear()
|
||||
if value:
|
||||
self.extend(value)
|
||||
self.extend(value)
|
||||
self.requestGraphUpdate()
|
||||
|
||||
def append(self, value):
|
||||
|
@ -300,6 +300,7 @@ class ListAttribute(Attribute):
|
|||
values = value if isinstance(value, list) else [value]
|
||||
attrs = [attribute_factory(self.attributeDesc.elementDesc, v, self.isOutput, self.node, self) for v in values]
|
||||
self._value.insert(index, attrs)
|
||||
self.valueChanged.emit()
|
||||
self._applyExpr()
|
||||
self.requestGraphUpdate()
|
||||
|
||||
|
@ -317,6 +318,7 @@ class ListAttribute(Attribute):
|
|||
self.node.graph.removeEdge(attr) # delete edge if the attribute is linked
|
||||
self._value.removeAt(index, count)
|
||||
self.requestGraphUpdate()
|
||||
self.valueChanged.emit()
|
||||
|
||||
def uid(self, uidIndex):
|
||||
uids = []
|
||||
|
@ -334,20 +336,21 @@ class ListAttribute(Attribute):
|
|||
def getExportValue(self):
|
||||
return [attr.getExportValue() for attr in self._value]
|
||||
|
||||
def isDefault(self):
|
||||
return bool(self._value)
|
||||
def _isDefault(self):
|
||||
return len(self._value) == 0
|
||||
|
||||
def getPrimitiveValue(self, exportDefault=True):
|
||||
if exportDefault:
|
||||
return [attr.getPrimitiveValue(exportDefault=exportDefault) for attr in self._value]
|
||||
else:
|
||||
return [attr.getPrimitiveValue(exportDefault=exportDefault) for attr in self._value if not attr.isDefault()]
|
||||
return [attr.getPrimitiveValue(exportDefault=exportDefault) for attr in self._value if not attr.isDefault]
|
||||
|
||||
def getValueStr(self):
|
||||
return self.attributeDesc.joinChar.join([v.getValueStr() for v in self._value])
|
||||
|
||||
# Override value property setter
|
||||
value = Property(Variant, Attribute._get_value, _set_value, notify=Attribute.valueChanged)
|
||||
isDefault = Property(bool, _isDefault, notify=Attribute.valueChanged)
|
||||
|
||||
|
||||
class GroupAttribute(Attribute):
|
||||
|
@ -391,21 +394,21 @@ class GroupAttribute(Attribute):
|
|||
def getExportValue(self):
|
||||
return {key: attr.getExportValue() for key, attr in self._value.objects.items()}
|
||||
|
||||
def isDefault(self):
|
||||
return len(self._value) == 0
|
||||
def _isDefault(self):
|
||||
return all(v.isDefault for v in self._value)
|
||||
|
||||
def getPrimitiveValue(self, exportDefault=True):
|
||||
if exportDefault:
|
||||
return {name: attr.getPrimitiveValue(exportDefault=exportDefault) for name, attr in self._value.items()}
|
||||
else:
|
||||
return {name: attr.getPrimitiveValue(exportDefault=exportDefault) for name, attr in self._value.items() if not attr.isDefault()}
|
||||
return {name: attr.getPrimitiveValue(exportDefault=exportDefault) for name, attr in self._value.items() if not attr.isDefault}
|
||||
|
||||
def getValueStr(self):
|
||||
return self.attributeDesc.joinChar.join([v.getValueStr() for v in self._value.objects.values()])
|
||||
|
||||
# Override value property
|
||||
value = Property(Variant, Attribute._get_value, _set_value, notify=Attribute.valueChanged)
|
||||
|
||||
isDefault = Property(bool, _isDefault, notify=Attribute.valueChanged)
|
||||
|
||||
class Edge(BaseObject):
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue