Changeset 269

Show
Ignore:
Timestamp:
10/02/08 14:54:14 (1 year ago)
Author:
tal
Message:
Added a hasCachedRepresentation method.
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • packages/defcon/trunk/Lib/defcon/objects/glyph.py

    r194 r269  
    737737 
    738738    def destroyRepresentation(self, name, **kwargs): 
     739        key = self._makeRepresentationKey(name, **kwargs) 
     740        if key in self._representations: 
     741            del self._representations[key] 
     742 
     743    def destroyAllRepresentations(self, notification=None): 
     744        self._representations = {} 
     745 
     746    def getRepresentation(self, name, **kwargs): 
     747        key = self._makeRepresentationKey(name, **kwargs) 
     748        if key not in self._representations: 
     749            factory = _representationFactories[name] 
     750            representation = factory(self, self.getParent(), **kwargs) 
     751            self._representations[key] = representation 
     752        return self._representations[key] 
     753 
     754    def hasCachedRepresentation(self, name, **kwargs): 
     755        key = self._makeRepresentationKey(name, **kwargs) 
     756        return key in self._representations 
     757 
     758    def _makeRepresentationKey(self, name, **kwargs): 
    739759        if kwargs: 
    740760            key = [name] + sorted(kwargs.items()) 
     
    742762        else: 
    743763            key = name 
    744         if key in self._representations: 
    745             del self._representations[key] 
    746  
    747     def destroyAllRepresentations(self, notification=None): 
    748         self._representations = {} 
    749  
    750     def getRepresentation(self, name, **kwargs): 
    751         if kwargs: 
    752             key = [name] + sorted(kwargs.items()) 
    753             key = tuple(key) 
    754         else: 
    755             key = name 
    756         if key not in self._representations: 
    757             factory = _representationFactories[name] 
    758             representation = factory(self, self.getParent(), **kwargs) 
    759             self._representations[key] = representation 
    760         return self._representations[key] 
     764        return key 
    761765 
    762766    # ----