]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/wx/lib/gridmovers.py
Fix "warning: operation on 'y' may be undefined".
[wxWidgets.git] / wxPython / wx / lib / gridmovers.py
index 40c5156d5597062eb9f47440065027419a1f919a..9cd7269dfb6b23b10b73729d4d4b048b68ef1754 100644 (file)
 #
 # o 2.5 Compatability changes
 #
+# 12/18/2003 - Jeff Grimmett (grimmtooth@softhome.net)
+#
+# o wxGridColMoveEvent -> GridColMoveEvent
+# o wxGridRowMoveEvent -> GridRowMoveEvent
+# o wxGridColMover -> GridColMover
+# o wxGridRowMover -> GridRowMover
+#
+
 
 import  wx
 import  wx.grid
@@ -31,7 +39,7 @@ EVT_GRID_ROW_MOVE = wx.PyEventBinder(wxEVT_COMMAND_GRID_ROW_MOVE, 1)
 
 #----------------------------------------------------------------------------
 
-class wxGridColMoveEvent(wx.PyCommandEvent):
+class GridColMoveEvent(wx.PyCommandEvent):
     def __init__(self, id, dCol, bCol):
         wx.PyCommandEvent.__init__(self, id = id)
         self.SetEventType(wxEVT_COMMAND_GRID_COL_MOVE)
@@ -45,7 +53,7 @@ class wxGridColMoveEvent(wx.PyCommandEvent):
         return self.beforeColumn
 
 
-class wxGridRowMoveEvent(wx.PyCommandEvent):
+class GridRowMoveEvent(wx.PyCommandEvent):
     def __init__(self, id, dRow, bRow):
         wx.PyCommandEvent.__init__(self,id = id)
         self.SetEventType(wxEVT_COMMAND_GRID_ROW_MOVE)
@@ -66,7 +74,7 @@ def _ColToRect(self,col):
     if self.GetNumberRows() > 0:
         rect = self.CellToRect(0,col)
     else:
-        rect = wxRect()
+        rect = wx.Rect()
         rect.height = self.GetColLabelSize()
         rect.width = self.GetColSize(col)
 
@@ -83,7 +91,7 @@ def _RowToRect(self,row):
     if self.GetNumberCols() > 0:
         rect = self.CellToRect(row,0)
     else:
-        rect = wxRect()
+        rect = wx.Rect()
         rect.width = self.GetRowLabelSize()
         rect.height = self.GetRowSize(row)
 
@@ -151,12 +159,12 @@ class ColDragWindow(wx.Window):
     def OnPaint(self,evt):
         dc = wx.PaintDC(self)
         w,h = self.GetSize()
-        dc.DrawBitmap(self.image, (0,0))
+        dc.DrawBitmap(self.image, 0,0)
         dc.SetPen(wx.Pen(wx.BLACK,1,wx.SOLID))
         dc.SetBrush(wx.TRANSPARENT_BRUSH)
-        dc.DrawRectangle((0,0), (w,h))
+        dc.DrawRectangle(0,0, w,h)
         iPos = self.GetInsertionPos()
-        dc.DrawLine((iPos,h - 10), (iPos,h))
+        dc.DrawLine(iPos,h - 10, iPos,h)
 
 
 
@@ -214,16 +222,16 @@ class RowDragWindow(wx.Window):
     def OnPaint(self,evt):
         dc = wx.PaintDC(self)
         w,h = self.GetSize()
-        dc.DrawBitmap(self.image, (0,0))
+        dc.DrawBitmap(self.image, 0,0)
         dc.SetPen(wx.Pen(wx.BLACK,1,wx.SOLID))
         dc.SetBrush(wx.TRANSPARENT_BRUSH)
-        dc.DrawRectangle((0,0), (w,h))
+        dc.DrawRectangle(0,0, w,h)
         iPos = self.GetInsertionPos()
-        dc.DrawLine((w - 10,iPos), (w,iPos))
+        dc.DrawLine(w - 10,iPos, w,iPos)
 
 #----------------------------------------------------------------------------
 
-class wxGridColMover(wx.EvtHandler):
+class GridColMover(wx.EvtHandler):
     def __init__(self,grid):
         wx.EvtHandler.__init__(self)
 
@@ -244,7 +252,9 @@ class wxGridColMover(wx.EvtHandler):
 
     def OnMouseMove(self,evt):
         if self.isDragging:
