diff --git a/projects/samskivert/src/java/com/samskivert/swing/dnd/DnDManager.java b/projects/samskivert/src/java/com/samskivert/swing/dnd/DnDManager.java index c6455891..c9be34ba 100644 --- a/projects/samskivert/src/java/com/samskivert/swing/dnd/DnDManager.java +++ b/projects/samskivert/src/java/com/samskivert/swing/dnd/DnDManager.java @@ -1,5 +1,5 @@ // -// $Id: DnDManager.java,v 1.18 2003/05/15 22:02:11 mdb Exp $ +// $Id: DnDManager.java,v 1.19 2003/05/20 17:35:51 ray Exp $ package com.samskivert.swing.dnd; @@ -228,6 +228,7 @@ public class DnDManager target = (comp == _sourceComp) ? null : (DropTarget) _droppers.get(comp); if ((target != null) && comp.isEnabled() && + _source.checkDrop(target) && target.checkDrop(_source, _data[0])) { return target; } diff --git a/projects/samskivert/src/java/com/samskivert/swing/dnd/DragSource.java b/projects/samskivert/src/java/com/samskivert/swing/dnd/DragSource.java index 2c5911f6..9b31d629 100644 --- a/projects/samskivert/src/java/com/samskivert/swing/dnd/DragSource.java +++ b/projects/samskivert/src/java/com/samskivert/swing/dnd/DragSource.java @@ -1,5 +1,5 @@ // -// $Id: DragSource.java,v 1.1 2002/08/20 02:49:19 ray Exp $ +// $Id: DragSource.java,v 1.2 2003/05/20 17:35:51 ray Exp $ package com.samskivert.swing.dnd; @@ -24,6 +24,12 @@ public interface DragSource */ public boolean startDrag (Cursor[] cursors, Object[] data); + /** + * Is the drop target an acceptable one? + * @param a potential DropTarget + */ + public boolean checkDrop (DropTarget target); + /** * A callback to let the source know that the drop completed successfully. */