Changeset 630
- Timestamp:
- 07/15/03 11:36:49 (5 years ago)
- Files:
-
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/Renderers/Abstract.py (modified) (1 diff)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/Renderers/Logging.py (modified) (3 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/Renderers/Null.py (modified) (3 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/Renderers/Rapier.py (modified) (2 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/RenderItems/Common.py (modified) (1 diff)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/RenderItems/Groups.py (modified) (1 diff)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/SVGSkinObject.py (modified) (4 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/g.py (modified) (1 diff)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/svg.py (modified) (2 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/symbol.py (modified) (1 diff)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/use.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/Renderers/Abstract.py
r629 r630 85 85 raise NotImplementedError 86 86 87 #~ Order management ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~88 89 def ResolveRefernce(self, reference):90 raise NotImplementedError91 92 def PushContext(self, ri):93 raise NotImplementedError94 95 def PopContext(self, ri):96 raise NotImplementedError97 trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/Renderers/Logging.py
r629 r630 43 43 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 44 44 45 def __init__(self): 46 self.resolver = [] 47 45 48 #~ Meta Information ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 46 49 … … 55 58 def DisplaySVG(self, ri_svg): 56 59 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() 57 65 58 def DisplayGroup(self, ri_group): 66 def DisplayGroup(self, ri_group): 59 67 self.log.info('DisplayGroup: %r', ri_group) 68 ri_group.DisplayChildrenOn(self) 60 69 61 def DisplaySymbol(self, ri_symbol): 70 def DisplaySymbol(self, ri_symbol): 62 71 self.log.debug('DisplaySymbol: %r', ri_symbol) 72 ri_symbol.DisplayChildrenOn(self) 63 73 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) 66 78 67 79 #~ Shapes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 93 105 #~ Order management ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 94 106 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 98 112 99 def PushContext(self, ri):100 pass101 102 def PopContext(self, ri):103 pass104 trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/Renderers/Null.py
r629 r630 32 32 33 33 class NullRenderer(Abstract.AbstractRenderer): 34 def __init__(self): 35 self.resolver = [] 36 34 37 #~ Meta Information ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 35 38 … … 39 42 #~ Groups ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 40 43 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) 45 75 46 76 #~ Shapes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 57 87 #~ Order management ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 58 88 59 def ResolveRefernce(self, reference): return None60 89 def PushContext(self, ri): pass 61 90 def PopContext(self, ri): pass 91 def ResolveReference(self, reference): 92 base, tag = reference 93 return self.resolver[-1].get(tag, None) 62 94 63 95 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/Renderers/Rapier.py
r629 r630 32 32 33 33 class RapierRenderer(Abstract.AbstractRenderer): 34 def __init__(self): 35 self.context = [] 36 self.resolver = [] 37 34 38 #~ Meta Information ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 35 39 36 40 def DisplayTitle(self, ri_title): 37 41 pass 42 38 43 def DisplayDescription(self, ri_desc): 39 44 pass … … 42 47 43 48 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 45 57 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 47 64 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) 51 79 52 80 #~ Shapes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 53 81 54 82 def DisplayLine(self, ri_line): 55 pass 83 print "TODO: DisplayLine" 84 56 85 def DisplayRect(self, ri_rect): 57 pass 86 print "TODO: DisplayRect" 87 58 88 def DisplayCircle(self, ri_circle): 59 pass 89 print "TODO: DisplayCircle" 90 60 91 def DisplayEllipse(self, ri_ellipse): 61 pass 92 print "TODO: DisplayEllipse" 93 62 94 def DisplayPolygon(self, ri_polygon): 63 pass 95 print "TODO: DisplayPolygon" 96 64 97 def DisplayPolyline(self, ri_polyline): 65 pass 98 print "TODO: DisplayPolyline" 99 66 100 def DisplayPath(self, ri_path): 67 pass 101 print "TODO: DisplayPath" 102 68 103 def DisplayText(self, ri_text): 69 p ass104 print "TODO: DisplayText" 70 105 71 106 #~ Order management ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 72 107 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) 75 111 76 112 def PushContext(self, ri): 77 p ass113 print "TODO: PushContext" 78 114 79 115 def PopContext(self, ri): 80 p ass116 print "TODO: PopContext" 81 117 82 118 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/RenderItems/Common.py
r629 r630 43 43 def __repr__(self): 44 44 return "<%s %r>" % (self.__class__.__name__, self.id) 45 46 def IsDisplayedInGroup(self): 47 return True 45 48 46 49 def DisplayOn(self, renderer): trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/RenderItems/Groups.py
r629 r630 35 35 self.children = [] 36 36 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) 44 40 45 41 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()] 47 43 self.children.extend(childrenderitems) 48 44 trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/SVGSkinObject.py
r628 r630 27 27 from RBFoundation import XMLBuilder 28 28 #from RBSkinning.SkinObject import SkinObject 29 from RBSkinning .SkinContextimport SkinContext29 from RBSkinning import SkinContext 30 30 31 31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 51 51 self.context = parent.context 52 52 else: 53 self.context = builder.context53 self.context = None 54 54 55 55 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 68 68 69 69 def _xmlInitStarted(self): 70 self.object = None71 70 self.children = [] 71 self.object = self.RenderItemFactory() 72 if self.object is not None: 73 self.object.InterpretSettings(self.settings) 72 74 73 75 def _addElement(self, node, element): … … 78 80 79 81 def _xmlInitFinalized(self): 80 self.object = self.RenderItemFactory()81 82 82 if self.object is not None: 83 self.object.InterpretSettings(self.settings) 84 85 try: 83 try: 86 84 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 92 89 93 90 children = filter(None, [getattr(child, 'object', None) for child in self.children]) trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/g.py
r629 r630 34 34 def DisplayOn(self, renderer): 35 35 renderer.DisplayGroup(self) 36 Groups.GroupRenderItem.DisplayOn(self, renderer)37 36 38 37 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/svg.py
r629 r630 39 39 def DisplayOn(self, renderer): 40 40 renderer.DisplaySVG(self) 41 ContainerRenderItem.DisplayOn(self, renderer)42 41 43 42 def InterpretSettings(self, settings): … … 53 52 RenderItemFactory = SVGRenderItem 54 53 55 def SkinInitialize(self):56 SVGSkinObject. SkinInitialize(self)54 def _xmlInitStarted(self): 55 SVGSkinObject._xmlInitStarted(self) 57 56 self.PushContext() 58 57 self.context.idmapping = self.object.idmapping trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/symbol.py
r629 r630 32 32 33 33 class SymbolRenderItem(ContainerRenderItem): 34 def IsDisplayedInGroup(self): 35 return False 36 34 37 def DisplayOn(self, renderer): 35 38 renderer.DisplaySymbol(self) 36 ContainerRenderItem.DisplayOn(self, renderer)37 39 38 40 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/use.py
r629 r630 34 34 class UseRenderItem(TransformableRenderItem): 35 35 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) 43 37 44 38 def InterpretSettings(self, settings): … … 53 47 if xlinkbase or not xlinktag: 54 48 warnings.warn('All xlinks must be document relative for now, but xlink contained %r' % xlink) 55 self.usereference = xlinktag49 self.usereference = (xlinkbase or '', xlinktag) 56 50 57 51 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
