X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/372bde9b72b67036482dcc170f6260846e7a3b64..628eae0bcd7916c57847b7eab739d4cc32534ccf:/wxPython/demo/CustomDragAndDrop.py?ds=sidebyside diff --git a/wxPython/demo/CustomDragAndDrop.py b/wxPython/demo/CustomDragAndDrop.py index fcb0947287..1c2b33777d 100644 --- a/wxPython/demo/CustomDragAndDrop.py +++ b/wxPython/demo/CustomDragAndDrop.py @@ -1,11 +1,3 @@ -# 11/5/2003 - Modified by grimmtooth@softhome.net (Jeff Grimmett) -# -# o Updated for wx namespace -# -# 11/24/2003 - Modified by grimmtooth@softhome.net (Jeff Grimmett) -# -# o Issues around line 167. I'm stuck. -# import cPickle import wx @@ -46,7 +38,7 @@ class DoodlePad(wx.Window): dc.SetPen(wx.Pen(wx.BLUE, 3)) for line in self.lines: for coords in line: - dc.DrawLineXY(*coords) + dc.DrawLine(*coords) dc.EndDrawing() @@ -63,22 +55,23 @@ class DoodlePad(wx.Window): 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() @@ -89,7 +82,7 @@ class DoodlePad(wx.Window): # create our own data format and use it in a # custom data object - ldata = wx.CustomDataObject(wx.CustomDataFormat("DoodleLines")) + ldata = wx.CustomDataObject("DoodleLines") ldata.SetData(linesdata) # Also create a Bitmap version of the drawing @@ -132,8 +125,7 @@ class DoodleDropTarget(wx.PyDropTarget): self.dv = window # specify the type of data we will accept - self.df = wx.CustomDataFormat("DoodleLines") - self.data = wx.CustomDataObject(self.df) + self.data = wx.CustomDataObject("DoodleLines") self.SetDataObject(self.data) @@ -171,7 +163,7 @@ class DoodleDropTarget(wx.PyDropTarget): 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 @@ -207,7 +199,7 @@ class DoodleViewer(wx.Window): for line in self.lines: for coords in line: - dc.DrawLineXY(*coords) + dc.DrawLine(*coords) dc.EndDrawing() #---------------------------------------------------------------------- @@ -223,8 +215,8 @@ class CustomDnDPanel(wx.Panel): "Draw a little picture in this window\n" "then switch the mode below and drag the\n" "picture to the lower window or to another\n" - "application that accepts BMP's as a drop\n" - "target.\n" + "application that accepts Bitmaps as a\n" + "drop target.\n" ) rb1 = wx.RadioButton(self, -1, "Draw", style=wx.RB_GROUP)