[pygtk] trouble moving treeView selection
Doug Quale
quale1 at charter.net
Wed Jun 30 16:52:06 WST 2004
John Finlay <finlay at moeraki.com> writes:
> Doug Quale wrote:
>
> <snip many good comments>
>
> >
> >always null. Similarly, using SelectionData.get_text() on the
> >receiving side instead of SelectionData.data always gives me None. Do
> >these functions work in pygtk or am I doing something wrong?
> >
> These methods work but use their own definition of "text" based on the
> target type:
>
> STRING
> UTF8_STRING
> TEXT
> COMPOUND_TEXT
>
> Acutally get_text() doesn't support TEXT. This is the reason that
> Thomas was having problems earlier with drag and drop between Firefox
> and gedit. TextView uses get_text() to retrieve the drag data.
Thanks John. I remember that discussion but I wasn't alert enough to
connect it to this situation. Thomas had entered a bug about this
very issue. I see that Owen Taylor was aware of the problem back in
2001 and had entered bug 55117 for it
(http://bugs.gnome.org/show_bug.cgi?id=55117).
I guess this means that the target order is a lot more important than
I had realized. Apparently UTF8_STRING is the recommended type, so
for interoperability with gtk+ applications it seems that something
like
targets = [
('EXAMPLE_INTERNAL', gtk.TARGET_SAME_WIDGET, 0),
('UTF8_STRING', 0, 1),
('COMPOUND_STRING', 0, 1),
('STRING', 0, 1),
('text/plain', 0, 2),
]
would be advised. Even then, set_text() and get_text() seem not very
useful if you want to be prepared to receive 'text/plain' anyway.
Owen's comments on the bug indicate that line handling for
'text/plain' isn't well specified, but I'm completely unfamiliar with
the intricacies of the X DND protocol specification. The best source
for this stuff is http://www.freedesktop.org but I've not studied it.
More information about the pygtk
mailing list