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
