/[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 1866 by bh, Mon Oct 27 13:01:58 2003 UTC revision 2599 by russell, Wed Apr 13 16:08:33 2005 UTC
# Line 1  Line 1 
1  # Copyright (c) 2001, 2002, 2003 by Intevation GmbH  # Copyright (c) 2001, 2002, 2003, 2004 by Intevation GmbH
2  # Authors:  # Authors:
3  # Bernhard Herzog <[email protected]>  # Bernhard Herzog <[email protected]>
4  # Frank Koormann <[email protected]>  # Frank Koormann <[email protected]>
# Line 24  from wxPython.wx import wxWindow, \ Line 24  from wxPython.wx import wxWindow, \
24       wxPaintDC, wxColour, wxClientDC, wxINVERT, wxTRANSPARENT_BRUSH, wxFont,\       wxPaintDC, wxColour, wxClientDC, wxINVERT, wxTRANSPARENT_BRUSH, wxFont,\
25       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, \
26       wxPlatform, wxBeginBusyCursor, wxEndBusyCursor, wxFileDialog, wxSAVE, \       wxPlatform, wxBeginBusyCursor, wxEndBusyCursor, wxFileDialog, wxSAVE, \
27         EVT_MIDDLE_DOWN, EVT_MIDDLE_UP, \
28       wxOVERWRITE_PROMPT, wxID_OK       wxOVERWRITE_PROMPT, wxID_OK
29    
30  # Export related stuff  # Export related stuff
# Line 94  class MapPrintout(wx.wxPrintout): Line 95  class MapPrintout(wx.wxPrintout):
95          canvas_scale = self.canvas.scale          canvas_scale = self.canvas.scale
96          x, y, width, height = self.region          x, y, width, height = self.region
97          renderer = PrinterRenderer(dc, self.map, scale, offset,          renderer = PrinterRenderer(dc, self.map, scale, offset,
98                                     region = (0, 0,                                     region = (mapregion[0], mapregion[1],
99                                               (width/canvas_scale)*scale,                                               (width/canvas_scale)*scale,
100                                               (height/canvas_scale)*scale),                                               (height/canvas_scale)*scale),
101                                     resolution = resy,                                     resolution = resy,
# Line 128  class MapCanvas(wxWindow, ViewPort): Line 129  class MapCanvas(wxWindow, ViewPort):
129          EVT_PAINT(self, self.OnPaint)          EVT_PAINT(self, self.OnPaint)
130          EVT_LEFT_DOWN(self, self.OnLeftDown)          EVT_LEFT_DOWN(self, self.OnLeftDown)
131          EVT_LEFT_UP(self, self.OnLeftUp)          EVT_LEFT_UP(self, self.OnLeftUp)
132            EVT_MIDDLE_DOWN(self, self.OnMiddleDown)
133            EVT_MIDDLE_UP(self, self.OnMiddleUp)
134          EVT_MOTION(self, self.OnMotion)          EVT_MOTION(self, self.OnMotion)
135          EVT_LEAVE_WINDOW(self, self.OnLeaveWindow)          EVT_LEAVE_WINDOW(self, self.OnLeaveWindow)
136          wx.EVT_SIZE(self, self.OnSize)          wx.EVT_SIZE(self, self.OnSize)
# Line 186  class MapCanvas(wxWindow, ViewPort): Line 189  class MapCanvas(wxWindow, ViewPort):
189    
190      def OnIdle(self, event):      def OnIdle(self, event):
191          """Idle handler. Redraw the bitmap if necessary"""          """Idle handler. Redraw the bitmap if necessary"""
192          if (self.bitmap is None          if (self.Map() is not None
193              or self.render_iter is not None              and (self.bitmap is None
194              or (self.HasSelectedShapes()                   or self.render_iter is not None
195                  and self.selection_bitmap is None)):                   or (self.HasSelectedShapes()
196                         and self.selection_bitmap is None))):
197              event.RequestMore(self._do_redraw())              event.RequestMore(self._do_redraw())
198    
199      def _do_redraw(self):      def _do_redraw(self):
# Line 300  class MapCanvas(wxWindow, ViewPort): Line 304  class MapCanvas(wxWindow, ViewPort):
304              selected_layer = self.selection.SelectedLayer()              selected_layer = self.selection.SelectedLayer()
305              selected_shapes = self.selection.SelectedShapes()              selected_shapes = self.selection.SelectedShapes()
306    
307                width, height = self.GetSizeTuple()
308              renderer = ExportRenderer(dc, self.Map(), scale, offset,              renderer = ExportRenderer(dc, self.Map(), scale, offset,
309                                        region = (0, 0,                                        region = (0, 0,
310                                                  (width/self.scale)*scale,                                                  (width/self.scale)*scale,
311                                                  (height/self.scale)*scale),                                                  (height/self.scale)*scale),
312                                        destination_region = mapregion)                                        destination_region = mapregion)
   
             # Pass the entire bitmap as update region to the renderer.  
             # We're redrawing the whole bitmap, after all.  
             width, height = self.GetSizeTuple()  
313              renderer.RenderMap(selected_layer, selected_shapes)              renderer.RenderMap(selected_layer, selected_shapes)
314    
315              dc.EndDrawing()              dc.EndDrawing()
316              dc.Close()              dc.Close()
317          dlg.Destroy()          dlg.Destroy()
# Line 354  class MapCanvas(wxWindow, ViewPort): Line 356  class MapCanvas(wxWindow, ViewPort):
356      def GetPortSizeTuple(self):      def GetPortSizeTuple(self):
357          return self.GetSizeTuple()          return self.GetSizeTuple()
358    
359        def OnMiddleDown(self, event):
360            self.remembertool = self.tool
361            if self.Map() is not None and self.Map().HasLayers():
362                self.PanTool()
363                self.OnLeftDown(event)
364    
365        def OnMiddleUp(self, event):
366            self.OnLeftUp(event)
367            if self.remembertool:
368                self.SelectTool(self.remembertool)
369    
370      def OnLeftDown(self, event):      def OnLeftDown(self, event):
371          self.MouseLeftDown(event)          self.MouseLeftDown(event)
372          if self.tool is not None:          if self.tool is not None:

Legend:
Removed from v.1866  
changed lines
  Added in v.2599

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26