--- Tkdnd.py 2006-07-20 11:57:37.618294536 +0200 +++ DnDHandler.py 2006-07-20 11:54:30.187788304 +0200 @@ -105,8 +105,8 @@ # The factory function -def dnd_start(source, event): - h = DndHandler(source, event) +def dnd_start(source, event, dndcursor='hand2'): + h = DndHandler(source, event, dndcursor) if h.root: return h else: @@ -119,7 +119,7 @@ root = None - def __init__(self, source, event): + def __init__(self, source, event, dndcursor): if event.num > 5: return root = event.widget._root() @@ -137,7 +137,7 @@ self.save_cursor = widget['cursor'] or "" widget.bind(self.release_pattern, self.on_release) widget.bind("", self.on_motion) - widget['cursor'] = "hand2" + self.dndcursor = dndcursor def __del__(self): root = self.root @@ -149,6 +149,9 @@ pass def on_motion(self, event): + if not self.dndcursor is None: + event.widget['cursor'] = self.dndcursor + self.dndcursor = None x, y = event.x_root, event.y_root target_widget = self.initial_widget.winfo_containing(x, y) source = self.source