Re: Drag and Drop with GObject introspection
- From: John Stowers <john stowers lists gmail com>
- To: Mathias Brodala <info noctus net>
- Cc: python-hackers-list <python-hackers-list gnome org>
- Subject: Re: Drag and Drop with GObject introspection
- Date: Tue, 10 Aug 2010 09:41:35 +1200
On Mon, 2010-08-09 at 16:48 +0200, Mathias Brodala wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi.
>
> We recently did some experiments with porting PyGtk code to PyGi and
> stumbled over the Drag and Drop handling. In PyGtk nothing more than the
> following is required to allow a tree view to handle file drops:
I CC'd the python-hackers list which is where PyGi gets discussed.
John
>
> > view = gtk.TreeView()
> >
> > view.drag_dest_set(
> > gtk.DEST_DEFAULT_ALL,
> > [('text/uri-list', 0, 0)],
> > gtk.gdk.ACTION_COPY | gtk.gdk.ACTION_MOVE
> > )
>
> With PyGi the equivalent function seems to be Gtk.drag_dest_set() which
> yields the following attempt:
>
> > view = Gtk.TreeView()
> > target = Gtk.TargetEntry()
> > target.target = 'text/uri-list'
> > target.flags = 0
> > target.info = 0
> >
> > Gtk.drag_dest_set(
> > view,
> > Gtk.DestDefaults.ALL,
> > target,
> > 1,
> > Gdk.DragAction.COPY | Gdk.DragAction.MOVE
> > )
>
> However, the assignment of the target to the respective struct member
> yields the following error:
>
> > RuntimeError: unable to set value for field
>
> Why does the assignment to "target" fail whereas "flags" and "info" are
> fine?
>
> The GTK docs describe the "targets" parameter of Gtk.drag_dest_set() as
> follows:
>
> > a pointer to an array of GtkTargetEntrys indicating the drop types that
> > this widget will accept, or NULL.
>
> However, there obviously are no pointers in Python. So how would one
> specify multiple targets here? Specify None upon Gtk.drag_dest_set() and
> separately modify the target list via Gtk.drag_dest_set_target_list()?
> This however also fails right at the Gtk.drag_dest_set() call with None
> as target and 0 as target count:
>
> > TypeError: argument 2: Must be Gtk.TargetEntry, not NoneType
>
> Simply specifying a list of targets also fails, no matter the content:
>
> > TypeError: argument 2: Must be Gtk.TargetEntry, not list
>
> Should I just file a bug report about Drag and Drop handling in PyGi in
> general?
>
>
> Regards, Mathias
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAkxgFUMACgkQYfUFJ3ewsJi57gCff2l4VYB751QnVMuwG+Hy9pAm
> i6MAn3YBt1DzNbqXCv4ZpV+PnXsxE+16
> =DLQH
> -----END PGP SIGNATURE-----
> _______________________________________________
> gtk-list mailing list
> gtk-list gnome org
> http://mail.gnome.org/mailman/listinfo/gtk-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]