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