def sendChangedPropertiesEvent(self):
eventable_ids = []
for prop_id in self._component._props.keys():
prop_def = self._component._props.getPropDef(prop_id)
if prop_def.isSendEventChange():
newValue = self._component._props[prop_id]
try:
oldValue = self._last_property_event_state[prop_id]
self._last_property_event_state[prop_id] = copy.deepcopy(newValue)
except KeyError:
self._component._log.debug("Issuing event for the first time %s", prop_id)
self._last_property_event_state[prop_id] = copy.deepcopy(newValue)
eventable_ids.append(prop_id)
else:
if prop_def.compareValues(oldValue, newValue):
self._component._log.debug("Issuing event for %s (%s != %s)", prop_id, oldValue, newValue)
eventable_ids.append(prop_id)
self._component._log.debug("Eventing for properties %s", eventable_ids)
self.sendPropertiesEvent(eventable_ids)
评论列表
文章目录