-            if abs(self.startX - evt.m_x) >= 3:
+            if abs(self.startX - evt.m_x) >= 3 \
+                   and abs(evt.m_x - self.lastX) >= 3:
+                self.lastX = evt.m_x 
                 self.didMove = True
                 sx,y = self.grid.GetViewStart()
                 w,h = self.lwin.GetClientSize()
@@ -280,10 +290,9 @@ class wxGridColMover(wx.EvtHandler):
                 self.colWin.DisplayAt(px,y)
                 return
 
-        evt.Skip()
 
     def OnPress(self,evt):
-        self.startX = evt.m_x
+        self.startX = self.lastX = evt.m_x
         sx = self.grid.GetViewStart()[0] * self.ux
         sx -= self.grid._rlSize
         px,py = self.lwin.ClientToScreenXY(evt.m_x,evt.m_y)
@@ -306,6 +315,7 @@ class wxGridColMover(wx.EvtHandler):
         self.colWin = ColDragWindow(self.grid,colImg,col)
         self.colWin.Show(False)
         self.lwin.CaptureMouse()
+        evt.Skip()
 
     def OnRelease(self,evt):
         if self.isDragging:
@@ -328,7 +338,7 @@ class wxGridColMover(wx.EvtHandler):
                 bCol = self.colWin.GetInsertionColumn()
                 dCol = self.colWin.GetMoveColumn()
                 wx.PostEvent(self,
-                             wxGridColMoveEvent(self.grid.GetId(), dCol, bCol))
+                             GridColMoveEvent(self.grid.GetId(), dCol, bCol))
 
             self.colWin.Destroy()
         evt.Skip()
@@ -338,12 +348,12 @@ class wxGridColMover(wx.EvtHandler):
         memdc = wx.MemoryDC()
         memdc.SelectObject(bmp)
         dc = wx.WindowDC(self.lwin)
-        memdc.Blit((0,0), rect.GetSize(), dc, rect.GetPosition())
+        memdc.Blit(0,0, rect.width, rect.height, dc, rect.x, rect.y)
         memdc.SelectObject(wx.NullBitmap)
         return bmp
 
 
-class wxGridRowMover(wx.EvtHandler):
+class GridRowMover(wx.EvtHandler):
     def __init__(self,grid):
         wx.EvtHandler.__init__(self)
 
@@ -364,7 +374,9 @@ class wxGridRowMover(wx.EvtHandler):
 
     def OnMouseMove(self,evt):
         if self.isDragging:
-            if abs(self.startY - evt.m_y) >= 3:
+            if abs(self.startY - evt.m_y) >= 3 \
+                   and abs(evt.m_y - self.lastY) >= 3:
+                self.lastY = evt.m_y
                 self.didMove = True
                 x,sy = self.grid.GetViewStart()
                 w,h = self.lwin.GetClientSizeTuple()
@@ -403,10 +415,9 @@ class wxGridRowMover(wx.EvtHandler):
                 self.rowWin.DisplayAt(x,py)
                 return
 
-        evt.Skip()
 
     def OnPress(self,evt):
-        self.startY = evt.m_y
+        self.startY = self.lastY = evt.m_y
         sy = self.grid.GetViewStart()[1] * self.uy
         sy -= self.grid._clSize
         px,py = self.lwin.ClientToScreenXY(evt.m_x,evt.m_y)
@@ -429,6 +440,7 @@ class wxGridRowMover(wx.EvtHandler):
         self.rowWin = RowDragWindow(self.grid,rowImg,row)
         self.rowWin.Show(False)
         self.lwin.CaptureMouse()
+        evt.Skip()
 
     def OnRelease(self,evt):
         if self.isDragging:
@@ -451,7 +463,7 @@ class wxGridRowMover(wx.EvtHandler):
                 dRow = self.rowWin.GetMoveRow()
 
                 wx.PostEvent(self,
-                             wxGridRowMoveEvent(self.grid.GetId(), dRow, bRow))
+                             GridRowMoveEvent(self.grid.GetId(), dRow, bRow))
 
             self.rowWin.Destroy()
         evt.Skip()
@@ -461,7 +473,7 @@ class wxGridRowMover(wx.EvtHandler):
         memdc = wx.MemoryDC()
         memdc.SelectObject(bmp)
         dc = wx.WindowDC(self.lwin)
-        memdc.Blit((0,0), rect.GetSize(), dc, rect.GetPosition())
+        memdc.Blit(0,0, rect.width, rect.height, dc, rect.x, rect.y)
         memdc.SelectObject(wx.NullBitmap)
         return bmp