Thanks a lot Jeff, i think this is really going to help me.<br>
<br>
<br><br><div><span class="gmail_quote">On 05/10/05, <b class="gmail_sendername"><a href="mailto:jepler@unpythonic.net">jepler@unpythonic.net</a></b> &lt;<a href="mailto:jepler@unpythonic.net">jepler@unpythonic.net</a>&gt; wrote:
</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I haven't used bwidget drag and drop myself.<br><br>You can get the widget object for a string path by using 
bwidget.nametowidget<br>but I had trouble with this since often the name of an internal widget, such as<br>(in my case) '.1077785676.c', is returned.&nbsp;&nbsp;Perhaps by chopping off parts until<br>a recognized widget is found will work.
<br><br>Here's a small program I just wrote which demonstrates drag&amp;drop between two<br>ListBox (not Tree) widgets.<br><br>from Tkinter import *<br>from bwidget import *<br>import bwidget<br><br>def nametowidget(name):
<br>&nbsp;&nbsp;&nbsp;&nbsp;while name:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return bwidget.nametowidget(app, name)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;except KeyError:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i = name.rindex('.')<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name = name[:i]<br><br>def draginit(a, b, c): return ('LISTBOX_ITEM', 'move', b)
<br><br>def do_drop(src, dest, where, op, kind, data):<br>&nbsp;&nbsp;&nbsp;&nbsp;src = nametowidget(src)<br>&nbsp;&nbsp;&nbsp;&nbsp;dest = nametowidget(dest)<br>&nbsp;&nbsp;&nbsp;&nbsp;src.insert(END, text=dest.itemcget(data, &quot;text&quot;))<br><br>def do_drag(src, dest, op, kind, data, result):
<br>&nbsp;&nbsp;&nbsp;&nbsp;if result:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src = nametowidget(src)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src.delete(data)<br><br>common_args = {'dropcmd': do_drop, 'dragendcmd': do_drag, 'dragenabled': 1,<br>&nbsp;&nbsp;&nbsp;&nbsp;'dropenabled': 1, 'dropovermode': 'w'}<br><br>app = Tk()
<br><br>t = ListBox(app, **common_args)<br>t.pack(side=LEFT)<br>for text in &quot;abcde&quot;:<br>&nbsp;&nbsp;&nbsp;&nbsp;t.insert(END, text=text*3)<br><br>u = ListBox(app, **common_args)<br>u.pack(side=LEFT)<br>for text in &quot;12345&quot;:
<br>&nbsp;&nbsp;&nbsp;&nbsp;u.insert(END, text=text*3)<br><br>app.mainloop()<br><br><br>Jeff<br><br><br></blockquote></div><br><br clear="all"><br>-- <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>Olivier
Feys&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><br>Ringlaan 20 <br>B-3080 Tervuren - BELGIUM<br>mailto:<a href="mailto:olivier.feys@gmail.com">olivier.feys@gmail.com</a><br>Mobile phone : +32486/41.65.81<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br><br>