]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/CustomDragAndDrop.py
A patch from Frame Niessink which adds an additional style that
[wxWidgets.git] / wxPython / demo / CustomDragAndDrop.py
index b1c1e5a890df6ed0d8f03631091ca00584cdf8a9..f5404cd4db509897e0e546c87a72a6f30a59f790 100644 (file)
@@ -14,11 +14,11 @@ class DoodlePad(wx.Window):
         self.x = self.y = 0
         self.SetMode("Draw")
 
-        wx.EVT_LEFT_DOWN(self, self.OnLeftDown)
-        wx.EVT_LEFT_UP(self, self.OnLeftUp)
-        wx.EVT_RIGHT_UP(self, self.OnRightUp)
-        wx.EVT_MOTION(self, self.OnMotion)
-        wx.EVT_PAINT(self, self.OnPaint)
+        self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)
+        self.Bind(wx.EVT_LEFT_UP,  self.OnLeftUp)
+        self.Bind(wx.EVT_RIGHT_UP, self.OnRightUp)
+        self.Bind(wx.EVT_MOTION, self.OnMotion)
+        self.Bind(wx.EVT_PAINT, self.OnPaint)
 
 
     def SetMode(self, mode):
@@ -69,7 +69,7 @@ class DoodlePad(wx.Window):
             dc = wx.ClientDC(self)
             dc.BeginDrawing()
             dc.SetPen(wx.Pen(wx.BLUE, 3))
-            coords = ((self.x, self.y), event.GetPositionTuple())
+            coords = (self.x, self.y) + event.GetPositionTuple()
             self.curLine.append(coords)
             dc.DrawLine(*coords)
             self.x, self.y = event.GetPositionTuple()
@@ -82,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
@@ -125,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)
 
 
@@ -183,7 +182,7 @@ class DoodleViewer(wx.Window):
         self.x = self.y = 0
         dt = DoodleDropTarget(self, log)
         self.SetDropTarget(dt)
-        wx.EVT_PAINT(self, self.OnPaint)
+        self.Bind(wx.EVT_PAINT, self.OnPaint)
 
 
     def SetLines(self, lines):
@@ -216,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)
@@ -257,8 +256,8 @@ class CustomDnDPanel(wx.Panel):
         self.SetSizer(sizer)
 
         # Events
-        wx.EVT_RADIOBUTTON(self, rb1.GetId(), self.OnRadioButton)
-        wx.EVT_RADIOBUTTON(self, rb2.GetId(), self.OnRadioButton)
+        self.Bind(wx.EVT_RADIOBUTTON, self.OnRadioButton, rb1)
+        self.Bind(wx.EVT_RADIOBUTTON, self.OnRadioButton, rb2)
 
 
     def OnRadioButton(self, evt):
@@ -315,11 +314,11 @@ if __name__ == '__main__':
         def MakeFrame(self, event=None):
             frame = wx.Frame(None, -1, "Custom Drag and Drop", size=(550,400))
             menu = wx.Menu()
-            menu.Append(6543, "Window")
+            item = menu.Append(-1, "Window")
             mb = wx.MenuBar()
             mb.Append(menu, "New")
             frame.SetMenuBar(mb)
-            wx.EVT_MENU(frame, 6543, self.MakeFrame)
+            frame.Bind(wx.EVT_MENU, self.MakeFrame, item)
             panel = TestPanel(frame, DummyLog())
             frame.Show(True)
             self.SetTopWindow(frame)