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

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

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

revision 2699 by jonathan, Fri Jun 20 09:28:43 2003 UTC revision 2700 by dpinte, Mon Sep 18 14:27:02 2006 UTC
# Line 11  from Thuban import _ Line 11  from Thuban import _
11  from Thuban.Model.scalebar import deriveInterval, roundInterval  from Thuban.Model.scalebar import deriveInterval, roundInterval
12  from Thuban.Model.proj import PROJ_UNITS_METERS  from Thuban.Model.proj import PROJ_UNITS_METERS
13    
14  from wxPython.wx import *  import wx
15    
16  class ScaleBar:  class ScaleBar:
17    
# Line 28  class ScaleBar: Line 28  class ScaleBar:
28              and scale > 0.0:              and scale > 0.0:
29    
30              # We have a projection, draw the scalebar in bw              # We have a projection, draw the scalebar in bw
31              BlackPen = wxBLACK_PEN              BlackPen = wx.BLACK_PEN
32              BlackBrush = wxBLACK_BRUSH              BlackBrush = wx.BLACK_BRUSH
33              BlackText = wxBLACK              BlackText = wx.BLACK
34                    
35              # Get the dimension              # Get the dimension
36              width, height = size              width, height = size
37              posx, posy    = position              posx, posy    = position
# Line 42  class ScaleBar: Line 42  class ScaleBar:
42              interval, unit = deriveInterval(width, scale)              interval, unit = deriveInterval(width, scale)
43              l2width, l2height = dc.GetTextExtent("%d %s"%(interval,unit))              l2width, l2height = dc.GetTextExtent("%d %s"%(interval,unit))
44              width = width - 4.0 - l1width/2.0 -l2width/2.0              width = width - 4.0 - l1width/2.0 -l2width/2.0
45            
46              # Having precised the width now the final interval can be calculated              # Having precised the width now the final interval can be calculated
47              interval, unit  = deriveInterval(width, scale)              interval, unit  = deriveInterval(width, scale)
48              interval, label = roundInterval(interval)              interval, label = roundInterval(interval)
49                
50              if interval > 0.0:              if interval > 0.0:
51                  # We draw 2 rectangles with half the width                  # We draw 2 rectangles with half the width
52                  if unit == 'km':                  if unit == 'km':
53                      width = int(interval*1000.0*scale/2)                      width = int(interval*1000.0*scale/2)
54                  else:                  else:
55                      width = int(interval*scale/2)                      width = int(interval*scale/2)
56                
57                  dc.SetPen(BlackPen)                  dc.SetPen(BlackPen)
58    
59                  brush = wxBrush(wxWHITE, wxSOLID)                  brush = wx.Brush(wx.WHITE, wx.SOLID)
60                  dc.SetBrush(brush)                  dc.SetBrush(brush)
61                  dc.DrawRectangle(posx+4,posy+2,width,8)                  dc.DrawRectangle(posx+4,posy+2,width,8)
62    

Legend:
Removed from v.2699  
changed lines
  Added in v.2700

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26