def removeDeadObserver(self, observerId, subject): ObserverCollector.removeDeadObserver(self, observerId, subject) if len(self._dict[subject].values()) == 0: attribute = self._observedAttributes[subject]() attribute.setValueObserved(False) del self._observedAttributes[subject]
class CoralAppData: version = 0.4 nodeClasses = {} classNameTags = {} attributeClasses = {} commandClasses = {} shouldLogInfos = True executedCommands = [] undoLimit = 100 undoneCommands = [] rootNode = None autoLoadPaths = [] instantiatedNodes = [] loadingNetwork = False registeredNodeDescriptions = {} appendToLastCreatedNodes = False lastCreatedNodes = [] currentNetworkDir = "" verboseLevel = VerboseLevel.logDebugs #observer lists registeredNodeClassesObservers = ObserverCollector() createdNodeObservers = ObserverCollector() deletingNodeObservers = ObserverCollector() connectedAttributesObservers = ObserverCollector() disconnectedInputObservers = ObserverCollector() attributeSpecializedObservers = ObserverCollector() createdAttributeObservers = ObserverCollector() deletingAttributeObservers = ObserverCollector() removedNodeObservers = ObserverCollector() addedNodeObservers = ObserverCollector() addedAttributeObservers = ObserverCollector() collapsedNodeObservers = ObserverCollector() nameChangedObservers = ObserverCollector() connectedInputObservers = ObserverCollector() removedAttributeObservers = ObserverCollector() initializedNewNetworkObservers = ObserverCollector() initializingNewNetworkObservers = ObserverCollector() generatingSaveScriptObservers = ObserverCollector() networkLoadedObservers = ObserverCollector() nodeConnectionChangedObservers = ObserverCollector() networkLoadingObservers = ObserverCollector() messageLoggedObservers = ObserverCollector()
def add(self, observer, attribute): attrId = attribute.id() ObserverCollector.add(self, observer, attrId) self._observedAttributes[attrId] = utils.weakRef(attribute) attribute.setValueObserved(True)
def __init__(self): ObserverCollector.__init__(self) self._observedAttributes = {}