Making "Wells": Whose Control Is It Anyway?

Thomas McGrath III 3mcgrath at adelphia.net
Wed Feb 23 12:43:17 EST 2005


Jerry,

I am not sure what it is exactly that you are asking. But have you 
looked in the documentation under drag?
You said: no handlers in the other controls on the card will get 
triggered (right?),
But: I think that you can trap and act upon a few things while doing a 
drag:
dragDrop - Sent to the object where data was dropped when a drag and 
drop finishes.
dragEnd - Sent to the object a drag and drop started from, when the 
data is dropped.
dragEnter - Sent when the mouse pointer moves into an object during a 
drag and drop.
dragLeave - Sent when the mouse pointer moves out of an object during a 
drag and drop.
dragMove - Sent when the user moves the mouse during a drag and drop.
dragSource - Returns the long ID of the object that dragged data was 
dragged from.
dragDestination - Returns the long ID of the object that dragged data 
was dropped on.
dragData - Returns the long ID of the object that dragged data was 
dropped on.

I would think that you could combine a custom property in your "drop 
zone" item and during a drag do a test as to what is being dragged and 
wether it is appropriate to drop it or not and then act upon that.

HTH

Tom
On Feb 23, 2005, at 10:04 AM, Jerry Balzano wrote:

>> Here's the situation: say the user is dragging a green group.  Other 
>> grouped controls on the card have green "slots" (actually fields with 
>> different text color) that need to signal that they will "accept the 
>> drop" of the green group, which they do by hiliting their border 
>> (actually turning off their threeD property temporarily).  Since I 
>> have an object attached to my cursor (the green group I'm dragging), 
>> no handlers in the other controls on the card will get triggered 
>> (right?), so I seem to have no choice but to iterate over the 
>> controls, and do a test inside the original green-group handler (or — 
>> gasp — inside an "idle" handler) like
>> 	if the mouseLoc is within the rect of control i
>> 	then set the threeD of control i to false
>>
>> I foresee this "solution" scaling badly as the number of controls on 
>> the card increases.  But I don't at the moment see a better one.  Is 
>> there?
>>

Thomas J. McGrath III
SCS
1000 Killarney Dr.
Pittsburgh, PA 15234
412-885-8541


More information about the use-livecode mailing list