]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/samples/wxPIA_book/Chapter-18/drop_target.py
Added the sample code from wxPython In Action to the samples dir
[wxWidgets.git] / wxPython / samples / wxPIA_book / Chapter-18 / drop_target.py
diff --git a/wxPython/samples/wxPIA_book/Chapter-18/drop_target.py b/wxPython/samples/wxPIA_book/Chapter-18/drop_target.py
new file mode 100644 (file)
index 0000000..bec7653
--- /dev/null
@@ -0,0 +1,40 @@
+import wx
+
+class MyFileDropTarget(wx.FileDropTarget):
+    def __init__(self, window):
+        wx.FileDropTarget.__init__(self)
+        self.window = window
+
+    def OnDropFiles(self, x, y, filenames):
+        self.window.AppendText("\n%d file(s) dropped at (%d,%d):\n" %
+                               (len(filenames), x, y))
+        for file in filenames:
+            self.window.AppendText("\t%s\n" % file)
+            
+
+class MyFrame(wx.Frame):
+    def __init__(self):
+        wx.Frame.__init__(self, None, title="Drop Target",
+                          size=(500,300))
+        p = wx.Panel(self)
+
+        # create the controls
+        label = wx.StaticText(p, -1, "Drop some files here:")
+        text = wx.TextCtrl(p, -1, "",
+                           style=wx.TE_MULTILINE|wx.HSCROLL)
+
+        # setup the layout with sizers
+        sizer = wx.BoxSizer(wx.VERTICAL)
+        sizer.Add(label, 0, wx.ALL, 5)
+        sizer.Add(text, 1, wx.EXPAND|wx.ALL, 5)
+        p.SetSizer(sizer)
+
+        # make the text control be a drop target
+        dt = MyFileDropTarget(text)
+        text.SetDropTarget(dt)
+        
+
+app = wx.PySimpleApp()
+frm = MyFrame()
+frm.Show()
+app.MainLoop()