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

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

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

revision 864 by frank, Thu May 8 12:29:23 2003 UTC revision 936 by jonathan, Tue May 20 15:24:32 2003 UTC
# Line 1  Line 1 
1  # Copyright (c) 2001, 2002, 2003 by Intevation GmbH  # Copyright (c) 2001, 2002, 2003 by Intevation GmbH
2  # Authors:  # Authors:
3  # Jonathan Coles <[email protected]>  # Jonathan Coles <[email protected]>
4    # Frank Koormann <[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 13  import resource Line 14  import resource
14    
15  from wxPython.wx import *  from wxPython.wx import *
16    
17  from Thuban.Model.layer import Layer  from Thuban.Model.layer import BaseLayer
18  from Thuban.Model.map import Map  from Thuban.Model.map import Map
 from Thuban.Model.messages import *  
19  from Thuban.Model.classification import ClassGroup  from Thuban.Model.classification import ClassGroup
20    
21  from Thuban.UI.messages import *  from Thuban.Model.messages import \
22        MAP_STACKING_CHANGED, MAP_LAYERS_ADDED, MAP_LAYERS_REMOVED, LAYER_CHANGED,\
23        LAYER_VISIBILITY_CHANGED, TITLE_CHANGED
24    
25    from Thuban.UI.messages import SCALE_CHANGED
26    
27  from Thuban.UI.classifier import ClassDataPreviewer  from Thuban.UI.classifier import ClassDataPreviewer
28  from Thuban.UI.dock import DockPanel  from Thuban.UI.dock import DockPanel
29  from Thuban.UI.scalebar import ScaleBar  from Thuban.UI.scalebar import ScaleBar
# Line 116  class LegendPanel(DockPanel): Line 121  class LegendPanel(DockPanel):
121    
122      def DoOnSelChanged(self, layer, group):      def DoOnSelChanged(self, layer, group):
123    
124          ok = isinstance(layer, Layer)          ok = isinstance(layer, BaseLayer)
125          self.__EnableButtons(ok)          self.__EnableButtons(ok)
126    
127          self.mainWindow.SelectLayer(layer)          self.mainWindow.SelectLayer(layer)
# Line 124  class LegendPanel(DockPanel): Line 129  class LegendPanel(DockPanel):
129      def DoOnProperties(self):      def DoOnProperties(self):
130          list = self.tree.GetSelectedHierarchy()          list = self.tree.GetSelectedHierarchy()
131    
132          ok = isinstance(list[0], Layer)          ok = isinstance(list[0], BaseLayer)
133          if ok:          if ok:
134              self.mainWindow.OpenLayerProperties(list[0], list[1])              self.mainWindow.OpenLayerProperties(list[0], list[1])
135    
# Line 244  class LegendTree(wxTreeCtrl): Line 249  class LegendTree(wxTreeCtrl):
249          data1 = self.GetPyData(item1)          data1 = self.GetPyData(item1)
250          data2 = self.GetPyData(item2)          data2 = self.GetPyData(item2)
251    
252          if isinstance(data1, Layer):          if isinstance(data1, BaseLayer):
253              layers = self.map.Layers()              layers = self.map.Layers()
254              return layers.index(data2) - layers.index(data1)              return layers.index(data2) - layers.index(data1)
255          else:          else:
256              return wxTreeCtrl.OnCompareItems(self, item1, item2)              return wxTreeCtrl.OnCompareItems(self, item1, item2)
257    
   
258      def DoOnShowLayer(self):      def DoOnShowLayer(self):
259          #self.__ShowHideLayer(True)          #self.__ShowHideLayer(True)
260          layer, group = self.GetSelectedHierarchy()          layer, group = self.GetSelectedHierarchy()
# Line 292  class LegendTree(wxTreeCtrl): Line 296  class LegendTree(wxTreeCtrl):
296          self.parent.DoOnProperties()          self.parent.DoOnProperties()
297    
298      def _OnMsgLayerChanged(self, layer):      def _OnMsgLayerChanged(self, layer):
299          assert isinstance(layer, Layer)          assert isinstance(layer, BaseLayer)
300    
301          id = self.layer2id[layer]          id = self.layer2id[layer]
302          assert id.IsOk()          assert id.IsOk()
# Line 320  class LegendTree(wxTreeCtrl): Line 324  class LegendTree(wxTreeCtrl):
324          self.__UpdateSelection()          self.__UpdateSelection()
325    
326      def _OnMsgLayerVisibilityChanged(self, layer):      def _OnMsgLayerVisibilityChanged(self, layer):
327          assert isinstance(layer, Layer)          assert isinstance(layer, BaseLayer)
328    
329          self.__ShowHideLayer(layer)          self.__ShowHideLayer(layer)
330          self.__UpdateSelection()          self.__UpdateSelection()
# Line 383  class LegendTree(wxTreeCtrl): Line 387  class LegendTree(wxTreeCtrl):
387    
388          self.DeleteChildren(pid)          self.DeleteChildren(pid)
389    
390          clazz = layer.GetClassification()          if layer.HasClassification():
391    
392                clazz = layer.GetClassification()
393    
394          shapeType = layer.ShapeType()              shapeType = layer.ShapeType()
395    
396          show = layer.Visible()              show = layer.Visible()
397          for g in clazz:              for g in clazz:
398              if g.IsVisible():                  if g.IsVisible():
399                  id = self.AppendItem(pid, g.GetDisplayText())                      id = self.AppendItem(pid, g.GetDisplayText())
400                  self.SetPyData(id, g)                      self.SetPyData(id, g)
401                  self.__SetVisibilityStyle(show, id)                      self.__SetVisibilityStyle(show, id)
402    
403                  bmp = self.__BuildGroupImage(g, shapeType)                      bmp = self.__BuildGroupImage(g, shapeType)
404    
405                  if bmp is None:                      if bmp is None:
406                      self.SetItemImage(id, self.emptyImageIndex)                          self.SetItemImage(id, self.emptyImageIndex)
407                  else:                      else:
408                      i = self.image_list.Add(bmp)                          i = self.image_list.Add(bmp)
409                      self.SetItemImage(id, i)                          self.SetItemImage(id, i)
410    
411          self.Thaw()          self.Thaw()
412    
# Line 496  class ScaleBarBitmap(wxBoxSizer): Line 502  class ScaleBarBitmap(wxBoxSizer):
502          dc.SelectObject(bmp)          dc.SelectObject(bmp)
503          dc.Clear()          dc.Clear()
504    
505          self.scalebar.DrawScalebar(scale, dc)          self.scalebar.DrawScaleBar(scale, dc, (0,0), dc.GetSizeTuple())
506    
507          self.scalebarBitmap.SetBitmap(bmp)          self.scalebarBitmap.SetBitmap(bmp)
508    

Legend:
Removed from v.864  
changed lines
  Added in v.936

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26