CAPI drag-and-drop between multi-column-list-panel to list-panel
The drag-and-drop functionality in LW7 seems to be broken, and I'm not sure why. My goal is to drag items from a "source" multi-column-list-panel to copy them onto a "target" list-panel. This used to work fine for me in LW6.1. I suspect I may not understand some of the changes to the drag-and-drop system in LW7.
At any rate, I adapted LW7's drag-and-drop code to drag from a list-panel to another list-panel, and it works okay. (See the attached file, "drag-and-drop-WORKING.lisp" and run TEST-CHOICE-DRAG-AND-DROP-WORKING to drag from one panel to the next.)
But, LW7 does not seem to be able to drag from a multi-column-list-panel to a simple list-panel in a slightly more complicated interface. (See the attached file, "drag-and-drop-BROKEN.lisp" and run TEST-CHOICE-DRAG-AND-DROP-BROKEN.) The dragging seems to work okay, but the dropping portion breaks on this line:
(when (and (capi:drop-object-provides-format drop-object :intension-library)
(capi:drop-object-allows-drop-effect-p drop-object :copy))
because the second conjunct evaluates to NIL, i.e., the drop-object (a list panel) doesn't permit a drop-effect. In fact, when you call:
(capi:drop-object-drop-effect drop-object)
it returns :NONE, which means, according to the CAPI Manual, that no dragging can be executed on the list-panel. But that seems odd, given that dragging onto a list-panel work in the CAPI example (and in the simpler version I created in "drag-and-drop-WORKING.lisp"). What's going on here?
Cheers,
Sunny