dc.SetPen(wx.Pen(wx.BLUE, 3))
for line in self.lines:
for coords in line:
- dc.DrawLineXY(*coords)
+ dc.DrawLine(*coords)
dc.EndDrawing()
def OnLeftUp(self, event):
- self.lines.append(self.curLine)
- self.curLine = []
- self.ReleaseMouse()
+ if self.HasCapture():
+ self.lines.append(self.curLine)
+ self.curLine = []
+ self.ReleaseMouse()
def OnRightUp(self, event):
self.lines = []
self.Refresh()
def OnMotion(self, event):
- if event.Dragging() and not self.mode == "Drag":
+ if self.HasCapture() and event.Dragging() and not self.mode == "Drag":
dc = wx.ClientDC(self)
dc.BeginDrawing()
dc.SetPen(wx.Pen(wx.BLUE, 3))
- coords = ((self.x, self.y), event.GetPosition())
+ coords = ((self.x, self.y), event.GetPositionTuple())
self.curLine.append(coords)
- dc.DrawLineXY(*coords)
+ dc.DrawLine(*coords)
self.x, self.y = event.GetPositionTuple()
dc.EndDrawing()
if self.GetData():
# convert it back to a list of lines and give it to the viewer
linesdata = self.data.GetData()
- lines = wx.InputStream(cPickle.loads(linesdata))
+ lines = cPickle.loads(linesdata)
self.dv.SetLines(lines)
# what is returned signals the source what to do
for line in self.lines:
for coords in line:
- dc.DrawLineXY(*coords)
+ dc.DrawLine(*coords)
dc.EndDrawing()
#----------------------------------------------------------------------