Magazine Internet

Drag and Drop AIR la nouvelle donne

Publié le 05 octobre 2007 par Stef1

Le drag and drop AIR a changé, je ne vais pas rentrer dans le détail.

Juste  un petit bout de code  pour le moment et  ne concernant que les fichiers

Pour commencer on doit importer de nouvelles classes  ( en plus de celles que l on avait avant )

import flash.desktop.Clipboard;
import flash.desktop.ClipboardFormats;

import flash.events.NativeDragEvent;
import flash.desktop.DragActions;
import flash.desktop.DragManager;

Pas de  modif au niveau des eventListener
MonComposant.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, onDrag);
MonComposant.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, onDrop);

private function onDrop(event:NativeDragEvent):void{
    DragManager.dropAction = DragActions.COPY; // je veux copier l'élément

    // Les nouveautés sont la  on récupère maintenant les éléments du drag and drop par un getData sur clipBoard

    var transferable:Clipboard = event.clipboard;
    var dropfiles:Array = transferable.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
    for each (var file:File in dropfiles){
        var sourceFile:File = new File();
        sourceFile = sourceFile.resolvePath(file.nativePath);
    
        var destination:File = new File();
        destination.nativePath = MonPathPourLaCopie; // Remplacer  par l endroit ou l on veut stocker  les fichiers
        destination = destination.resolvePath(file.name);
        try
        {   
            sourceFile.copyToAsync(destination, true);
        }
        catch (error:Error)
        {
            trace("Error:"+error.message);
        }
       }
}

private function onDrag(event:NativeDragEvent):void{
    var transferable:Clipboard = event.clipboard;
    if(transferable.hasFormat(ClipboardFormats.FILE_LIST_FORMAT)) {
           DragManager.acceptDragDrop(DisplayObject(event.currentTarget));
    }
}   

Pour plus d'info sur le nouveau drag and drop  il faut télécharger  l'exemple Scrappy chez adobe
http://download.macromedia.com/pub/labs/air/quickstart_apps/b2/Scrappy.zip

Je reparlerai plus longuement du drag and drop quand  j'aurais résolu tout  mes  problèmes :)


Retour à La Une de Logo Paperblog

A propos de l’auteur


Stef1 Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossiers Paperblog