[core] fix enabled parameter inside group and list

This commit is contained in:
Julien-Haudegond 2020-07-29 11:32:52 +02:00
parent 2d953d7319
commit 524a4ab629
2 changed files with 24 additions and 13 deletions

View file

@ -97,7 +97,9 @@ class Attribute(BaseObject):
return self._label
def getEnabled(self):
return self._enabled
if isinstance(self.desc.enabled, types.FunctionType):
return self.desc.enabled(self.node)
return self.attributeDesc.enabled
def setEnabled(self, v):
if self._enabled == v:
@ -235,10 +237,9 @@ class Attribute(BaseObject):
return self._value
def updateInternals(self):
if isinstance(self.desc.enabled, types.FunctionType):
self.setEnabled(self.desc.enabled(self.node))
else:
self.setEnabled(self.attributeDesc.enabled)
# Emit if the enable status has changed
self.setEnabled(self.getEnabled())
name = Property(str, getName, constant=True)
fullName = Property(str, getFullName, constant=True)
@ -371,6 +372,11 @@ class ListAttribute(Attribute):
return self.attributeDesc.joinChar.join([v.getValueStr() for v in self.value])
return super(ListAttribute, self).getValueStr()
def updateInternals(self):
super(ListAttribute, self).updateInternals()
for attr in self._value:
attr.updateInternals()
# Override value property setter
value = Property(Variant, Attribute._get_value, _set_value, notify=Attribute.valueChanged)
isDefault = Property(bool, _isDefault, notify=Attribute.valueChanged)
@ -452,6 +458,11 @@ class GroupAttribute(Attribute):
sortedSubValues = [self._value.get(attr.name).getValueStr() for attr in self.attributeDesc.groupDesc]
return self.attributeDesc.joinChar.join(sortedSubValues)
def updateInternals(self):
super(GroupAttribute, self).updateInternals()
for attr in self._value:
attr.updateInternals()
# Override value property
value = Property(Variant, Attribute._get_value, _set_value, notify=Attribute.valueChanged)
isDefault = Property(bool, _isDefault, notify=Attribute.valueChanged)