/[thuban]/trunk/thuban/Thuban/Model/layer.py
ViewVC logotype

Diff of /trunk/thuban/Thuban/Model/layer.py

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

revision 389 by jonathan, Mon Feb 10 15:25:30 2003 UTC revision 412 by jonathan, Wed Feb 19 16:51:50 2003 UTC
# Line 1  Line 1 
1  # Copyright (c) 2001, 2002 by Intevation GmbH  # Copyright (c) 2001, 2002 by Intevation GmbH
2  # Authors:  # Authors:
3  # Bernhard Herzog <[email protected]>  # Bernhard Herzog <[email protected]>
4    # Jonathan Coles <[email protected]>
5  #  #
6  # This program is free software under the GPL (>=v2)  # This program is free software under the GPL (>=v2)
7  # Read the file COPYING coming with Thuban for details.  # Read the file COPYING coming with Thuban for details.
# Line 18  from messages import LAYER_PROJECTION_CH Line 19  from messages import LAYER_PROJECTION_CH
19       LAYER_VISIBILITY_CHANGED       LAYER_VISIBILITY_CHANGED
20    
21  from color import Color  from color import Color
 # Some predefined colors for internal use  
 _black = Color(0, 0, 0)  
22    
23  from classification import Classification  from classification import Classification
24    
# Line 108  class Layer(BaseLayer): Line 107  class Layer(BaseLayer):
107      """      """
108    
109      def __init__(self, title, filename, projection = None,      def __init__(self, title, filename, projection = None,
110                   fill = None, stroke = _black, stroke_width = 1, visible = 1):                   fill = Color.None,
111                     stroke = Color.Black,
112                     stroke_width = 1,
113                     visible = 1):
114          """Initialize the layer.          """Initialize the layer.
115    
116          title -- the title          title -- the title
# Line 131  class Layer(BaseLayer): Line 133  class Layer(BaseLayer):
133          self.filename = os.path.abspath(filename)          self.filename = os.path.abspath(filename)
134    
135          self.projection = projection          self.projection = projection
         self.fill = fill  
         self.stroke = stroke  
         self.stroke_width = stroke_width  
136          self.shapefile = None          self.shapefile = None
137          self.shapetree = None          self.shapetree = None
138          self.open_shapefile()          self.open_shapefile()
# Line 143  class Layer(BaseLayer): Line 142  class Layer(BaseLayer):
142          self.shapetable = Table(filename)          self.shapetable = Table(filename)
143          self.table = self.shapetable          self.table = self.shapetable
144    
145          self.classification = Classification(self)          self.__classification = Classification(self)
146          self.classification.SetDefaultStroke(stroke)          self.__classification.SetDefaultStroke(stroke)
147          self.classification.SetDefaultStrokeWidth(stroke_width)          self.__classification.SetDefaultStrokeWidth(stroke_width)
148          self.classification.SetDefaultFill(fill)          self.__classification.SetDefaultFill(fill)
149    
150          self.UnsetModified()          self.UnsetModified()
151    
# Line 251  class Layer(BaseLayer): Line 250  class Layer(BaseLayer):
250          self.projection = projection          self.projection = projection
251          self.changed(LAYER_PROJECTION_CHANGED, self)          self.changed(LAYER_PROJECTION_CHANGED, self)
252    
253        def GetClassification(self):
254            return self.__classification
255    
256        def SetClassification(self, clazz):
257            self.__classification = clazz
258            self.changed(LAYER_LEGEND_CHANGED, self)
259    
260      def TreeInfo(self):      def TreeInfo(self):
261          items = []          items = []
262    
# Line 267  class Layer(BaseLayer): Line 273  class Layer(BaseLayer):
273              items.append(_("Extent (lat-lon):"))              items.append(_("Extent (lat-lon):"))
274          items.append(_("Shapetype: %s") % shapetype_names[self.ShapeType()])          items.append(_("Shapetype: %s") % shapetype_names[self.ShapeType()])
275    
276          def color_string(color):          items.append(self.__classification)
             if color is None:  
                 return "None"  
             return "(%.3f, %.3f, %.3f)" % (color.red, color.green, color.blue)  
   
         # layers will always have a classification with at least a NULL data set  
   
         #items.append((_("Fill: %s") % color_string(self.fill), self.fill))  
         #items.append((_("Outline: %s") % color_string(self.stroke), self.stroke))  
   
         items.append(self.classification)  
277    
278          return (_("Layer '%s'") % self.Title(), items)          return (_("Layer '%s'") % self.Title(), items)
279    

Legend:
Removed from v.389  
changed lines
  Added in v.412

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26