Re: GTK TreeView control in Windows (DND issue)



Hi David, here's what I got when I added your function calls this morning.

Firstly, a non-treeview test example.  This example has a main window (a dialog) with two labels, one of which is the drop target.  The dialog also launches a child dialog.  Here's what I see when I drag one label onto the other (bear in mind that the labels are physically in close proximity).

Widget originally set as drag_dest target was 0x02BE5028, path GtkDialog.GtkVBox.GtkLabel
Widget being tested is 0x02BE5028 on object GtkLabel
Widget being tested is 0x02BE5028 on object GtkLabel
Widget being tested is 0x02BE5028 on object GtkLabel
Widget being tested is 0x02BE5028 on object GtkLabel
Widget being tested is 0x02BE5028 on object GtkLabel
Widget being tested is 0x02BE5028 on object GtkLabel
Widget being tested is 0x02BE5028 on object GtkLabel

Next, I re-launch the app and this time, I drag the child dialog onto the drop label.

Widget originally set as drag_dest target was 0x02675028, path GtkDialog.GtkVBox.GtkLabel
Widget being tested is 0x02675028 on object GtkLabel
< Now I start dragging >
Widget being tested is 0x026752A8 on object GtkLabel
Widget being tested is 0x026A9958 on object GtkWindow
Widget being tested is 0x02672000 on object GtkVBox
Widget being tested is 0x0264E018 on object GtkDialog
Widget being tested is 0x02672000 on object GtkVBox
Widget being tested is 0x0264E018 on object GtkDialog
Widget being tested is 0x02672000 on object GtkVBox
Widget being tested is 0x0264E018 on object GtkDialog
Widget being tested is 0x02675028 on object GtkLabel
Widget being tested is 0x02675028 on object GtkLabel
Widget being tested is 0x02675028 on object GtkLabel
Widget being tested is 0x02675028 on object GtkLabel
Widget being tested is 0x02675028 on object GtkLabel
Widget being tested is 0x02675028 on object GtkLabel
Widget being tested is 0x02675028 on object GtkLabel

The above is very similar to the output that you got.  Now for the acid test...  I build the GTK toolkit's TreeView sample and try to re-order the TV's rows using DnD.

Widget originally set as drag_dest target was 0x02B1F0D0, path GtkTreeView
Widget being tested is 0x02B1F0D0 on object GtkTreeView
< Now I start dragging >
Widget being tested is 0x02B1ADB8 on object GtkWindow
Widget being tested is 0x02B1ADB8 on object GtkWindow
Widget being tested is 0x02B1ADB8 on object GtkWindow
Widget being tested is 0x02B1ADB8 on object GtkWindow
Widget being tested is 0x02B1ADB8 on object GtkWindow
Widget being tested is 0x02B1ADB8 on object GtkWindow
Widget being tested is 0x02B1ADB8 on object GtkWindow
Widget being tested is 0x02B1ADB8 on object GtkWindow
Widget being tested is 0x02B1ADB8 on object GtkWindow
Widget being tested is 0x02B1ADB8 on object GtkWindow

So I think this confirms that in gtk-win32, the wrong window is getting tested for a TreeView control.  I suppose the quest now must be to find out which window and why.  I'm guessing that in my case it might be the app's main window but I'm not sure if that's safe to assume in all cases.  Any thoughts?

John


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]