/[thuban]/branches/WIP-pyshapelib-bramz/Thuban/UI/baserenderer.py
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/Thuban/UI/baserenderer.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1591 by bh, Fri Aug 15 14:00:53 2003 UTC revision 1593 by bh, Fri Aug 15 14:10:27 2003 UTC
# Line 140  class BaseRenderer: Line 140  class BaseRenderer:
140          """Draw the shape layer layer onto the map.          """Draw the shape layer layer onto the map.
141    
142          Automatically called by render_map. Iterate through all shapes          Automatically called by render_map. Iterate through all shapes
143          as indicated by self.layer_ids() and draw them, using low-level          as indicated by self.layer_shapes() and draw them, using
144          renderers returned by self.low_level_renderer().          low-level renderers returned by self.low_level_renderer().
145          """          """
146          scale = self.scale          scale = self.scale
147          offx, offy = self.offset          offx, offy = self.offset
# Line 163  class BaseRenderer: Line 163  class BaseRenderer:
163          useraw, draw_func, draw_func_param = self.low_level_renderer(layer)          useraw, draw_func, draw_func_param = self.low_level_renderer(layer)
164    
165          # Iterate through all shapes that have to be drawn.          # Iterate through all shapes that have to be drawn.
166          for i in self.layer_ids(layer):          for shape in self.layer_shapes(layer):
             shape = layer.Shape(i)  
167    
168              if field is None:              if field is None:
169                  group = defaultGroup                  group = defaultGroup
170              else:              else:
171                  record = table.ReadRowAsDict(i)                  record = table.ReadRowAsDict(shape.ShapeID())
172                  assert record is not None                  assert record is not None
173                  group = lc.FindGroup(record[field])                  group = lc.FindGroup(record[field])
174    
# Line 191  class BaseRenderer: Line 190  class BaseRenderer:
190                  data = shape.Points()                  data = shape.Points()
191              draw_func(draw_func_param, data, pen, brush)              draw_func(draw_func_param, data, pen, brush)
192    
193      def layer_ids(self, layer):      def layer_shapes(self, layer):
194          """Return the shape ids of the given layer that have to be drawn.          """Return an iterable over the shapes to be drawn from the given layer.
195    
196          The default implementation simply returns all ids in the layer.          The default implementation simply returns all ids in the layer.
197          Override in derived classes to be more precise.          Override in derived classes to be more precise.
198          """          """
199          return range(layer.NumShapes())          return layer.ShapeStore().AllShapes()
200    
201      def low_level_renderer(self, layer):      def low_level_renderer(self, layer):
202          """Return the low-level renderer for the layer for draw_shape_layer          """Return the low-level renderer for the layer for draw_shape_layer

Legend:
Removed from v.1591  
changed lines
  Added in v.1593

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26