On Fri, Feb 5, 2010 at 2:10 PM, Matthew Pirocchi
<[email protected]> wrote:
> I'm testing a window that looks something like this:
>
> http://i.imgur.com/3OaT6.png
>
> Dragging a Tag to a Card links the Tag to the Card. So does dragging a
> Card to a Tag.
>
> It's meaningless to drop a tag between two cards, or a card between
> two tags. I can ignore these outcomes in the Handle...DataReceived
> function like this:
>
> if (dropPos != TreeViewDropPosition.IntoOrAfter &&
>    dropPos != TreeViewDropPosition.IntoOrBefore)
>    return;
>
> However, when dragging, the user still sees the option to insert:
>
> http://i.imgur.com/UU01L.png
>
> How do I prevent this from happening?

I think i's possible but complicated, using the OnDragMotion and
inserting your handler before the normal one (ConnectBefore), the on
each event checking what's at the current location and possibly using
args.RetVal=true to prevent the event propagating to the default drag
motion handler.

For an example see
main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/ExtensibleTreeView.cs

-- 
Michael Hutchinson
http://mjhutchinson.com
_______________________________________________
Gtk-sharp-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/gtk-sharp-list

Reply via email to