In your snippet, it looked like you were trying to drag a panel. Is that
true or are you dragging components in a panel?
 
Maybe I don't get what is wrong with IE and MOUSE_LEAVE because as far
as I know MOUSE_LEAVE does work.  It really should be called
MOUSE_UP_OUTSIDE_STAGE.  It does not fire when you drag out of the
stage.
 
If your goal is to keep the dragged thing within a certain portion of
the screen, you can do that (but you can't change the mouse cursor
position).

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of ben.clinkinbeard
Sent: Wednesday, September 26, 2007 10:15 AM
To: [email protected]
Subject: [flexcoders] Re: MOUSE_LEAVE never fires in IE if drag with
bounds is active



I will definitely file a bug against the player but in my initial
exploration am seeing some deal-breaker shortcomings of both
DragManager and Panel's built-in approach. Panel's
stage_mouseLeaveHandler() listens for MOUSE_LEAVE so it suffers from
the same fate as startDrag(). DragManager, as far as I can tell,
provides no way to limit the drag area. DragManager also doesn't seem
to provide any (easy) way to do live dragging. I assume the only way
to accomplish it would be to copy the dragged component into a
ByteArray and use that as an Image's source for the dragProxy.

As I said, these are only based on initial tests so please let me know
if there is something I am overlooking. As it turns out I really hope
that is the case.

Thanks,
Ben

--- In [email protected] <mailto:flexcoders%40yahoogroups.com>
, "Alex Harui" <[EMAIL PROTECTED]> wrote:
>
> You should file against the player. They should fix it. However, since
> that scenario is not recommended in Flex, I'm not going to verify it.
> And yes, use DragManager or your own code (Panel has its own code)
> 
> ________________________________
> 
> From: [email protected] <mailto:flexcoders%40yahoogroups.com>
[mailto:[email protected] <mailto:flexcoders%40yahoogroups.com>
] On
> Behalf Of ben.clinkinbeard
> Sent: Wednesday, September 26, 2007 6:10 AM
> To: [email protected] <mailto:flexcoders%40yahoogroups.com> 
> Subject: [flexcoders] Re: MOUSE_LEAVE never fires in IE if drag with
> bounds is active
> 
> 
> 
> Hi Alex,
> 
> Not quite sure how to take your comment. Do you mean "file it against
> the player" or "whatever"?
> 
> Regarding the avoidance of startDrag/stopDrag, I take it you mean I
> should rewrite the code to utilize DragManager?
> 
> Thanks,
> Ben
> 
> --- In [email protected]
<mailto:flexcoders%40yahoogroups.com>
<mailto:flexcoders%40yahoogroups.com>
> , "Alex Harui" <aharui@> wrote:
> >
> > Go ahead and file it if you want. I'm not even going to bother to
> > confirm. It is a player API. We avoid startDrag/stopDrag for many
> > other reasons and handle dragging in separate code in Flex
> > 
> > ________________________________
> > 
> > From: [email protected]
<mailto:flexcoders%40yahoogroups.com>
<mailto:flexcoders%40yahoogroups.com>
> [mailto:[email protected]
<mailto:flexcoders%40yahoogroups.com>
<mailto:flexcoders%40yahoogroups.com>
> ] On
> > Behalf Of ben.clinkinbeard
> > Sent: Tuesday, September 25, 2007 9:37 PM
> > To: [email protected] <mailto:flexcoders%40yahoogroups.com>
<mailto:flexcoders%40yahoogroups.com> 
> > Subject: [flexcoders] MOUSE_LEAVE never fires in IE if drag with
> bounds
> > is active
> > 
> > 
> > 
> > The behavior is just like if you drag past the bounds and release
> > without having defined a MOUSE_UP listener for the stage. This makes
> > it impossible to cancel a drag operation if the user's mouse leaves
> > the stage with the mouse button down. Again, this is only in IE.
> > Pretty sure this is a bug but will wait for confirmation before
> > filing. Complete test case below.
> > 
> > Thanks,
> > Ben
> > 
> > <?xml version="1.0" encoding="utf-8"?>
> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml
<http://www.adobe.com/2006/mxml> 
> <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > 
> > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml>
<http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > > "
> > layout="absolute"
> > viewSourceURL="srcview/index.html" creationComplete="init()">
> > <mx:Script>
> > <![CDATA[ 
> > private function init():void
> > {
> > pnl.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
> > pnl.addEventListener(MouseEvent.MOUSE_UP, onLeave);
> > }
> > 
> > private function onMouseDown(event:MouseEvent):void
> > {
> > pnl.startDrag(false, new Rectangle(0, 0, 100, 100));
> > systemManager.stage.addEventListener(Event.MOUSE_LEAVE, onLeave);
> > }
> > 
> > private function onLeave(event:Event):void
> > {
> > pnl.stopDrag();
> > systemManager.stage.removeEventListener(Event.MOUSE_LEAVE, onLeave);
> > }
> > ]]>
> > </mx:Script>
> > <mx:Panel id="pnl" width="400" height="300" title="Panel One" />
> > </mx:Application>
> >
>



 

Reply via email to