Changeset 630

Show
Ignore:
Timestamp:
07/15/03 11:36:49 (5 years ago)
Author:
sholloway
Message:

*** empty log message ***

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/Renderers/Abstract.py

    r629 r630  
    8585        raise NotImplementedError 
    8686 
    87     #~ Order management ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    88  
    89     def ResolveRefernce(self, reference): 
    90         raise NotImplementedError 
    91  
    92     def PushContext(self, ri): 
    93         raise NotImplementedError 
    94  
    95     def PopContext(self, ri): 
    96         raise NotImplementedError 
    97  
  • trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/Renderers/Logging.py

    r629 r630  
    4343    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4444 
     45    def __init__(self): 
     46        self.resolver = [] 
     47 
    4548    #~ Meta Information ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4649 
     
    5558    def DisplaySVG(self, ri_svg):  
    5659        self.log.info('DisplaySVG: %r', ri_svg) 
     60        self.resolver.append(ri_svg.idmapping) 
     61        try: 
     62            ri_svg.DisplayChildrenOn(self) 
     63        finally: 
     64            self.resolver.pop() 
    5765 
    58     def DisplayGroup(self, ri_group): 
     66    def DisplayGroup(self, ri_group):  
    5967        self.log.info('DisplayGroup: %r', ri_group) 
     68        ri_group.DisplayChildrenOn(self) 
    6069 
    61     def DisplaySymbol(self, ri_symbol): 
     70    def DisplaySymbol(self, ri_symbol):  
    6271        self.log.debug('DisplaySymbol: %r', ri_symbol) 
     72        ri_symbol.DisplayChildrenOn(self) 
    6373 
    64     def DisplayPattern(self, ri_pattern): 
    65         self.log.debug('DisplayPattern: %r', ri_pattern) 
     74    def DisplayUse(self, ri_use):  
     75        ri_used = self.ResolveReference(ri_use.usereference) 
     76        if ri_used is not None: 
     77            ri_used.DisplayOn(self) 
    6678 
    6779    #~ Shapes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    93105    #~ Order management ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    94106 
    95     def ResolveRefernce(self, reference): 
    96         self.log.info('ResolveRefernce: %r', reference) 
    97         return None 
     107    def ResolveReference(self, reference): 
     108        base, tag = reference 
     109        result = self.resolver[-1].get(tag, None) 
     110        self.log.info('ResolveReference: %r = %r', reference, result) 
     111        return result 
    98112 
    99     def PushContext(self, ri): 
    100         pass 
    101  
    102     def PopContext(self, ri): 
    103         pass 
    104  
  • trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/Renderers/Null.py

    r629 r630  
    3232 
    3333class NullRenderer(Abstract.AbstractRenderer): 
     34    def __init__(self): 
     35        self.resolver = [] 
     36 
    3437    #~ Meta Information ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3538 
     
    3942    #~ Groups ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4043 
    41     def DisplaySVG(self, ri_svg): pass 
    42     def DisplayGroup(self, ri_group): pass 
    43     def DisplaySymbol(self, ri_symbol): pass 
    44     def DisplayPattern(self, ri_pattern): pass 
     44    def DisplaySVG(self, ri_svg):  
     45        self.PushContext(ri_svg) 
     46        self.resolver.append(ri_svg.idmapping) 
     47        try: 
     48            ri_svg.DisplayChildrenOn(self) 
     49        finally: 
     50            self.resolver.pop() 
     51            self.PopContext(ri_svg) 
     52 
     53    def DisplayGroup(self, ri_group):  
     54        self.PushContext(ri_group) 
     55        try: 
     56            ri_group.DisplayChildrenOn(self) 
     57        finally: 
     58            self.PopContext(ri_group) 
     59 
     60    def DisplaySymbol(self, ri_symbol):  
     61        self.PushContext(ri_symbol) 
     62        try: 
     63            ri_symbol.DisplayChildrenOn(self) 
     64        finally: 
     65            self.PopContext(ri_symbol) 
     66 
     67    def DisplayUse(self, ri_use):  
     68        ri_used = self.ResolveReference(ri_use.usereference) 
     69        if ri_used is not None: 
     70            self.PushContext(ri_use) 
     71            try: 
     72                ri_used.DisplayOn(self) 
     73            finally: 
     74                self.PopContext(ri_use) 
    4575 
    4676    #~ Shapes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    5787    #~ Order management ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5888 
    59     def ResolveRefernce(self, reference): return None 
    6089    def PushContext(self, ri): pass 
    6190    def PopContext(self, ri): pass 
     91    def ResolveReference(self, reference): 
     92        base, tag = reference 
     93        return self.resolver[-1].get(tag, None) 
    6294 
    6395#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  • trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/Renderers/Rapier.py

    r629 r630  
    3232 
    3333class RapierRenderer(Abstract.AbstractRenderer): 
     34    def __init__(self): 
     35        self.context = [] 
     36        self.resolver = [] 
     37 
    3438    #~ Meta Information ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3539 
    3640    def DisplayTitle(self, ri_title):  
    3741        pass 
     42 
    3843    def DisplayDescription(self, ri_desc):  
    3944        pass 
     
    4247 
    4348    def DisplaySVG(self, ri_svg):  
    44         pass 
     49        self.PushContext(ri_svg) 
     50        self.resolver.append(ri_svg.idmapping) 
     51        try: 
     52            ri_svg.DisplayChildrenOn(self) 
     53        finally: 
     54            self.resolver.pop() 
     55            self.PopContext(ri_svg) 
     56 
    4557    def DisplayGroup(self, ri_group):  
    46         pass 
     58        self.PushContext(ri_group) 
     59        try: 
     60            ri_group.DisplayChildrenOn(self) 
     61        finally: 
     62            self.PopContext(ri_group) 
     63 
    4764    def DisplaySymbol(self, ri_symbol):  
    48         pass 
    49     def DisplayPattern(self, ri_pattern):  
    50         pass 
     65        self.PushContext(ri_symbol) 
     66        try: 
     67            ri_symbol.DisplayChildrenOn(self) 
     68        finally: 
     69            self.PopContext(ri_symbol) 
     70 
     71    def DisplayUse(self, ri_use):  
     72        ri_used = self.ResolveReference(ri_use.usereference) 
     73        if ri_used is not None: 
     74            self.PushContext(ri_use) 
     75            try: 
     76                ri_used.DisplayOn(self) 
     77            finally: 
     78                self.PopContext(ri_use) 
    5179 
    5280    #~ Shapes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5381 
    5482    def DisplayLine(self, ri_line):  
    55         pass 
     83        print "TODO: DisplayLine" 
     84 
    5685    def DisplayRect(self, ri_rect):  
    57         pass 
     86        print "TODO: DisplayRect" 
     87 
    5888    def DisplayCircle(self, ri_circle):  
    59         pass 
     89        print "TODO: DisplayCircle" 
     90 
    6091    def DisplayEllipse(self, ri_ellipse):  
    61         pass 
     92        print "TODO: DisplayEllipse" 
     93 
    6294    def DisplayPolygon(self, ri_polygon):  
    63         pass 
     95        print "TODO: DisplayPolygon" 
     96 
    6497    def DisplayPolyline(self, ri_polyline):  
    65         pass 
     98        print "TODO: DisplayPolyline" 
     99 
    66100    def DisplayPath(self, ri_path):  
    67         pass 
     101        print "TODO: DisplayPath" 
     102 
    68103    def DisplayText(self, ri_text):  
    69         pass 
     104        print "TODO: DisplayText" 
    70105 
    71106    #~ Order management ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    72107 
    73     def ResolveRefernce(self, reference): 
    74         return None 
     108    def ResolveReference(self, reference): 
     109        base, tag = reference 
     110        return self.resolver[-1].get(tag, None) 
    75111 
    76112    def PushContext(self, ri): 
    77         pass 
     113        print "TODO: PushContext" 
    78114 
    79115    def PopContext(self, ri): 
    80         pass 
     116        print "TODO: PopContext" 
    81117 
    82118#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  • trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/RenderItems/Common.py

    r629 r630  
    4343    def __repr__(self): 
    4444        return "<%s %r>" % (self.__class__.__name__, self.id) 
     45 
     46    def IsDisplayedInGroup(self): 
     47        return True 
    4548 
    4649    def DisplayOn(self, renderer): 
  • trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/RenderItems/Groups.py

    r629 r630  
    3535        self.children = [] 
    3636 
    37     def DisplayOn(self, renderer): 
    38         renderer.PushContext(self) 
    39         try: 
    40             for child in self.children: 
    41                 child.DisplayOn(renderer) 
    42         finally: 
    43             renderer.PopContext(self) 
     37    def DisplayChildrenOn(self, renderer): 
     38        for child in self.children: 
     39            child.DisplayOn(renderer) 
    4440 
    4541    def AddChildRenderItems(self, childrenderitems): 
    46         childrenderitems = [x for x in childrenderitems if hasattr(x, 'DisplayOn')
     42        childrenderitems = [x for x in childrenderitems if hasattr(x, 'DisplayOn') and x.IsDisplayedInGroup()
    4743        self.children.extend(childrenderitems) 
    4844 
  • trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/SVGSkinObject.py

    r628 r630  
    2727from RBFoundation import XMLBuilder 
    2828#from RBSkinning.SkinObject import SkinObject 
    29 from RBSkinning.SkinContext import SkinContext 
     29from RBSkinning import SkinContext 
    3030 
    3131#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    5151            self.context = parent.context 
    5252        else:  
    53             self.context = builder.context 
     53            self.context = None 
    5454 
    5555    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    6868 
    6969    def _xmlInitStarted(self): 
    70         self.object = None 
    7170        self.children = [] 
     71        self.object = self.RenderItemFactory() 
     72        if self.object is not None: 
     73            self.object.InterpretSettings(self.settings) 
    7274 
    7375    def _addElement(self, node, element): 
     
    7880 
    7981    def _xmlInitFinalized(self): 
    80         self.object = self.RenderItemFactory() 
    81  
    8282        if self.object is not None: 
    83             self.object.InterpretSettings(self.settings) 
    84  
    85             try:  
     83            try: 
    8684                idname = self.settings['id'] 
    87                 idmapping = self.context.idmapping 
    88             except (KeyError, AttributeError), e:  
    89                 pass # ignore 
    90             else:  
    91                 idmapping[idname] = self.object 
     85            except KeyError:  
     86                pass 
     87            else: 
     88                self.context.idmapping[idname] = self.object 
    9289 
    9390            children = filter(None, [getattr(child, 'object', None) for child in self.children]) 
  • trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/g.py

    r629 r630  
    3434    def DisplayOn(self, renderer): 
    3535        renderer.DisplayGroup(self) 
    36         Groups.GroupRenderItem.DisplayOn(self, renderer) 
    3736 
    3837#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  • trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/svg.py

    r629 r630  
    3939    def DisplayOn(self, renderer): 
    4040        renderer.DisplaySVG(self) 
    41         ContainerRenderItem.DisplayOn(self, renderer) 
    4241 
    4342    def InterpretSettings(self, settings): 
     
    5352    RenderItemFactory = SVGRenderItem 
    5453 
    55     def SkinInitialize(self): 
    56         SVGSkinObject.SkinInitialize(self) 
     54    def _xmlInitStarted(self): 
     55        SVGSkinObject._xmlInitStarted(self) 
    5756        self.PushContext() 
    5857        self.context.idmapping = self.object.idmapping 
  • trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/symbol.py

    r629 r630  
    3232 
    3333class SymbolRenderItem(ContainerRenderItem): 
     34    def IsDisplayedInGroup(self): 
     35        return False 
     36 
    3437    def DisplayOn(self, renderer): 
    3538        renderer.DisplaySymbol(self) 
    36         ContainerRenderItem.DisplayOn(self, renderer) 
    3739 
    3840#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  • trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/use.py

    r629 r630  
    3434class UseRenderItem(TransformableRenderItem): 
    3535    def DisplayOn(self, renderer): 
    36         item = renderer.ResolveRefernce(self.usereference) 
    37         if item is not None: 
    38             renderer.PushContext(self) 
    39             try: 
    40                 item.DisplayOn(renderer) 
    41             finally: 
    42                 renderer.PopContext(self) 
     36        renderer.DisplayUse(self) 
    4337 
    4438    def InterpretSettings(self, settings): 
     
    5347        if xlinkbase or not xlinktag: 
    5448            warnings.warn('All xlinks must be document relative for now, but xlink contained %r' % xlink) 
    55         self.usereference = xlinktag 
     49        self.usereference = (xlinkbase or '', xlinktag) 
    5650 
    5751#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~