def on_drop(self, x, y, obj, default_drag_result): """ Called when a drop occurs on the shell. """ # If we can't create a valid Python identifier for the name of an # object we use this instead. name = 'dragged' if hasattr(obj, 'name') \ and isinstance(obj.name, basestring) and len(obj.name) > 0: py_name = python_name(obj.name) # Make sure that the name is actually a valid Python identifier. try: if eval(py_name, {py_name : True}): name = py_name except: pass self.control.interp.locals[name] = obj self.control.run(name) self.control.SetFocus() # We always copy into the shell since we don't want the data # removed from the source return wx.DragCopy
def _on_obj_drop(self, obj): """ Handle dropped objects and add to interpreter local namespace. """ # If we can't create a valid Python identifier for the name of an # object we use this instead. name = "dragged" if hasattr(obj, "name") and isinstance(obj.name, basestring) and len(obj.name) > 0: py_name = python_name(obj.name) # Make sure that the name is actually a valid Python identifier. try: if eval(py_name, {py_name: True}): name = py_name except Exception: pass self.control.interpreter.locals[name] = obj self.control.execute(name) self.control._control.setFocus()
def _on_obj_drop(self, obj): """ Handle dropped objects and add to interpreter local namespace. """ # If we can't create a valid Python identifier for the name of an # object we use this instead. name = "dragged" if (hasattr(obj, "name") and isinstance(obj.name, str) and len(obj.name) > 0): py_name = python_name(obj.name) # Make sure that the name is actually a valid Python identifier. try: if eval(py_name, {py_name: True}): name = py_name except Exception: pass self.control.interpreter.locals[name] = obj self.control.execute(name) self.control._control.setFocus()
def on_drop(self, x, y, obj, default_drag_result): """ Called when a drop occurs on the shell. """ # If this is a file, we'll just print the file name if isinstance(obj, EnthoughtFile): self.control.write(obj.absolute_path) elif (isinstance(obj, list) and len(obj) == 1 and isinstance(obj[0], EnthoughtFile)): self.control.write(obj[0].absolute_path) else: # Not a file, we'll inject the object in the namespace # If we can't create a valid Python identifier for the name of an # object we use this instead. name = 'dragged' if hasattr(obj, 'name') \ and isinstance(obj.name, str) and len(obj.name) > 0: py_name = python_name(obj.name) # Make sure that the name is actually a valid Python identifier. try: if eval(py_name, {py_name: True}): name = py_name except: pass self.interp.user_ns[name] = obj self.execute_command(name, hidden=False) self.control.SetFocus() # We always copy into the shell since we don't want the data # removed from the source return wx.DragCopy
def on_drop(self, x, y, obj, default_drag_result): """ Called when a drop occurs on the shell. """ # If this is a file, we'll just print the file name if isinstance(obj, EnthoughtFile): self.control.write(obj.absolute_path) elif ( isinstance(obj, list) and len(obj) ==1 and isinstance(obj[0], EnthoughtFile)): self.control.write(obj[0].absolute_path) else: # Not a file, we'll inject the object in the namespace # If we can't create a valid Python identifier for the name of an # object we use this instead. name = 'dragged' if hasattr(obj, 'name') \ and isinstance(obj.name, basestring) and len(obj.name) > 0: py_name = python_name(obj.name) # Make sure that the name is actually a valid Python identifier. try: if eval(py_name, {py_name : True}): name = py_name except: pass self.interp.user_ns[name] = obj self.execute_command(name, hidden=False) self.control.SetFocus() # We always copy into the shell since we don't want the data # removed from the source return wx.DragCopy