1 Reply Latest reply on May 17, 2008 8:46 AM by mattkane

    non "native" drag'n'drop events and air

      Hello this is a small discussion from the Adobe Labs Air forum which doesn't seem to be available anymore,
      http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=72&catid=641&threadid =1336859&enterthread=y


      acrowne wrote:
      I've been having trouble getting my native drag and drop to work on my project, but I think I have narrowed the problem down to some sort of conflict between NativeDragDrop and setting a component to dropEnabled=true. The structure of my components is a Canvas with a TileList inside with custom tile renderer. The TileList has dragEnabled, dropEnabled, and dragMoveEnabled all set to true. And I have NativeDragEnter and NativeDragDrop events defined. If I remove the dropEnabled code, I am able to drag in outside elements. If I remove the NativeDragDrop, I am able to reorder my tiles. But if both dropEnabled is true and NativeDragDrop is defined, neither of those things works.


      mac_martine wrote:
      I'm late to the punch here, but for anyone that comes along in the future and reads this...
      The Native events are for AIR applications where components don't have built in drag and drop functionality. The "native" events in AIR apps are wrapped in the Flex (non-"native") drag and drop events. Components like List, Tilelist etc have built in drag and drop functionality whereas Canvas, VBox, etc don't. For components that have the functionality built in you can continue to use the regular Flex (non-"native") events. Use the native events in AIR apps on components that don't have built in drag and drop functionality, but don't use both native and non-native events -- disable the non-"native" ones or it won't work. Someone else will hopefully come along and probably explain this better, but that should get you going.


      i'm having the exact same problem as acrowne,
      Mac wrote its possible to use the non "native" events in air for components that support flex dragndrop but that doesn't seem to work. I try to drag files from the OS to a datagrid with the non "native" events like this:

      <mx:DataGrid dragEnabled="true" dropEnabled="true" dragEnter="trace('dragenter');DragManager.acceptDragDrop(event.target as UIComponent);" dragDrop="trace('dragdrop')" >

      but the dragdrop event doesnt fire if i drag some file on the datagrid and the "unable to drag in" icon is shown.

      How do i enable dragndrop from external source to components with dropenabled="true" which i need to reorder my rows in the datagrid?