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

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

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

revision 432 by jonathan, Mon Feb 24 18:47:36 2003 UTC revision 468 by jonathan, Wed Mar 5 18:19:13 2003 UTC
# Line 8  Line 8 
8    
9  __version__ = "$Revision$"  __version__ = "$Revision$"
10    
11  from wxPython.wx import wxPoint, wxColour, wxPen, wxBrush, wxFont, \  from wxPython.wx import wxPoint, wxPen, wxBrush, wxFont, \
12       wxTRANSPARENT_PEN, wxTRANSPARENT_BRUSH, \       wxTRANSPARENT_PEN, wxTRANSPARENT_BRUSH, \
13       wxBLACK, wxSOLID, wxCROSS_HATCH, wxSWISS, wxNORMAL       wxBLACK, wxSOLID, wxCROSS_HATCH, wxSWISS, wxNORMAL
14    
15  from wxproj import draw_polygon_shape  from wxproj import draw_polygon_shape
16    
17  from Thuban import _  from Thuban import _
18    from Thuban.UI.common import *
19    
20  from Thuban.Model.layer import SHAPETYPE_POLYGON, SHAPETYPE_ARC, \  from Thuban.Model.layer import SHAPETYPE_POLYGON, SHAPETYPE_ARC, \
21       SHAPETYPE_POINT       SHAPETYPE_POINT
# Line 78  class MapRenderer: Line 79  class MapRenderer:
79          pen   = wxTRANSPARENT_PEN          pen   = wxTRANSPARENT_PEN
80    
81          old_prop = None          old_prop = None
82            lc = layer.GetClassification()
83            field = lc.GetField()
84    
85            defaultProps = lc.GetDefaultGroup().GetProperties()
86    
87          for i in self.layer_ids(layer):          for i in self.layer_ids(layer):
88              value = None              value = None
             lc = layer.GetClassification()  
             field = lc.field  
89    
90              if field is not None:              if field is not None:
91                  record = layer.table.read_record(i)                  try:
92                  if record is not None:                      record = layer.table.read_record(i)
93                      value = record[field]                      if record is not None:
94                            value = record[field]
95              #                  except:
96              # if the above statements fail 'value' should                      pass
97              # be null, at which point this call will  
98              # at least retreive the NullData                  #
99              #                  # if the above statements fail 'value' should
100              prop = lc.GetClassData(value)                  # be null, at which point this call will
101                    # at least retreive the NullData
102                    #
103                    prop = lc.GetProperties(value)
104                else:
105                    prop = defaultProps
106    
107              if prop != old_prop:              # don't recreate new objects if they are the same as before
108                if prop != old_prop:
109                  old_prop = prop                  old_prop = prop
110    
111                  if shapetype == SHAPETYPE_ARC:                  if shapetype == SHAPETYPE_ARC:
# Line 106  class MapRenderer: Line 116  class MapRenderer:
116                  if fill is Color.None:                  if fill is Color.None:
117                      brush = wxTRANSPARENT_BRUSH                      brush = wxTRANSPARENT_BRUSH
118                  else:                  else:
119                      color = wxColour(fill.red * 255,                      color = Color2wxColour(fill)
                                      fill.green * 255,  
                                      fill.blue * 255)  
120                      brush = wxBrush(color, wxSOLID)                      brush = wxBrush(color, wxSOLID)
121            
122                  stroke = prop.GetStroke()                  stroke = prop.GetLineColor()
123                  stroke_width = prop.GetStrokeWidth()                  stroke_width = prop.GetLineWidth()
124                  if stroke is Color.None:                  if stroke is Color.None:
125                      pen = wxTRANSPARENT_PEN                      pen = wxTRANSPARENT_PEN
126                  else:                  else:
127                      color = wxColour(stroke.red * 255,                      color = Color2wxColour(stroke)
                                      stroke.green * 255,  
                                      stroke.blue * 255)  
128                      pen = wxPen(color, stroke_width, wxSOLID)                      pen = wxPen(color, stroke_width, wxSOLID)
129            
130              if shapetype == SHAPETYPE_POINT:              if shapetype == SHAPETYPE_POINT:

Legend:
Removed from v.432  
changed lines
  Added in v.468

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26