So, I've been working with the DragManager for a bit now, and I'm
wondering whether or not what I've found was a design decision or simply
an omission. Cosnider the case of having a mouseEnabled="false"
component (in my case a Canvas) lying on top of a drag target. The
following few lines of code (DragProxy.as 357-366):
// targetList is in depth order, and we want the top of the list.
However, we
// do not want the target to be a decendent of us.
var targetIndex:int = targetList.length - 1;
while (targetIndex >= 0)
{
newTarget = targetList[targetIndex];
if (newTarget != this && !contains(newTarget))
break;
targetIndex--;
}
ignores the mouseEnabled state, and the subsequent code fires the
DRAG_OVER event on the topmost non-selfcontained child in spite of
whether it should be receiving events. Now this could be easily solved
(the way I'm doing it) by overriding the appropriate function to check
for mouseEnabled, or to add a new property to InteractiveComponent like
isDragEnabled (since dragEnabled is used elsewhere for a different
scope), but I'm curious as to whether I'm missing an underlying
architectural decision.
Michael Krotscheck
Senior Developer
RESOURCE INTERACTIVE
<http://www.resource.com/> www.resource.com <http://www.resource.com>
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
________________________________________________________________________
____
This email and any of its attachments may contain Resource Interactive
proprietary information, which is privileged, confidential and may be
subject to copyright or other intellectual property rights belonging to
Resource Interactive. This email is intended solely for the use of the
individual or entity to which it is addressed. If you are not the
intended recipient of this email, you are hereby notified that any
dissemination, distribution, copying or action taken in relation to the
contents of and attachments to this email is strictly prohibited and may
be unlawful. If you have received this email in error, please notify the
sender immediately and permanently delete the original and any copy of
this email and any printout.