I have a handler that looks like this in my TreeView:
[GLib.ConnectBefore]
void HandleDragMotion (object o, DragMotionArgs args)
{
TreePath path;
TreeViewDropPosition pos;
if (!GetDestRowAtPos (args.X, args.Y, out path, out pos))
return;
if (pos == TreeViewDropPosition.Before)
SetDragDestRow (path, TreeViewDropPosition.IntoOrBefore);
else if (pos == TreeViewDropPosition.After)
SetDragDestRow (path, TreeViewDropPosition.IntoOrAfter);
Gdk.Drag.Status (args.Context, args.Context.SuggestedAction, args.Time);
args.RetVal = true;
}
...
DragMotion += HandleDragMotion;
Basically all it does is make sure you can only drop ON rows, not
BETWEEN them. My problem is that this disables expand-on-hover for
drag and drop. If I get rid of the last line (args.RetVal = true;),
expand-on-hover is enabled again, but so is dropping between rows.
Is there any way to achieve both of these things? Theoretically, I
should be able to just implement the expand-on-hover myself, but I
can't find any code for what it's supposed to look like. I tried using
the ExpandHover property (turing it on on DragBegin, and off on
DragEnd), but it only expands the first row that you hover over, then
stops working.
Any ideas?
_______________________________________________
Gtk-sharp-list maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/gtk-sharp-list