chiark / gitweb /
Add "Reload platform" to refresh all the objects on the platform from their files
[cura.git] / Cura / gui / util / dropTarget.py
1 from __future__ import absolute_import
2 __copyright__ = "Copyright (C) 2013 David Braam - Released under terms of the AGPLv3 License"
3
4 import wx
5
6 # Define File Drop Target class
7 class FileDropTarget(wx.FileDropTarget):
8         def __init__(self, callback, filenameFilter = None):
9                 super(FileDropTarget, self).__init__()
10                 self.callback = callback
11                 self.filenameFilter = filenameFilter
12
13         def OnDropFiles(self, x, y, files):
14                 filteredList = []
15                 if self.filenameFilter is not None:
16                         for f in files:
17                                 for ext in self.filenameFilter:
18                                         if f.endswith(ext) or f.endswith(ext.upper()):
19                                                 filteredList.append(f)
20                 else:
21                         filteredList = files
22                 if len(filteredList) > 0:
23                         self.callback(filteredList)
24