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

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

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

revision 799 by jonathan, Wed Apr 30 17:02:21 2003 UTC revision 831 by jonathan, Tue May 6 12:07:21 2003 UTC
# Line 17  from math import hypot Line 17  from math import hypot
17    
18  from wxPython.wx import wxWindow,\  from wxPython.wx import wxWindow,\
19       wxPaintDC, wxColour, wxClientDC, wxINVERT, wxTRANSPARENT_BRUSH, wxFont,\       wxPaintDC, wxColour, wxClientDC, wxINVERT, wxTRANSPARENT_BRUSH, wxFont,\
20       EVT_PAINT, EVT_LEFT_DOWN, EVT_LEFT_UP, EVT_MOTION, EVT_LEAVE_WINDOW       EVT_PAINT, EVT_LEFT_DOWN, EVT_LEFT_UP, EVT_MOTION, EVT_LEAVE_WINDOW, \
21         wxBITMAP_TYPE_XPM, wxBeginBusyCursor, wxEndBusyCursor, wxCursor, \
22         wxImageFromBitmap
23    
24    
25  from wxPython import wx  from wxPython import wx
# Line 34  from Thuban.Model.label import ALIGN_CEN Line 36  from Thuban.Model.label import ALIGN_CEN
36  from Thuban.Lib.connector import Publisher  from Thuban.Lib.connector import Publisher
37  from Thuban.Model.color import Color  from Thuban.Model.color import Color
38    
39    import resource
40    
41  from selection import Selection  from selection import Selection
42  from renderer import ScreenRenderer, PrinterRender  from renderer import ScreenRenderer, PrinterRender
43    
# Line 273  class MapCanvas(wxWindow, Publisher): Line 277  class MapCanvas(wxWindow, Publisher):
277      delegated_methods = {"SelectLayer": "selection",      delegated_methods = {"SelectLayer": "selection",
278                           "SelectShapes": "selection",                           "SelectShapes": "selection",
279                           "SelectedLayer": "selection",                           "SelectedLayer": "selection",
280                           "HasSelectedLayer": "selection"}                           "HasSelectedLayer": "selection",
281                             "HasSelectedShapes": "selection"}
282    
283      def __init__(self, parent, winid):      def __init__(self, parent, winid):
284          wxWindow.__init__(self, parent, winid)          wxWindow.__init__(self, parent, winid)
# Line 357  class MapCanvas(wxWindow, Publisher): Line 362  class MapCanvas(wxWindow, Publisher):
362          dc = wxPaintDC(self)          dc = wxPaintDC(self)
363          clear = self.map is None or not self.map.HasLayers()          clear = self.map is None or not self.map.HasLayers()
364    
365            #wxBeginBusyCursor()
366    
367          if not clear:          if not clear:
368              try:              try:
369                  self.do_redraw()                  self.do_redraw()
# Line 376  class MapCanvas(wxWindow, Publisher): Line 383  class MapCanvas(wxWindow, Publisher):
383              dc.Clear()              dc.Clear()
384              dc.EndDrawing()              dc.EndDrawing()
385    
386            #wxEndBusyCursor()
387    
388      def do_redraw(self):      def do_redraw(self):
389          # This should only be called if we have a non-empty map.          # This should only be called if we have a non-empty map.
390    
# Line 509  class MapCanvas(wxWindow, Publisher): Line 518  class MapCanvas(wxWindow, Publisher):
518          if bbox is not None:          if bbox is not None:
519              self.FitRectToWindow(bbox)              self.FitRectToWindow(bbox)
520    
521        def FitLayerToWindow(self, layer):
522            """Fit the given layer to the window.
523    
524            Set the scale so that the layer fits exactly into the window and
525            center it in the window.
526            """
527            
528            bbox = layer.LatLongBoundingBox()
529            if bbox is not None:
530                proj = self.map.GetProjection()
531                if proj is not None:
532                    bbox = proj.ForwardBBox(bbox)
533    
534                if bbox is not None:
535                    self.FitRectToWindow(bbox)
536    
537        def FitSelectedToWindow(self):
538            layer = self.selection.SelectedLayer()
539            shapes = self.selection.SelectedShapes()
540    
541            bbox = layer.ShapesBoundingBox(shapes)
542            if bbox is not None:
543                proj = self.map.GetProjection()
544                if proj is not None:
545                    bbox = proj.ForwardBBox(bbox)
546    
547                if bbox is not None:
548                    self.FitRectToWindow(bbox)
549    
550      def ZoomFactor(self, factor, center = None):      def ZoomFactor(self, factor, center = None):
551          """Multiply the zoom by factor and center on center.          """Multiply the zoom by factor and center on center.
552    
# Line 572  class MapCanvas(wxWindow, Publisher): Line 610  class MapCanvas(wxWindow, Publisher):
610      def PanTool(self):      def PanTool(self):
611          """Start the pan tool"""          """Start the pan tool"""
612          self.SelectTool(PanTool(self))          self.SelectTool(PanTool(self))
613            #img = resource.GetImageResource("pan", wxBITMAP_TYPE_XPM)
614            #bmp = resource.GetBitmapResource("pan", wxBITMAP_TYPE_XPM)
615            #print bmp
616            #img = wxImageFromBitmap(bmp)
617            #print img
618            #cur = wxCursor(img)
619            #print cur
620            #self.SetCursor(cur)
621    
622      def IdentifyTool(self):      def IdentifyTool(self):
623          """Start the identify tool"""          """Start the identify tool"""

Legend:
Removed from v.799  
changed lines
  Added in v.831

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26