X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/73ed39b580977913998bbb988e52e474fe9835ae..bbf7159c8211a398e573122c66b93722f5125c60:/wxPython/samples/ide/activegrid/util/dependencymgr.py diff --git a/wxPython/samples/ide/activegrid/util/dependencymgr.py b/wxPython/samples/ide/activegrid/util/dependencymgr.py deleted file mode 100644 index 272e8ebb0e..0000000000 --- a/wxPython/samples/ide/activegrid/util/dependencymgr.py +++ /dev/null @@ -1,145 +0,0 @@ -#---------------------------------------------------------------------------- -# Name: dependencymgr.py -# Purpose: Dependency Manager -# -# Author: Jeff Norton -# -# Created: 01/28/05 -# CVS-ID: $Id$ -# Copyright: (c) 2004-2005 ActiveGrid, Inc. -#---------------------------------------------------------------------------- - -DM_NO_ID = 0 -DM_ID_ATTR = "_DependencyMgr__ID" - -##class ManageableObject(object): -## -## def __init__(self): -## self.__id = DM_NO_ID -## -## def __repr__(self): -## return "" % self.__id -## -## def __getID(self): -## return self.__id -## -## def __setID(self, value): -## if (self.__id != DM_NO_ID): -## raise DependencyMgrException("Cannot set the dependency ID on object %s to \"%s\" because it already has one (\"%s\")." % (repr(self), value, self.__id)) -## self.__id = value -## -## _DependencyMgr__ID = property(__getID, __setID) - -class DependencyMgr(object): - - def __init__(self): - self.clear() - - def clear(self): - self.__dependencies = {} - self.__lastID = DM_NO_ID - - def addDependency(self, parent, child): - pid = self._initObjectID(parent) - try: - parentCollection = self.__dependencies[pid] - except KeyError: - parentCollection = self._newDependencyCollection() - self.__dependencies[pid] = parentCollection - if (child not in parentCollection): - parentCollection.append(child) - - def removeDependency(self, parent, child): - pid = self._getObjectID(parent) - if (pid != DM_NO_ID): - try: - parentCollection = self.__dependencies[pid] - parentCollection.remove(child) - if (len(parentCollection) == 0): - del self.__dependencies[pid] - except KeyError, ValueError: - pass - - def clearDependencies(self, parent): - "Returns a list of objects or an empty list if no dependencies exist as for getDependencies, and then removes the dependency list." - pid = self._getObjectID(parent) - try: - deps = self.__dependencies[pid] - del self.__dependencies[pid] - return deps - except KeyError: - return [] - - def hasDependency(self, parent): - "Returns a boolean" - return (self._getObjectID(parent) in self.__dependencies) - - def getDependencies(self, parent): - "Returns a list of objects or an empty list if no dependencies exist." - try: - return self.__dependencies[self._getObjectID(parent)] - except KeyError: - return [] - - def dumpState(self, out): - "Writes the state of the dependency manager (as reported by getState) to out" - for line in self.getState(): - print >> out, line - - def getState(self): - "Returns the state of the dependency manager including all managed objects as a list of strings" - out = [] - out.append("DependencyMgr %s has %i parent objects, last id assigned is %i" % (repr(self), len(self.__dependencies), self.__lastID)) - for key, val in self.__dependencies.iteritems(): - out.append("Object %s has dependents: %s " % (repr(key), ", ".join([repr(d) for d in val]))) - return out - - def _initObjectID(self, obj): - try: - id = getattr(obj, DM_ID_ATTR) - except AttributeError: - id = DM_NO_ID - if (id == DM_NO_ID): - id = self._newID() - setattr(obj, DM_ID_ATTR, id) - return id - - def _getObjectID(self, obj): - try: - id = getattr(obj, DM_ID_ATTR) - except AttributeError: - id = DM_NO_ID - return id - - def _newID(self): - self.__lastID += 1 - return self.__lastID - - def _newDependencyCollection(self): - return [] - -globalDM = DependencyMgr() - -def addDependency(parent, child): - getGlobalDM().addDependency(parent, child) - -def removeDependency(parent, child): - getGlobalDM().removeDependency(parent, child) - -def clearDependencies(parent): - return getGlobalDM().clearDependencies(parent) - -def hasDependency(parent): - return getGlobalDM().hasDependency(parent) - -def getDependencies(parent): - return getGlobalDM().getDependencies(parent) - -def getState(): - return getGlobalDM().getState() - -def dumpState(out): - getGlobalDM().dumpState(out) - -def getGlobalDM(): - return globalDM