Got me beat.

Someone with more experience with drag/drop will have to chime in.


--- In flexcoders@yahoogroups.com, "Vijay Ganesan"
<[EMAIL PROTECTED]> wrote:
>
> 
> Not so if you add the drag handling code as in my original example:
> private function onMouseDown(event:MouseEvent):void
> {
>   trace("onMouseDown");
>   var ds:DragSource = new DragSource();
>   DragManager.doDrag(this, ds, event);
> }
> 
> Works in the AIR version.
> 
> --- In flexcoders@yahoogroups.com, "valdhor" <stevedepp@> wrote:
> >
> > Given the following:
> > 
> > <?xml version="1.0" encoding="utf-8"?>
> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
> > layout="absolute" creationComplete="creationCompleteHandler()">
> >      <mx:Script>
> >          <![CDATA[
> >              private function creationCompleteHandler():void
> >              {
> >                  but.doubleClickEnabled = true;
> >                  but.addEventListener(MouseEvent.CLICK, onMouseClick);
> >                  but.addEventListener(MouseEvent.DOUBLE_CLICK,
> > onMouseDblClick);
> >                  cvs.addEventListener(MouseEvent.MOUSE_DOWN,
> > onMouseDown);
> >              }
> > 
> >              private function onMouseClick(event:MouseEvent):void
> >              {
> >                  trace("onMouseClick");
> >              }
> > 
> >              private function onMouseDown(event:MouseEvent):void
> >              {
> >                  trace("onMouseDown");
> >              }
> > 
> >              private function onMouseDblClick(event:MouseEvent):void
> >              {
> >                  trace("onMouseDblClick");
> >              }
> >          ]]>
> >      </mx:Script>
> >      <mx:Canvas id="cvs" width="300" height="200">
> >          <mx:Button id="but" width="100" height="75" label="Hello"/>
> >      </mx:Canvas>
> > </mx:Application>
> > 
> > I get the following output if I double click the button:
> > 
> > onMouseDown
> > onMouseClick
> > onMouseDown
> > onMouseDblClick
> > 
> > 
> > --- In flexcoders@yahoogroups.com, "Vijay Ganesan" <vijay.k.ganesan@>
> > wrote:
> > >
> > >
> > > I need to handle MOUSE_DOWN because I'm enabling drag and drop.
> > > Again the weird thing is that the AIR version works fine.
> > >
> > > --- In flexcoders@yahoogroups.com, "valdhor" stevedepp@ wrote:
> > > >
> > > > Don't quote me on this but it is probably because the
> > > > MouseEvent.MOUSE_DOWN event is captured before a double click. If
> > you
> > > > change the event listener from MouseEvent.MOUSE_DOWN to
> > > > MouseEvent.CLICK then it works as expected.
> > > >
> > > >
> > > > --- In flexcoders@yahoogroups.com, "Vijay Ganesan"
> > > > <vijay.k.ganesan@> wrote:
> > > > >
> > > > > I have the same code running in an AIR app and in a browser
app -
> > the
> > > > > only difference being the containing mx:WindowedApplication
versus
> > > > > mx:Application. See code below for both. Double clicking on the
> > button
> > > > > in the AIR app works fine (MouseEvent.DOUBLE_CLICK gets
fired) but
> > the
> > > > > same does not fire in the browser version. Can someone tell me
> > what is
> > > > > going on here?
> > > > >
> > > > > Thanks
> > > > > Vijay
> > > > >
> > > > > AIR version:
> > > > > <?xml version="1.0" encoding="utf-8"?>
> > > > > <mx:WindowedApplication
xmlns:mx="http://www.adobe.com/2006/mxml";
> > > > > layout="absolute" creationComplete="creationCompleteHandler()">
> > > > >   <mx:Script>
> > > > >     <![CDATA[
> > > > >  import mx.managers.DragManager;
> > > > >  import mx.core.DragSource;
> > > > >
> > > > >  private function creationCompleteHandler():void
> > > > >  {
> > > > >    cvs.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
> > > > >    but.doubleClickEnabled = true;
> > > > >    but.addEventListener(MouseEvent.DOUBLE_CLICK,
onMouseDblClick);
> > > > >  }
> > > > >
> > > > >  private function onMouseDown(event:MouseEvent):void
> > > > >  {
> > > > >    trace("onMouseDown");
> > > > >    var ds:DragSource = new DragSource();
> > > > >           DragManager.doDrag(this, ds, event);
> > > > >  }
> > > > >
> > > > >  private function onMouseDblClick(event:MouseEvent):void
> > > > >  {
> > > > >    trace("onMouseDblClick"); // gets called as expected
> > > > >  }
> > > > >      ]]>
> > > > >   </mx:Script>
> > > > >
> > > > >   <mx:Canvas id="cvs" width="300" height="200">
> > > > >     <mx:Button id="but" width="100" height="75" label="Hello"/>
> > > > >   </mx:Canvas>
> > > > >
> > > > > </mx:WindowedApplication>
> > > > >
> > > > > Browser version:
> > > > > <?xml version="1.0" encoding="utf-8"?>
> > > > > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
> > > > > layout="absolute" creationComplete="creationCompleteHandler()">
> > > > >   <mx:Script>
> > > > >     <![CDATA[
> > > > >  import mx.managers.DragManager;
> > > > >  import mx.core.DragSource;
> > > > >
> > > > >  private function creationCompleteHandler():void
> > > > >  {
> > > > >    cvs.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
> > > > >    but.doubleClickEnabled = true;
> > > > >    but.addEventListener(MouseEvent.DOUBLE_CLICK,
onMouseDblClick);
> > > > >  }
> > > > >
> > > > >  private function onMouseDown(event:MouseEvent):void
> > > > >  {
> > > > >    trace("onMouseDown");
> > > > >    var ds:DragSource = new DragSource();
> > > > >           DragManager.doDrag(this, ds, event);
> > > > >  }
> > > > >
> > > > >  private function onMouseDblClick(event:MouseEvent):void
> > > > >  {
> > > > >    trace("onMouseDblClick"); // does not get called!!!
> > > > >  }
> > > > >      ]]>
> > > > >   </mx:Script>
> > > > >
> > > > >   <mx:Canvas id="cvs" width="300" height="200">
> > > > >     <mx:Button id="but" width="100" height="75" label="Hello"/>
> > > > >   </mx:Canvas>
> > > > >
> > > > > </mx:Application>
> > > > >
> > > >
> > >
> >
>


Reply via email to