flash.desktopNativeProcess La classe NativeProcess permet l’intégration de la ligne de commande et fournit des fonctionnalités de lancement générales.flash.events:EventDispatcher La classe NativeProcess permet l’intégration de la ligne de commande et fournit des fonctionnalités de lancement générales. La classe NativeProcess permet à une application AIR d’exécuter des processus natifs sur le système d’exploitation hôte. L’application AIR peut contrôler le flux d’entrée standard (stdin), le flux de sortie standard (stdout), ainsi que le flux d’erreurs standard (stderr) du processus.

La classe NativeProcess et ses fonctionnalités sont disponibles uniquement sur des applications AIR installées avec un programme d’installation natif (applications dotées d’un profil étendu de bureau). Lors du débogage, vous pouvez transmettre l’argument -profile extendedDesktop à l’application de débogage du lanceur AIR (ADL) pour activer la fonctionnalité NativeProcess. Lors de l’exécution, vous pouvez vérifier la propriété NativeProcess.isSupported pour déterminer si la communication du processus natif est prise en charge.

Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur les applications déployées sur des systèmes d’exploitation de bureau via des programmes d’installation natifs. Cette fonctionnalité n’est pas prise en charge sur les périphériques mobiles ou sur les périphériques AIR pour TV. Vous pouvez tester la prise en charge lors de l’exécution à l’aide de la propriété NativeProcess.isSupported. Voir Prise en charge du profil AIR pour plus d’informations sur la prise en charge de l’API dans plusieurs profils.

Les applications AIR installées avec un programme d’installation natif (applications dotées d’un profil étendu de bureau) peuvent également utiliser File.openWithDefaultApplication pour ouvrir une application. Toutefois, la classe NativeProcess fournit un accès direct aux canaux flux d’entrée standard, flux de sortie standard et flux d’erreurs standard.

Remarque : les applications AIR pour TV faisant appel au profil extendedTV peuvent utiliser les extensions natives d’ActionScript pour exécuter des processus natifs.

L’exemple suivant vérifie si la communication du processus natif est prise en charge sur l’ordinateur. Le cas échéant, l’application définit des écouteurs d’événement pour le processus natif et exécute le fichier test.py dans le répertoire de l’application principale. : package { import flash.display.Sprite; import flash.desktop.NativeProcess; import flash.desktop.NativeProcessStartupInfo; import flash.events.Event; import flash.events.ProgressEvent; import flash.events.IOErrorEvent; import flash.events.NativeProcessExitEvent; import flash.filesystem.File; public class NativeProcessExample extends Sprite { public var process:NativeProcess; public function NativeProcessExample() { if(NativeProcess.isSupported) { setupAndLaunch(); } else { trace("NativeProcess not supported."); } } public function setupAndLaunch():void { var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo(); var file:File = File.applicationDirectory.resolvePath("test.py"); nativeProcessStartupInfo.executable = file; var processArgs:Vector.<String> = new Vector.<String>(); processArgs[0] = "foo"; nativeProcessStartupInfo.arguments = processArgs; process = new NativeProcess(); process.start(nativeProcessStartupInfo); process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData); process.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, onErrorData); process.addEventListener(NativeProcessExitEvent.EXIT, onExit); process.addEventListener(IOErrorEvent.STANDARD_OUTPUT_IO_ERROR, onIOError); process.addEventListener(IOErrorEvent.STANDARD_ERROR_IO_ERROR, onIOError); } public function onOutputData(event:ProgressEvent):void { trace("Got: ", process.standardOutput.readUTFBytes(process.standardOutput.bytesAvailable)); } public function onErrorData(event:ProgressEvent):void { trace("ERROR -", process.standardError.readUTFBytes(process.standardError.bytesAvailable)); } public function onExit(event:NativeProcessExitEvent):void { trace("Process exited with ", event.exitCode); } public function onIOError(event:IOErrorEvent):void { trace(event.toString()); } } } Ajoutez le script Python suivant à un fichier appelé test.py dans le répertoire de votre application (assurez-vous que Python est installé) :
 #!/usr/bin/python
 # ------------------------------------------------------------------------------
 # Sample Python script
 # ------------------------------------------------------------------------------
 
 import sys
 
 for word in sys.argv: #echo the command line arguments
     print word
 
 print "HI FROM PYTHON"
 print "Enter user name" 
 line = sys.stdin.readline()
 
 sys.stdout.write("hello," + line)
flash.external.ExtensionContextexit Signale que le processus natif a été finalisé.flash.events.NativeProcessExitEventflash.events.NativeProcessExitEvent Signale que le processus natif a été finalisé. La propriété exitCode contient la valeur que le processus renvoie au système d’exploitation hôte à la fermeture. Si l’application AIR met fin au processus en appelant la méthode exit() de l’objet NativeProcess, la propriété exitCode est définie sur NaN. standardInputIoError Signale que l’écriture dans le flux d’entrée standard (stdin) a échoué.flash.events.IOErrorEventflash.events.IOErrorEvent Signale que l’écriture dans le flux d’entrée standard (stdin) a échoué. L’objet NativeProcess distribue cet événement lorsque la méthode closeInput() échoue ou lorsque le moteur d’exécution ne parvient pas à écrire des données dans le canal d’entrée standard du processus natif. standardOutputIoError Signale que la lecture du flux de sortie standard (stdout) a échoué.flash.events.IOErrorEventflash.events.IOErrorEvent Signale que la lecture du flux de sortie standard (stdout) a échoué. L’objet NativeProcess peut distribuer cet événement si le moteur d’exécution ne parvient pas à lire les données depuis le canal de sortie standard du processus natif. standardErrorIoError Signale que la lecture du flux d’erreurs standard (stderror) a échoué.flash.events.IOErrorEventflash.events.IOErrorEvent Signale que la lecture du flux d’erreurs standard (stderror) a échoué. L’objet NativeProcess peut distribuer cet événement si le moteur d’exécution ne parvient pas à lire les données depuis le canal de sortie standard du processus natif. standardInputClose Signale que l’objet NativeProcess a fermé son flux d’entrée en appelant la méthode closeInput().flash.events.Eventflash.events.Event Signale que l’objet NativeProcess a fermé son flux d’entrée en appelant la méthode closeInput(). L’objet NativeProcess ne distribue pas cet événement lorsque le processus natif actuel ferme lui-même le flux d’entrée. standardInputProgress Signale que l’objet NativeProcess a écrit des données dans le flux d’entrée pour le processus enfant.flash.events.ProgressEventflash.events.ProgressEvent Signale que l’objet NativeProcess a écrit des données dans le flux d’entrée pour le processus enfant. L’objet NativeProcess distribue cet événement lorsque les données sont écrites dans le flux. Cet événement n’indique pas si le processus enfant a lu les données. standardErrorClose Signale que l’objet NativeProcess a fermé son flux d’erreurs.flash.events.Eventflash.events.Event Signale que l’objet NativeProcess a fermé son flux d’erreurs. standardErrorData Signale que le processus natif a des données à lire sur le flux d’erreurs standard (stderror). flash.events.ProgressEventflash.events.ProgressEvent Signale que le processus natif a des données à lire sur le flux d’erreurs standard (stderror). L’objet NativeProcess distribue cet événement lorsque le processus enfant efface son flux d’erreurs standard ou lorsque la mémoire tampon interne utilisée pour la communication entre les processus est pleine. N’écrivez pas du code qui dépend de la taille de cette mémoire tampon interne, car cette taille varie selon les versions et les systèmes d’exploitation. standardOutputClose Signale que l’objet NativeProcess a fermé son flux de sortie.flash.events.Eventflash.events.Event Signale que l’objet NativeProcess a fermé son flux de sortie. standardOutputData Signale que le processus natif a des données à lire sur le flux de sortie.flash.events.ProgressEventflash.events.ProgressEvent Signale que le processus natif a des données à lire sur le flux de sortie. L’objet NativeProcess distribue cet événement lorsque le processus enfant efface son flux de sortie standard ou lorsque la mémoire tampon interne utilisée pour la communication entre les processus est pleine. N’écrivez pas du code qui dépend de la taille de cette mémoire tampon interne, car cette taille varie selon les versions et les systèmes d’exploitation. NativeProcess Construit un objet NativeProcess non initialisé. Construit un objet NativeProcess non initialisé. Appelez la méthode start() pour démarrer le processus. start()closeInput Ferme le flux d’entrée sur ce processus. Ferme le flux d’entrée sur ce processus. Certaines applications de ligne de commande attendent que le flux d’entrée soit interrompu pour lancer certaines opérations. Une fois que le flux est fermé, il ne peut pas être rouvert tant que le processus n’existe pas et n’est pas à nouveau lancé. ioErrorStandardInputflash.events:IOErrorEventLa fermeture du flux d’entrée sur le processus pose problème La fermeture du flux d’entrée sur le processus pose problème standardInputCloseflash.events:EventLe flux d’entrée a été fermé. Le flux d’entrée a été fermé.exit Tente de quitter le processus natif.forceBooleanfalseIndique si l’application doit tenter de quitter de force le processus natif, le cas échéant.

Si le paramètre force est défini sur false, cette méthode tente de quitter progressivement le processus natif. Cette méthode « demande » au processus natif de se terminer. Il est possible que le processus natif ignore cette requête ; par conséquent, cette méthode risque ne pas entraîner la fermeture du processus natif. L’objet NativeProcess distribue un événement NativeProcessExitEvent uniquement si le processus natif se ferme.

Si le paramètre force est défini sur true, cette méthode tente de quitter de force le processus natif. Appelez cette méthode en définissant le paramètre force sur true en dernier recours. Appeler cette méthode lorsque le paramètre force est défini sur true peut avoir des conséquences négatives sur l’état des ressources système associées au processus natif. Par exemple, les fichiers ouverts peuvent être laissés dans un état incorrect. Le moteur d’exécution fera son possible pour tenter de quitter de force le processus natif. Il se peut néanmoins qu’il soit impossible de quitter le processus natif. L’objet NativeProcess distribue un événement NativeProcessExitEvent uniquement si le processus natif se ferme.

S’il s’avère impossible de quitter le processus natif, il distribue un événement NativeProcessExitEvent.

Tente de quitter le processus natif.
start Démarre le processus natif identifié par les informations de lancement spécifiées.si le processus natif est en cours d’exécution. IllegalOperationErrorflash.errors:IllegalOperationErrorsi la propriété nativePath de la classe NativeProcessStartupInfo n’existe pas. ArgumentErrorArgumentErrorsi le processus natif n’a pas été correctement lancé. ErrorErrorinfoflash.desktop:NativeProcessStartupInfoNativeProcessStartupInfo Informations indiquant comment lancer le processus natif. Démarre le processus natif identifié par les informations de lancement spécifiées. Une fois que le processus démarre, tous les flux d’entrée et de sortie sont ouverts. Cette méthode est immédiatement renvoyée après avoir sollicité le lancement du processus natif auprès du système d’exploitation. L’objet NativeProcess renvoie une exception IllegalOperationError si le processus est en cours d’exécution. Le processus est en cours d’exécution si la propriété running de l’objet NativeProcess renvoie true. Si le système d’exploitation ne parvient pas à lancer le processus, un événement error est renvoyé.

Une occurrence de NativeProcess correspond à un processus unique sur le système d’exploitation sous-jacent. Si vous souhaitez exécuter simultanément plusieurs occurrences du même processus sur le système d’exploitation, vous devez créer une occurrence de NativeProcess par processus enfant.

Vous pouvez appeler cette méthode chaque fois que la propriété running de l’objet NativeProcess renvoie false. Cela signifie que l’objet NativeProcess peut être réutilisé. En d’autres termes, vous pouvez créer une occurrence de NativeProcess, appeler la méthode start(), attendre l’événement exit, puis rappeler la méthode start(). Vous pouvez utiliser un objet NativeProcessStartupInfo différent comme valeur du paramètre info lors de l’appel suivant de la méthode start().

La classe NativeProcess et ses fonctionnalités sont disponibles uniquement sur des applications AIR installées avec un programme d’installation natif. Lors du débogage, vous pouvez transmettre l’argument -profile extendedDesktop à l’application de débogage du lanceur AIR (ADL) pour activer la fonctionnalité NativeProcess. Vérifiez la propriété NativeProcess.isSupported pour déterminer si la communication du processus natif est prise en charge.

Consignes de sécurité importantes :

L’API du processus natif peut lancer tout fichier exécutable sur le système de l’utilisateur. Prenez un soin extrême lorsque vous générez et exécutez des commandes. Si l’une des parties d’une commande à exécuter provient d’une source externe, vérifiez bien qu’il est possible d’exécuter la commande en toute sécurité. De même, votre application AIR doit valider les données transmises à un processus en cours.

Il peut néanmoins s’avérer difficile de vérifier la source d’entrée. Pour éviter de telles difficultés, il est préférable d’écrire une application native (par exemple un fichier EXE sous Windows) qui dispose d’API spécifiques. Ces API doivent traiter uniquement les commandes requises expressément par l’application AIR. Par exemple, il est possible que l’application n’accepte qu’un nombre limité d’instructions via le flux d’entrée standard.

L’application AIR sous Windows ne vous autorise pas à exécuter des fichiers .bat directement. Les fichiers .bat Windows sont exécutés par l’interpréteur de commande (cmd.exe). Lorsque vous appelez un fichier .bat, cette application de commande peut interpréter les arguments transmis à la commande comme d’autres applications à lancer. Si des caractères supplémentaires sont ajoutés de façon malintentionnée dans la chaîne d’arguments, le fichier cmd.exe risque d’exécuter une application nuisible ou non sécurisée. Par exemple, si les données ne sont pas correctement validées, votre application AIR peut appeler myBat.bat myArguments c:/mal.exe. Dans ce cas, l’application de commande lance l’application evil.exe en même temps qu’elle exécute votre fichier de commandes.

Si vous appelez la méthode start() avec un fichier .bat, l’objet NativeProcess renvoie une exception. La propriété message de l’objet Error contient la chaîne "Erreur #3219 : le processus natif pas pu être démarré".

NativeProcessStartupInfo
isSupported Indique si l’exécution de processus natifs est prise en charge dans le profil actuel.Boolean Indique si l’exécution de processus natifs est prise en charge dans le profil actuel. Cette propriété renvoie true uniquement lorsqu’elle est exécutée dans le profil de bureau étendu. En outre, NativeProcess.isSupported est toujours false pour les applications installées comme un fichier AIR. Vous devez mettre en package une application AIR à l’aide de l’indicateur -target native d’ADT pour pouvoir utiliser la classe NativeProcess. running Indique si ce processus natif est actuellement en cours d’exécution.Boolean Indique si ce processus natif est actuellement en cours d’exécution. Le processus est en cours d’exécution si vous avez appelé la méthode start() et si l’objet NativeProcess n’a pas encore distribué d’événement exit. Une occurrence de NativeProcess correspond à un processus unique sur le système d’exploitation sous-jacent. Cette propriété reste true à condition que le processus du système d’exploitation sous-jacent soit en cours d’exécution (lors du lancement du processus natif et jusqu’à ce que ce dernier renvoie un code de sortie au système d’exploitation). standardError Permet l’accès à la sortie d’erreurs standard à partir de ce processus natif.flash.utils:IDataInputen cas de tentative de lecture alors qu’aucune donnée n’est disponible. EOFErrorflash.errors:EOFError Permet l’accès à la sortie d’erreurs standard à partir de ce processus natif. Lorsque les données sont disponibles sur ce canal, l’objet NativeProcess distribue un objet ProgressEvent. Si vous tentez de lire les données à partir de ce flux alors qu’aucune donnée n’est disponible, l’objet NativeProcess renvoie une exception EOFError.

Le type est IDataInput, car l’entrée des données est considérée depuis la perspective du processus en cours, même s’il s’agit d’un flux de sortie du processus enfant.

flash.events.ProgressEventflash.utils.IDataInput
standardInput Permet d’accéder au flux d’entrée standard de ce processus natif.flash.utils:IDataOutputsi vous écrivez dans cette valeur lorsque running renvoie false ou lorsque vous tentez d’écrire des données dans un flux d’entrée fermé. IllegalOperationErrorflash.errors:IllegalOperationError Permet d’accéder du flux d’entrée standard de ce processus natif. Utilisez ce canal pour envoyer des données à ce processus. Chaque fois que des données sont écrites dans la propriété input, elles sont écrites dès que possible dans le canal d’entrée du processus natif.

Le type est IDataOutput, car la sortie des données est considérée depuis la perspective du processus en cours, même s’il s’agit d’un flux d’entrée du processus enfant.

closeInput()IDataOutput
standardOutput Permet d’accéder au canal de sortie standard de ce processus natif.flash.utils:IDataInputen cas de tentative de lecture alors qu’aucune donnée n’est disponible. EOFErrorflash.errors:EOFError Permet d’accéder au canal de sortie standard de ce processus natif. Utilisez ce canal pour lire les données depuis la sortie standard du processus natif. Lorsque ce canal contient des données, l’objet NativeProcess distribue un événement ProgressEvent. Si vous tentez de lire les données à partir de ce flux alors qu’aucune donnée n’est disponible, l’objet NativeProcess renvoie une exception EOFError.

Le type est IDataInput, car l’entrée des données est considérée depuis la perspective du processus en cours, même s’il s’agit d’un flux de sortie du processus enfant.

flash.utils.IDataInputflash.events.ProgressEvent
InteractiveIcon La classe InteractiveIcon est la classe de base pour les icônes du système d’exploitation associées aux applications.flash.desktop:Icon La classe InteractiveIcon est la classe de base pour les icônes du système d’exploitation associées aux applications.

Utilisez la propriété icon de l’objet NativeApplication pour obtenir une occurrence de l’icône de l’application. Le type d’icône est l’une des sous-classes de InteractiveIcon, DockIcon sous Mac OS X® ou SystemTrayIcon sous Windows® et Linux.

Il est impossible d’instancier directement la classe InteractiveIcon. Les appels au constructeur new InteractiveIcon() renvoient une exception ArgumentError.

flash.desktop.NativeApplication.iconflash.desktop.NativeApplication.supportsDockIconflash.desktop.NativeApplication.supportsSystemTrayIconbitmaps Image de l’icône sous forme de tableau d’objets BitmapData de tailles différentes.Array Image de l’icône sous forme de tableau d’objets BitmapData de tailles différentes.

Lorsqu’une icône est affichée dans le contexte d’un certain système d’exploitation, l’image bitmap du tableau se rapprochant le plus de la taille affichée est utilisée (et éventuellement mise à l’échelle). Les tailles courantes sont 16x16, 32x32, 48x48 et 128x128 (des icônes de 512x512 pixels peuvent être utilisées pour des système d’exploitation futurs).

Dans certains cas, le système d’exploitation peut utiliser une icône système par défaut lorsque rien n’a été affecté à la propriété bitmaps. Dans d’autres cas, aucune icône n’apparaît.

Pour définir ou modifier l’apparence de l’icône, affectez un tableau d’objets bitmapData à la propriété bitmaps :

icon.bitmaps = new Array(icon16x16.bitmapData, icon128x128.bitmapData);

La modification directe du tableau bitmaps n’a aucun effet.

Pour effacer l’image de l’icône, affectez un tableau vide à la propriété bitmaps.

Remarque : lors du chargement de fichiers image pour une icône, le format de fichier PNG fournit généralement la meilleure fusion alpha. Le format GIF ne prend en charge que l’activation ou la désactivation de la transparence (pas la fusion). Le format JPG ne prend pas en charge la transparence du tout.

height Hauteur d’affichage actuelle de l’icône, en pixels.int Hauteur d’affichage actuelle de l’icône, en pixels.

Certains contextes d’icône prennent en charge les tailles dynamiques. La propriété height indique la hauteur de l’icône choisie dans le tableau bitmaps pour le contexte actuel. La hauteur d’affichage réelle peut être différente si le système d’exploitation a mis l’icône à l’échelle.

width Largeur d’affichage actuelle de l’icône, en pixels.int Largeur d’affichage actuelle de l’icône, en pixels.

Certains contextes d’icône prennent en charge les tailles dynamiques. La propriété width indique la largeur de l’icône choisie dans le tableau bitmaps pour le contexte actuel. La largeur d’affichage réelle peut être différente si le système d’exploitation a mis l’icône à l’échelle.

InvokeEventReason La classe InvokeEventReason énumère les valeurs renvoyées par la propriété reason d’un objet InvokeEvent. Définit les constantes représentant les méthodes d’appel d’une application par le biais du système d’exploitation. Object La classe InvokeEventReason énumère les valeurs renvoyées par la propriété reason d’un objet InvokeEvent. flash.events.InvokeEvent.reasonLOGIN Indique que l’événement InvokeEvent s’est produit parce que l’utilisateur s’est connecté. loginString Indique que l’événement InvokeEvent s’est produit parce que l’utilisateur s’est connecté. STANDARD Indique que l’événement InvokeEvent s’est produit pour une raison autre que la connexion. standardString Indique que l’événement InvokeEvent s’est produit pour une raison autre que la connexion. NativeDragActions La classe NativeDragActions définit des constantes de chaîne pour les noms des actions de glisser-déposer.Object La classe NativeDragActions définit des constantes de chaîne pour les noms des actions de glisser-déposer.

Les constantes NativeDragActions sont utilisées comme valeurs pour la propriété dropAction des classes NativeDragManager et NativeDragEvent.

flash.desktop.NativeDragManagerflash.events.NativeDragEventCOPY Définit la chaîne à utiliser pour l’action de copie.copyString Définit la chaîne à utiliser pour l’action de copie. LINK Définit la chaîne à utiliser pour l’action de liaison.linkString Définit la chaîne à utiliser pour l’action de liaison. MOVE Définit la chaîne à utiliser pour l’action de déplacement.moveString Définit la chaîne à utiliser pour l’action de déplacement. NONE Définit la chaîne à utiliser lorsque aucune action n’est spécifiée.noneString Définit la chaîne à utiliser lorsque aucune action n’est spécifiée.

Dans un événement nativeDragComplete, une action none indique que l’opération de glisser-déposer a été abandonnée par l’utilisateur.

ClipboardFormats La classe ClipboardFormats définit des constantes pour les noms des formats de données standard utilisés avec la classe Clipboard.Object La classe ClipboardFormats définit des constantes pour les noms des formats de données standard utilisés avec la classe Clipboard. Flash Player 10 ne prend en charge que TEXT_FORMAT, RICH_TEXT_FORMAT et HTML_FORMAT. flash.desktop.ClipboardBITMAP_FORMAT Données image (AIR uniquement).air:bitmapString Données image (AIR uniquement). FILE_LIST_FORMAT Tableau de fichiers (AIR uniquement).air:file listString Tableau de fichiers (AIR uniquement). FILE_PROMISE_LIST_FORMAT Liste des fichiers promis (AIR uniquement).air:file promise listString Liste des fichiers promis (AIR uniquement). HTML_FORMAT Données HTML.air:htmlString Données HTML. RICH_TEXT_FORMAT Données RTF.air:rtfString Données RTF. TEXT_FORMAT Données de chaîne.air:textString Données de chaîne. URL_FORMAT Chaîne URL (AIR uniquement).air:urlString Chaîne URL (AIR uniquement). NativeApplication La classe NativeApplication représente cette application AIR.flash.events:EventDispatcher La classe NativeApplication représente cette application AIR.

La classe NativeApplication fournit des informations sur l’application et sur ses fonctions, et déclenche des événements au niveau de l’application.

L’objet NativeApplication est un objet Singleton créé automatiquement au démarrage. Récupérez l’occurrence NativeApplication d’une application avec la propriété statique NativeApplication.nativeApplication.

keyUp Distribué lorsque l’utilisateur relâche une touche.flash.events.KeyboardEvent.KEY_UPflash.events.KeyboardEvent Distribué lorsque l’utilisateur relâche une touche. L’occurrence de NativeApplication fournit cet événement pour prendre en charge les raccourcis clavier. Cet événement de clavier est tout d’abord distribué à NativeApplication. L’annulation de cet événement n’a aucun effet sur d’autres objets (tels que les raccourcis de menu de NativeWindow). Cet événement se produit après un événement keyDown. flash.display.InteractiveObject.keyUpkeyDown Distribué lorsque l’utilisateur appuie sur une touche.flash.events.KeyboardEvent.KEY_DOWNflash.events.KeyboardEvent Distribué lorsque l’utilisateur appuie sur une touche. L’occurrence de NativeApplication fournit cet événement pour prendre en charge les raccourcis clavier. Cet événement de clavier est tout d’abord distribué à NativeApplication. L’annulation de cet événement annule également les raccourcis de menu de NativeWindow. Cet événement se produit avant l’événement keyUp. flash.display.InteractiveObject.keyDownuserPresent Distribué lorsque le système d’exploitation détecte l’activité de la souris ou du clavier après une période d’inactivité.flash.events.Event.USER_PRESENTflash.events.Event Distribué lorsque le système d’exploitation détecte l’activité de la souris ou du clavier après une période d’inactivité.

Remarque : cet événement n’est pas distribué sur les périphériques mobiles ou les périphériques AIR pour TV.

La durée à partir de laquelle l’inactivité est avérée peut être configurée avec la propriété idleThreshold. La durée pendant laquelle l’utilisateur est resté inactif peut être déterminée avec la propriété timeSinceLastUserInput.

idleThresholdtimeSinceLastUserInput
userIdle Distribué lorsque l’utilisateur a été inactif.flash.events.Event.USER_IDLEflash.events.Event Distribué lorsque l’utilisateur a été inactif.

Spécifiez la période durant laquelle un utilisateur doit être inactif avant la distribution de cet événement, à l’aide de la propriété idleThreshold. La durée pendant laquelle l’utilisateur est resté inactif peut être déterminée avec la propriété timeSinceLastUserInput.

Remarque : cet événement n’est pas distribué sur les périphériques mobiles ou les périphériques AIR pour TV.

idleThresholdtimeSinceLastUserInput
networkChange Distribué lorsqu’une nouvelle connexion réseau devient disponible ou lorsqu’une connexion réseau existante est perdue.flash.events.Event.NETWORK_CHANGEflash.events.Event Distribué lorsqu’une nouvelle connexion réseau devient disponible ou lorsqu’une connexion réseau existante est perdue.

Un événement networkChange ne signifie pas obligatoirement que l’ordinateur hôte est passé en ligne ou hors ligne ; il peut simplement être en transition entre deux types de connexion. Les applications peuvent utiliser cet événement pour optimiser la surveillance de la disponibilité des ressources distantes. Le déclenchement d’un événement networkChange est souvent le bon moment pour vérifier la disponibilité des ressources distantes.

Remarques :

  • Il peut exister un court délai entre le changement de réseau et l’arrivée de cet événement.
  • Sur Android, l’objet NativeApplication risque de distribuer plus d’un événement networkChange pour chaque changement d’une connexion réseau.
exiting Distribué lorsque la séquence de fermeture de l’application commence.flash.events.Event.EXITINGflash.events.Event Distribué lorsque la séquence de fermeture de l’application commence.

L’événement exiting est distribué lorsque la fermeture de l’application est initiée par le système d’exploitation, par exemple lorsqu’un utilisateur tape la combinaison de touches Cmd-Q sous Mac OS X, ou lorsque la propriété autoExit de l’objet NativeApplication est true et que la dernière fenêtre de l’application est fermée. L’annulation de cet événement empêche la fermeture de l’application.

Les périphériques AIR pour TV ne distribuent jamais l’événement exiting.

Remarque : un appel à la méthode NativeApplication.exit() n’entraîne pas le déclenchement d’un événement exiting. Pour avertir les composants de la fermeture imminente, distribuez l’événement exiting avant d’appeler exit().

deactivate Distribué lorsque le focus du bureau est muté vers une application différente.flash.events.Event.DEACTIVATEflash.events.Event Distribué lorsque le focus du bureau est muté vers une application différente. activate Distribué lorsque cette application devient l’application active du bureau.flash.events.Event.ACTIVATEflash.events.Event Distribué lorsque cette application devient l’application active du bureau. browserInvoke Distribué lorsqu’une application est invoquée par le biais d’un fichier SWF qui s’exécute dans le navigateur de l’utilisateur.flash.events.BrowserInvokeEvent.Browser_INVOKEflash.events.BrowserInvokeEvent Distribué lorsqu’une application est invoquée par le biais d’un fichier SWF qui s’exécute dans le navigateur de l’utilisateur.

L’invocation d’un navigateur n’est autorisée que si l’application spécifie les éléments suivants dans son fichier descripteur :

<allowBrowserInvocation>true</allowBrowserInvocation>
invoke Distribué lorsqu’une application est invoquée.flash.events.InvokeEvent.INVOKEflash.events.InvokeEvent Distribué lorsqu’une application est invoquée.

La seconde invocation d’une application ne démarre pas une autre occurrence de l’application. A la place, la première occurrence reçoit un événement invoke supplémentaire. L’application est chargée de gérer les prochains événements invoke de façon appropriée.

Remarque : tous les événements invoke sont mis en file d’attente. Lorsqu’un écouteur est enregistré pour cet événement, il reçoit tous les événements de la file d’attente, ainsi que les nouveaux événements. Les événements placés en file d’attente peuvent être délivrés avant ou après les nouveaux événements invoke.

activate Active cette application.windowflash.display:NativeWindownullObjet NativeWindow de la fenêtre à activer en même temps que l’application. Active cette application.

Cette méthode n’est pas prise en charge sur les plates-formes qui ne prennent pas en charge la classe NativeWindow.

Selon les circonstances déterminées par le système d’exploitation, cette méthode n’active pas d’application. La plupart des systèmes d’exploitation limitent la capacité d’une application à s’activer elle-même pour qu’elle ne puisse pas empêcher l’utilisateur d’employer d’autres applications, accidentellement ou non.

Si le système d’exploitation autorise l’activation, la fenêtre spécifiée est activée et ramenée au premier plan, c’est-à-dire par-dessus les fenêtres des autres applications éventuellement ouvertes (Si le paramètre window est null, toute fenêtre visible de cette application est activée.)

La méthode activate() na pas d’effet si l’application n’a pas de fenêtre visible.

L’opération active est synchrone.

activateflash.events:EventDistribué si l’état de l’activation change. Distribué si l’état de l’activation change.
addEventListener Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement.typeStringType d’événement. listenerFunctionFonction d’auditeur qui traite l’événement. Cette fonction doit accepter un objet Event comme paramètre unique et ne rien renvoyer, comme illustré ci-dessous : function(evt:Event):void

Le nom de cette fonction n’a aucune importance.

useCaptureBooleanfalse Détermine si l’écouteur est actif pendant la phase de capture ou pendant les phases cible et de propagation. Si la propriété useCapture est définie sur true, l’écouteur traite l’événement uniquement pendant la phase de capture et non pendant les phases cible et de propagation. Si la propriété useCapture est définie sur false, l’écouteur traite l’événement uniquement pendant les phases cible et de propagation. Pour écouter l’événement dans les trois phases, appelez addEventListener à deux reprises, une première fois en définissant useCapture sur true, puis une nouvelle fois en définissant useCapture sur false. priorityint0Niveau de priorité de l’écouteur d’événement. La priorité est indiquée par un entier signé de 32 bits. Plus le nombre est élevé, plus la priorité est élevée. Tous les écouteurs dont la priorité correspond à n sont traités avant les écouteurs dotés de la priorité n -1. Les écouteurs dont la priorité est identique sont traités dans l’ordre où ils ont été ajoutés. La priorité par défaut est 0. useWeakReferenceBooleanfalseDétermine si la référence à l’écouteur est forte ou faible. Une référence forte (valeur par défaut) empêche le nettoyage de votre écouteur, Cela n’est pas le cas avec une référence faible.

Les fonctions de membres de niveau classe n’étant pas soumises au nettoyage, vous pouvez définir useWeakReference sur true pour ces fonctions. Si vous définissez useWeakReference sur true pour un écouteur correspondant à une fonction imbriquée interne, la fonction sera nettoyée et ne sera donc pas permanente. Si vous créez des références à la fonction interne (enregistrée dans une autre variable), celle-ci n’est pas nettoyée et reste permanente.

Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement. Vous pouvez enregistrer les écouteurs d’événement dans tous les nœuds de la liste d’affichage pour un type spécifique d’événement, de phase et de priorité.

Après l’enregistrement d’un écouteur d’événement, vous ne pouvez plus modifier sa priorité par d’autres appels de addEventListener(). Pour modifier la priorité d’un écouteur, vous devez d’abord appeler removeListener(). Vous pouvez ensuite réenregistrer l’écouteur avec le nouveau niveau de priorité.

N’oubliez pas qu’une fois l’écouteur enregistré, tous les prochains appels de addEventListener() avec une valeur type ou useCapture différente entraîneront la création d’un autre enregistrement d’écouteur. Si, par exemple, vous enregistrez un écouteur dans lequel la propriété useCapture est définie sur true, il écoute uniquement pendant la phase de capture. Si vous appelez addEventListener() à l’aide du même objet écouteur, mais en définissant useCapture sur false, vous obtenez deux écouteurs distincts : l’un qui écoute pendant la phase de capture et l’autre qui écoute pendant les phases cible et de propagation vers le haut (bubbling).

Il est impossible d’enregistrer un écouteur d’événement uniquement pour la phase cible ou la phase de propagation vers le haut. Ces deux phases sont associées pendant l’enregistrement car la propagation vers le haut s’applique uniquement aux ancêtres du nœud cible.

Si vous n’avez plus besoin d’un écouteur d’événements, supprimez-le en appelant removeEventListener(), afin d’éviter tout problème de mémoire. Les écouteurs d’événement ne sont pas automatiquement supprimés de la mémoire, car le nettoyeur de mémoire ne supprime pas l’écouteur tant que l’objet de distribution existe (à moins que le paramètre useWeakReference ne soit défini sur true).

Lors de la copie d’une occurrence d’EventDispatcher, les écouteurs d’événement qui lui sont associés ne sont pas pris en compte (si le nouveau nœud nécessite un écouteur d’événement, vous devez associer celui-ci après la création du nœud). Toutefois, si vous déplacez une occurrence d’EventDispatcher, les écouteurs d’événement qui lui sont associés la suivent.

Si un écouteur d’événement est enregistré sur un nœud alors qu’un événement est en cours de traitement sur ce nœud, l’écouteur n’est pas déclenché pendant la phase actuelle, mais il peut l’être pendant une phase ultérieure du flux d’événements, telle que la phase de propagation vers le haut (bubbling).

Si un écouteur d’événement est supprimé d’un nœud sur lequel un événement est en cours de traitement, il est cependant déclenché par les actions en cours. Une fois supprimé, l’écouteur d’événement n’est plus jamais appelé (à moins d’être réenregistré à des fins de traitement ultérieur).

clear Invoque une commande de suppression interne sur l’objet d’affichage qui a le focus.true. Boolean Invoque une commande de suppression interne sur l’objet d’affichage qui a le focus.

Cet appel de fonction est ignoré si l’objet qui a le focus n’implémente pas la commande. Seuls les objets d’affichage descendant des classes TextField ou HTMLLoader peuvent implémenter cette commande actuellement.

Remarque : la commande clear() supprime le texte sélectionné. Si rien n’est sélectionné, l’ensemble du texte n’est pas supprimé.

copy Invoque une commande de copie interne sur l’objet d’affichage qui a le focus.Boolean Invoque une commande de copie interne sur l’objet d’affichage qui a le focus.

Cet appel de fonction est ignoré si le composant n’implémente pas la commande. Seuls les objets d’affichage descendant des classes TextField ou HTMLLoader peuvent implémenter cette commande actuellement.

cut Invoque une commande de coupe interne sur l’objet d’affichage qui a le focus.true. Boolean Invoque une commande de coupe interne sur l’objet d’affichage qui a le focus.

Cet appel de fonction est ignoré si le composant n’implémente pas la commande. Seuls les objets d’affichage descendant des classes TextField ou HTMLLoader peuvent implémenter ces commandes actuellement.

dispatchEvent Distribue un événement dans le flux d’événements.Une valeur true si l’événement a bien été distribué. La valeur false indique un échec ou que preventDefault() a été appelé sur l’événement. Booleaneventflash.events:EventObjet Event qui est distribué dans le flux d’événements. Si l’événement est redistribué, un clone est automatiquement créé. Après la distribution d’un événement, il est impossible de modifier sa propriété target. Pour que la redistribution fonctionne, vous devez donc créer une copie de l’événement. Distribue un événement dans le flux d’événements. La cible de l’événement est l’objet EventDispatcher sur lequel la méthode dispatchEvent() est appelée. exit Met fin à cette application.errorCodeint0Code de fermeture signalé au système d’exploitation lors de la fermeture de cette application. Met fin à cette application.

L’appel à la méthode exit() renverra ; la séquence de fermeture ne commence pas avant la fin du code en cours d’exécution (par exemple un gestionnaire d’événement en cours). Les opérations asynchrones en attente sont annulées et peuvent ou non être terminées.

Notez qu’aucun événement exiting n’est déclenché. Si un événement exiting est requis par la logique de l’application, appelez NativeApplication.nativeApplication.dispatchEvent() en transmettant un objet Event de type exiting. Pour toutes les fenêtres ouvertes, les objets NativeWindow distribuent des événements closing et close. L’appel de la méthode preventDefault() de l’objet d’événement closing empêche la fermeture de l’application.

Remarque : cette méthode n’est pas prise en charge sur le système d’exploitation iOS.

getDefaultApplication Récupère l’application par défaut pour ouvrir les fichiers présentant l’extension spécifiée.Si le paramètre extension ne contient pas l’une des extensions de fichier déclarées dans le descripteur de l’application. ErrorErrorChemin de l’application par défaut. StringextensionStringChaîne contenant l’extension du type de fichier visé (sans le « . »). Récupère l’application par défaut pour ouvrir les fichiers présentant l’extension spécifiée.

Remarque : cette méthode ne peut être utilisée qu’avec les types de fichiers déclarés dans l’instruction fileTypes du descripteur de l’application.

Cette méthode n’est pas applicable aux périphériques AIR pour TV. Si vous l’appelez avec un type de fichier déclaré dans le descripteur d’application, elle renvoie null.

applicationDescriptor
isSetAsDefaultApplication Spécifie si cette application est actuellement attribuée par défaut pour ouvrir les fichiers portant l’extension spécifiée.Si le paramètre extension ne contient pas l’une des extensions de fichier déclarées dans le descripteur de l’application. ErrorErrortrue s’il s’agit bien de l’application par défaut. BooleanextensionStringChaîne contenant l’extension du type de fichier visé (sans le « . »). Spécifie si cette application est actuellement attribuée par défaut pour ouvrir les fichiers portant l’extension spécifiée.

Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur tous les systèmes d’exploitation de bureau, mais ne l’est pas sur les périphériques mobiles ou les périphériques AIR pour TV. Vous pouvez tester la prise en charge lors de l’exécution à l’aide de la propriété NativeApplication.supportsDefaultApplication. Voir Prise en charge du profil AIR pour plus d’informations sur la prise en charge de l’API dans plusieurs profils.

applicationDescriptorsupportsDefaultApplication
paste Invoque une commande de collage interne sur l’objet d’affichage qui a le focus.true. Boolean Invoque une commande de collage interne sur l’objet d’affichage qui a le focus.

Cet appel de fonction est ignoré si le composant n’implémente pas la commande. Seuls les objets d’affichage descendant des classes TextField ou HTMLLoader peuvent implémenter cette commande actuellement.

removeAsDefaultApplication Supprime cette application en tant qu’application par défaut pour ouvrir les fichiers portant l’extension spécifiée.Si le paramètre extension ne contient pas l’une des extensions de fichier déclarées dans le descripteur de l’application. ErrorErrorextensionStringChaîne contenant l’extension du type de fichier visé (sans le « . »). Supprime cette application en tant qu’application par défaut pour ouvrir les fichiers portant l’extension spécifiée.

Remarque : cette méthode ne peut être utilisée qu’avec les types de fichiers énumérés dans l’instruction fileTypes du descripteur de l’application.

applicationDescriptorsupportsDefaultApplication
removeEventListener Supprime un écouteur de l’objet EventDispatcher.typeStringType d’événement. listenerFunctionObjet écouteur à supprimer. useCaptureBooleanfalse Détermine si l’écouteur a été enregistré pendant la phase de capture ou pendant les phases cible et de propagation. Si l’écouteur a été enregistré pendant la phase de capture et pendant les phases cible et de propagation, il est nécessaire d’appeler removeEventListener() à deux reprises pour le supprimer. Appelez useCapture() une première fois en la définissant sur true, puis une seconde fois useCapture() en la définissant sur false. Supprime un écouteur de l’objet EventDispatcher. Si aucun écouteur correspondant n’est enregistré auprès de l’objet EventDispatcher, l’appel de cette méthode n’a aucun effet. selectAll Invoque une commande selectAll interne sur l’objet d’affichage qui a le focus.true. Boolean Invoque une commande selectAll interne sur l’objet d’affichage qui a le focus.

Cet appel de fonction est ignoré si le composant n’implémente pas la commande. Seuls les objets d’affichage descendant des classes TextField ou HTMLLoader peuvent implémenter cette commande actuellement.

setAsDefaultApplication Définit cette application comme l’application par défaut pour ouvrir les fichiers portant l’extension spécifiée.Si le paramètre extension ne contient pas l’une des extensions de fichier déclarées dans le descripteur de l’application. ErrorErrorextensionStringChaîne contenant l’extension du type de fichier visé (sans le « . »). Définit cette application comme l’application par défaut pour ouvrir les fichiers portant l’extension spécifiée.

Remarque : cette méthode ne peut être utilisée qu’avec les types de fichiers déclarés dans l’instruction fileTypes du descripteur de l’application.

applicationDescriptorsupportsDefaultApplication
activeWindow Fenêtre de l’application active.flash.display:NativeWindow Fenêtre de l’application active.

Si la fenêtre du bureau active n’appartient pas à cette application ou s’il n’y a pas de fenêtre active, la propriété activeWindow est null.

Cette propriété n’est pas prise en charge sur les plates-formes qui ne prennent pas en charge la classe NativeWindow.

applicationDescriptor Contenu du fichier descripteur de cette application AIR.XML Contenu du fichier descripteur de cette application AIR. L’exemple suivant lit les éléments copyright et version dans le fichier descripteur de l’application. Notez que vous devez utiliser l’espace de noms par défaut défini dans le descripteur d’application XML. var appDescriptor:XML = NativeApplication.nativeApplication.applicationDescriptor; var ns:Namespace = appDescriptor.namespace(); var appCopyright:String = appDescriptor.ns::copyright; var appVersion:String = appDescriptor.ns::version; trace("appId:", appCopyright); trace("version:", appVersion); applicationID ID d’application de cette application.String ID d’application de cette application.

La valeur de cet ID est définie dans le fichier descripteur de l’application.

autoExit Spécifie si l’application doit se fermer automatiquement lorsque toutes les fenêtres ont été fermées.Boolean Spécifie si l’application doit se fermer automatiquement lorsque toutes les fenêtres ont été fermées.

Lorsque autoExit est true, par défaut, l’application s’interrompt lorsque toutes ses fenêtres ont été fermées. Les événements exiting et exit sont tous deux déclenchés. Lorsque autoExit est false, vous devez appeler NativeApplication.nativeApplication.exit() pour fermer l’application.

Cette propriété n’est pas prise en charge sur les plates-formes qui ne prennent pas en charge la classe NativeWindow.

icon Icône de l’application.flash.desktop:InteractiveIcon Icône de l’application.

Utilisez NativeApplication.supportsDockIcon et NativeApplication.supportsSystemTrayIcon pour déterminer la classe icon. Le type sera l’une des sous-classes d’InteractiveIcon. Sous Mac® OS X, NativeApplication.icon est un objet de type DockIcon. Sous Windows®, NativeApplication.icon est un objet de type SystemTrayIcon. Lorsque l’icône d’une application n’est pas prise en charge, NativeApplication.supportsDockIcon et NativeApplication.supportsSystemTrayIcon sont tous deux définis sur false et la propriété icon est null.

L’objet icon est créé automatiquement mais n’est pas initialisé avec les données d’image. Sous certains systèmes d’exploitation, tels que Mac OS X, une image par défaut est fournie. Avec d’autres, tels que Windows, l’icône n’est pas affichée à moins que des données d’image ne lui soient affectées. Pour affecter une image d’icône, définissez la propriété icon.bitmaps avec un tableau contenant au moins un objet BitmapData. Si le tableau comprend plusieurs objets BitmapData, le système d’exploitation choisit l’image dont la taille est la plus proche des dimensions d’affichage de l’icône, en la mettant à l’échelle si nécessaire.

supportsDockIconflash.desktop.DockIconsupportsSystemTrayIconflash.desktop.SystemTrayIcon
idleThreshold Nombre de secondes devant s’écouler sans saisie utilisateur avant qu’un événement userIdle ne soit distribué.intSi vous tentez de définir la propriété sur une valeur non valide. La plage acceptable des valeurs est comprise entre 5 (5 secondes) et 86 400 (1 jour), inclus. ArgumentErrorArgumentError Nombre de secondes devant s’écouler sans saisie utilisateur avant qu’un événement userIdle ne soit distribué.

Par défaut, le seuil d’inactivité est de 300 secondes (5 minutes). La plage acceptable des valeurs est comprise entre 5 (5 secondes) et 86 400 (1 jour), inclus.

userIdleuserPresent
menu Menu de l’application.flash.display:NativeMenu Menu de l’application.

Les menus de l’application sont pris en charge lorsque NativeApplication.nativeApplication.supportsMenu est true. Les menus d’application ne sont pas pris en charge par tous les systèmes d’exploitation. Par exemple, ils sont pris en charge par Mac OS X, mais pas par Windows ou Linux. L’affectation d’un objet NativeMenu à cette propriété lorsque NativeApplication.nativeApplication.supportsMenu est false est autorisée, mais n’a aucun effet. Utilisez la propriété NativeApplication.nativeApplication.supportsMenu pour déterminer si le système d’exploitation prend en charge les menus de l’application. Faire appel à d’autres méthodes (comme Capabilities.os) pour déterminer les prises en charge peut entraîner des erreurs de programmation (si certains systèmes d’exploitation cible possibles ne sont pas pris en compte).

Prise en charge du profil AIR : cette fonctionnalité n’est pas prise en charge sur les périphériques mobiles ou les périphériques AIR pour TV. Voir Prise en charge du profil AIR pour plus d’informations sur la prise en charge de l’API dans plusieurs profils.

Remarque : sous Mac OS X, la propriété menu fait référence au menu d’application par défaut fourni par le système d’exploitation. Vous pouvez modifier la structure du menu existant en ajoutant et en supprimant des éléments et des sous-menus, et en ajoutant des écouteurs d’événement. Vous pouvez également remplacer entièrement les menus par défaut en affectant un nouvel objet NativeMenu à cette propriété menu.

flash.display.NativeMenuflash.display.NativeWindow.supportsMenu
nativeApplication Occurrence singleton de l’objet NativeApplication.flash.desktop:NativeApplicationSi accédé par du contenu extérieur au sandbox de sécurité de l’application. ErrorError Occurrence singleton de l’objet NativeApplication. openedWindows Tableau contenant toutes les fenêtres natives et ouvertes de cette application.Array Tableau contenant toutes les fenêtres natives et ouvertes de cette application.

Cette propriété n’est pas prise en charge sur les plates-formes qui ne prennent pas en charge la classe NativeWindow.

publisherID ID d’éditeur de cette application.String ID d’éditeur de cette application.

La valeur de cet ID est définie dans le fichier publisherid de l’application, généré au moment de l’installation à partir de la chaîne de certificat utilisée pour signer l’application.

runtimePatchLevel Niveau de correctif du moteur d’exécution hébergeant cette application.uint Niveau de correctif du moteur d’exécution hébergeant cette application. runtimeVersion Numéro de version du moteur d’exécution hébergeant cette application.String Numéro de version du moteur d’exécution hébergeant cette application. startAtLogin Spécifie si cette application se lance automatiquement dès que l’utilisateur actuel se connecte.BooleanSous Windows, lorsqu’une autre application portant le même nom (mais dont le chemin du fichier exécutable diffère) est déjà définie pour démarrer lorsque cet utilisateur ouvre une session. IllegalOperationErrorflash.errors:IllegalOperationErrorSi cette application n’est pas installée, ce qui peut être le cas lorsqu’elle est lancée par l’application de débogage du lanceur AIR (ADL). IllegalOperationErrorflash.errors:IllegalOperationError Spécifie si cette application se lance automatiquement dès que l’utilisateur actuel se connecte.

Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur tous les systèmes d’exploitation de bureau, mais ne l’est pas sur les périphériques mobiles ou les périphériques AIR pour TV. Vous pouvez tester la prise en charge lors de l’exécution à l’aide de la propriété NativeApplication.supportsStartAtLogin. Voir Prise en charge du profil AIR pour plus d’informations sur la prise en charge de l’API dans plusieurs profils.

La propriété startAtLogin reflète l’état du mécanisme défini par le système d’exploitation pour indiquer qu’une application doit démarrer automatiquement lorsqu’un utilisateur se connecte. L’utilisateur peut modifier l’état manuellement via l’interface utilisateur du système d’exploitation. Cette propriété reflète l’état actuel, qu’il ait été modifié pour la dernière fois par l’application AIR ou par le système d’exploitation.

supportsStartAtLogin
supportsDefaultApplication Indique si les méthodes setAsDefaultApplication(), removeAsDefaultApplication() et isSetAsDefaultApplication() sont prises en charge sur la plate-forme actuelle.Boolean Indiques si les méthodes setAsDefaultApplication(), removeAsDefaultApplication() et isSetAsDefaultApplication() sont prises en charge sur la plate-forme actuelle.

Si elle est définie sur true, les méthodes ci-dessus fonctionnent comme indiqué. Si elle est définie sur false, setAsDefaultApplication() et removeDefaultApplication() n’ont aucun effet, etisSetAsDefaultApplication() renvoie false.

setAsDefaultApplication()removeAsDefaultApplication()isSetAsDefaultApplication()
supportsDockIcon Indique si AIR prend en charge les icônes d’applications de type Dock dans le système d’exploitation actuel.Boolean Indique si AIR prend en charge les icônes d’applications de type Dock dans le système d’exploitation actuel.

Si elle est définie sur true, la propriété NativeApplication.icon est de type DockIcon.

L’interface utilisateur Mac OS X fournit un « Dock » d’applications contenant les icônes des applications en cours d’exécution ou fréquemment utilisées.

Utilisez la propriété NativeApplication.supportsDockIcon pour déterminer si le système d’exploitation prend en charge les icônes d’ancrage de l’application. Faire appel à d’autres méthodes (comme Capabilities.os) pour déterminer les prises en charge peut entraîner des erreurs de programmation (si certains systèmes d’exploitation cible possibles ne sont pas pris en compte).

icôneflash.desktop.DockIcon
supportsMenu Spécifie si le système d’exploitation actuel prend en charge une barre de menus d’application globale.Boolean Spécifie si le système d’exploitation actuel prend en charge une barre de menus d’application globale.

Lorsque sa valeur est true, la propriété NativeApplication.menu peut être utilisée pour définir (ou accéder à) un menu d’application natif.

Utilisez la propriété NativeApplication.supportsMenu pour déterminer si le système d’exploitation prend en charge la barre de menus de l’application. Faire appel à d’autres méthodes (comme Capabilities.os) pour déterminer les prises en charge peut entraîner des erreurs de programmation (si certains systèmes d’exploitation cible possibles ne sont pas pris en compte).

menuflash.display.NativeWindow.supportsMenu
supportsStartAtLogin Indique si la propriété startAtLogin est prise en charge sur la plate-forme actuelle.Boolean Indique si la propriété startAtLogin est prise en charge sur la plate-forme actuelle.

Si elle est définie sur true, startAtLogin fonctionne comme indiqué. Si elle définie sur false, startAtLogin n’a aucun effet.

startAtLogin
supportsSystemTrayIcon Spécifie si AIR prend en charge les icônes de la barre d’état système dans le système d’exploitation en cours.Boolean Spécifie si AIR prend en charge les icônes de la barre d’état système dans le système d’exploitation en cours.

Si true, la propriété NativeApplication.icon est de type SystemTrayIcon.

L’interface utilisateur Windows fournit une « barre d’état système » dans la barre des tâches, officiellement appelée Zone de notification, dans laquelle il est possible d’afficher les icônes des applications. Aucune icône par défaut n’est affichée. Vous devez définir le tableau bitmaps de l’objet icon pour afficher une icône.

Utilisez la propriété NativeApplication.supportsSystemTrayIcon pour déterminer si le système d’exploitation prend en charge les icônes de la barre d’état système. Faire appel à d’autres méthodes (comme Capabilities.os) pour déterminer les prises en charge peut entraîner des erreurs de programmation (si certains systèmes d’exploitation cible possibles ne sont pas pris en compte).

icôneflash.desktop.SystemTrayIcon
systemIdleMode Permet aux applications d’empêcher l’interface utilisateur de passer en mode « inactif ».String Permet aux applications d’empêcher l’interface utilisateur de passer en mode « inactif ».

Valeur de la classe SystemIdleMode ayant une incidence sur le comportement du mode Inactif du système hôte. Cette propriété prend effet uniquement dans l’application ayant le focus d’entrée et n’est accessible qu’à partir du contenu s’exécutant dans le sandbox de l’application.

Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur les périphériques mobiles, mais ne l’est pas sur les systèmes d’exploitation de bureau ou sur les périphériques AIR pour TV. Voir Prise en charge du profil AIR pour plus d’informations sur la prise en charge de l’API dans plusieurs profils.

flash.desktop.SystemIdleMode
timeSinceLastUserInput L’heure, en secondes, depuis la dernière saisie utilisateur.int L’heure, en secondes, depuis la dernière saisie utilisateur. userIdleuserPresent
Updater La classe Updater est utilisée pour mettre à jour l’application en cours d’exécution avec une version différente.Object La classe Updater est utilisée pour mettre à jour l’application en cours d’exécution avec une version différente. Pour l’utiliser, instanciez un objet Updater, puis appelez sa méthode update().

La classe Updater est prise en charge uniquement dans le profil de bureau. Elle n’est prise en charge ni pour les applications de bureau étendu (applications installées avec un programme d’installation natif) ni sur le profil mobile AIR ou les profils AIR pour TV. Vérifiez la propriété Updater.isSupported.

Les applications de bureau étendu (applications installées avec un programme d’installation natif) peuvent télécharger une nouvelle version du programme d’installation natif et lancer ce dernier à l’aide de la méthode File.openWithDefaultApplication().

air.update.ApplicationUpdaterair.update.ApplicationUpdaterUIUpdater Fonction constructeur de la classe Updater. Fonction constructeur de la classe Updater. Notez que la méthode update() n’est pas un membre statique de la classe. Vous devez instancier un objet Updater et appeler la méthode update() sur ce dernier. update Actualise l’application en cours d’exécution avec la version de l’application contenue dans le fichier AIR spécifié.La méthode a été appelée alors qu’elle s’exécutait dans ADL. IllegalOperationErrorflash.errors:IllegalOperationErrorairFileflash.filesystem:FileObjet File pointant vers le fichier AIR contenant la version de mise à jour de l’application. versionStringVersion requise dans le nouveau fichier AIR. La chaîne de l’attribut version de l’élément application principal du fichier descripteur d’application du fichier AIR doit correspondre à cette valeur pour que la mise à jour réussisse. Actualise l’application en cours d’exécution avec la version de l’application contenue dans le fichier AIR spécifié. L’identificateur de l’application (appID) du fichier AIR doit correspondre à celui de l’application en cours d’exécution.

Un appel à cette méthode entraîne la fermeture de l’application en cours (comme si la méthode NativeApplication.exit() avait été appelée). Cette opération est nécessaire car Adobe AIR ne peut pas procéder à la mise à jour complète de l’application si cette dernière est en cours d’exécution. Après une installation réussie de la nouvelle version de l’application, cette dernière démarre. Si le moteur d’exécution ne peut pas installer la nouvelle version (par exemple si son ID d’application ne correspond pas à la version existante), le programme d’installation AIR présente un message d’erreur à l’utilisateur et l’ancienne version redémarre.

Le processus de mise à jour redémarre l’application, que la mise à jour ait réussi ou non. La mise à jour peut échouer pour diverses raisons, y compris pour des raisons que l’application ne peut pas contrôler (par exemple lorsque l’utilisateur ne dispose pas de privilèges suffisants pour installer l’application). Les applications doivent s’efforcer de détecter les défaillances et éviter de recommencer encore et encore la même mise à jour en échec. La boucle infinie qui en résulterait désactiverait radicalement l’application. Ecrire le numéro de version actuelle dans un fichier avant de commencer la mise à jour, puis comparer ce numéro au numéro de version lorsque l’application est redémarrée est un moyen de vérifier la réussite de la mise à jour.

Lorsqu’une application est testée à l’aide de l’application de débogage du lanceur AIR (ADL), un appel à la méthode update() renvoie une exception IllegalOperationError.

Pour installer la version mise à jour d’une application sous Mac OS, l’utilisateur doit disposer des privilèges système adéquats sur le répertoire de l’application. Sous Windows ou Linux, l’utilisateur doit disposer de privilèges administratifs.

Si la version mise à jour de l’application requiert une mise à jour du moteur d’exécution, la nouvelle version du moteur est installée. Pour mettre à jour le moteur d’exécution, l’utilisateur doit disposer de privilèges administratifs sur l’ordinateur.

Remarque : par mesure de sécurité, la définition du paramètre version est obligatoire. Obliger l’application à vérifier le numéro de version dans le fichier AIR l’empêche d’installer par inadvertance une version plus ancienne, pouvant éventuellement contenir une faille de sécurité corrigée.

Notez que la méthode update() n’est pas une méthode statique de la classe. Vous instanciez un objet Updater et appelez la méthode update() de cet objet. import flash.fileSystem.File; import flash.desktop.Updater; var updater:Updater = new Updater(); var airFile:File = File.applicationStorageDirectory.resolvePath("Example Application.air"); var version:String = "2.01"; updater.update(airFile, version);
air.update.ApplicationUpdaterair.update.ApplicationUpdaterUI
isSupported La propriété isSupported est définie sur true si la classe Updater est prise en charge sur la plate-forme actuelle ; dans le cas contraire, elle est définie sur false.Boolean La propriété isSupported est définie sur true si la classe Updater est prise en charge sur la plate-forme actuelle ; dans le cas contraire, elle est définie sur false.
SystemTrayIcon La classe SystemTrayIcon représente l’icône de style de la zone de notification de la barre des tâches de Windows (barre d’état système).Une icône de la barre des tâches. flash.desktop:InteractiveIcon La classe SystemTrayIcon représente l’icône de style de la zone de notification de la barre des tâches de Windows® (barre d’état système).

Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur les systèmes d’exploitation de bureau, mais ne l’est pas sur les périphériques mobiles ou sur les périphériques AIR pour TV. Voir Prise en charge du profil AIR pour plus d’informations sur la prise en charge de l’API dans plusieurs profils.

Tous les systèmes d’exploitation de bureau ne disposent pas d’icônes sur la barre d’état système. Pour savoir si les icônes de barre d’état système sont prises en charge par le système en cours, vérifiez NativeApplication.supportsSystemTrayIcon.

Il n’est pas possible de créer une occurrence de la classe SystemTrayIcon. Récupérez l’objet représentant l’icône de barre d’état système dans la propriété icon de l’objet NativeApplication « global ».

Lorsque ces icônes sont prises en charge, l’icône est de type SystemTrayIcon. Autrement, le type de icon est une autre sous-classe de InteractiveIcon, en général DockIcon.

Important : une tentative d’appel à une méthode de la classe SystemTrayIcon sur l’objet NativeApplication.icon dans un système d’exploitation pour lequel AIR ne prend pas en charge les icônes de barre d’état système génère une exception à l’exécution.

flash.desktop.NativeApplication.iconflash.desktop.NativeApplication.supportsSystemTrayIconflash.desktop.DockIconrightClick Distribué par cet objet SystemTrayIcon lorsque l’utilisateur clique du bouton droit de sa souris.flash.events.ScreenMouseEvent.RIGHT_CLICKflash.events.ScreenMouseEvent Distribué par cet objet SystemTrayIcon lorsque l’utilisateur clique du bouton droit de sa souris. rightMouseUp Distribué par cet objet SystemTrayIcon lorsque l’utilisateur relâche le bouton droit de sa souris.flash.events.ScreenMouseEvent.RIGHT_MOUSE_UPflash.events.ScreenMouseEvent Distribué par cet objet SystemTrayIcon lorsque l’utilisateur relâche le bouton droit de sa souris. rightMouseDown Distribué par cet objet SystemTrayIcon lorsque l’utilisateur enfonce le bouton droit de sa souris.flash.events.ScreenMouseEvent.RIGHT_MOUSE_DOWNflash.events.ScreenMouseEvent Distribué par cet objet SystemTrayIcon lorsque l’utilisateur enfonce le bouton droit de sa souris. click Distribué par cet objet SystemTrayIcon lorsque l’utilisateur clique avec sa souris.flash.events.ScreenMouseEvent.CLICKflash.events.ScreenMouseEvent Distribué par cet objet SystemTrayIcon lorsque l’utilisateur clique avec sa souris. mouseUp Distribué par cet objet SystemTrayIcon lorsque l’utilisateur relâche le bouton de sa souris.flash.events.ScreenMouseEvent.MOUSE_UPflash.events.ScreenMouseEvent Distribué par cet objet SystemTrayIcon lorsque l’utilisateur relâche le bouton de sa souris. mouseDown Distribué par cet objet SystemTrayIcon lorsque l’utilisateur enfonce le bouton de sa souris.flash.events.ScreenMouseEvent.MOUSE_DOWNflash.events.ScreenMouseEvent Distribué par cet objet SystemTrayIcon lorsque l’utilisateur enfonce le bouton de sa souris. MAX_TIP_LENGTH Longueur autorisée de l’info-bulle de l’icône de la barre d’état système.63Number Longueur autorisée de l’info-bulle de l’icône de la barre d’état système. bitmaps Image de l’icône sous forme de tableau d’objets BitmapData de tailles différentes.Array Image de l’icône sous forme de tableau d’objets BitmapData de tailles différentes.

Lorsqu’une icône est affichée dans le contexte d’un certain système d’exploitation, l’image bitmap du tableau se rapprochant le plus de la taille affichée est utilisée (et éventuellement mise à l’échelle). Les tailles courantes sont 16x16, 32x32, 48x48 et 128x128 (des icônes de 512x512 pixels peuvent être utilisées pour des système d’exploitation futurs).

Dans certains cas, le système d’exploitation peut utiliser une icône système par défaut lorsque rien n’a été affecté à la propriété bitmaps. Dans d’autres cas, aucune icône n’apparaît.

Pour définir ou modifier l’apparence de l’icône, affectez un tableau d’objets bitmapData à la propriété bitmaps :

icon.bitmaps = new Array(icon16x16.bitmapData, icon128x128.bitmapData);

La modification directe du tableau bitmaps n’a aucun effet.

Pour effacer l’image de l’icône, affectez un tableau vide à la propriété bitmaps.

Remarque : lors du chargement de fichiers image pour une icône, le format de fichier PNG fournit généralement la meilleure fusion alpha. Le format GIF ne prend en charge que l’activation ou la désactivation de la transparence (pas la fusion). Le format JPG ne prend pas en charge la transparence du tout.

height Hauteur d’affichage actuelle de l’icône, en pixels.int Hauteur d’affichage actuelle de l’icône, en pixels.

Certains contextes d’icône prennent en charge les tailles dynamiques. La propriété height indique la hauteur de l’icône choisie dans le tableau bitmaps pour le contexte actuel. La hauteur d’affichage réelle peut être différente si le système d’exploitation a mis l’icône à l’échelle.

menu Menu de l’icône de barre d’état système.flash.display:NativeMenu Menu de l’icône de barre d’état système. tooltip Info-bulle qui s’affiche pour l’icône de barre d’état système.String Info-bulle qui s’affiche pour l’icône de barre d’état système. Si la longueur est supérieure à SystemTrayIcon.MAX_TIP_LENGTH, l’info-bulle est tronquée. width Largeur d’affichage actuelle de l’icône, en pixels.int Largeur d’affichage actuelle de l’icône, en pixels.

Certains contextes d’icône prennent en charge les tailles dynamiques. La propriété width indique la largeur de l’icône choisie dans le tableau bitmaps pour le contexte actuel. La largeur d’affichage réelle peut être différente si le système d’exploitation a mis l’icône à l’échelle.

Clipboard La classe Clipboard fournit un conteneur pour transférer les données et les objets par l’intermédiaire du presse-papiers.Object La classe Clipboard fournit un conteneur pour transférer les données et les objets par l’intermédiaire du presse-papiers. Le presse-papiers du système d’exploitation est accessible par la propriété statique generalClipboard.

Un objet Clipboard peut contenir les mêmes informations en plusieurs formats. Le fait de fournir les informations en plusieurs formats augmente les chances qu’une autre application puisse les exploiter. Ajoutez des données dans un objet Clipboard avec la méthode setData() ou setDataHandler().

Les formats standard sont :

  • BITMAP_FORMAT : objet BitmapData (AIR uniquement)
  • FILE_LIST_FORMAT: tableau d’objets File (AIR uniquement)
  • HTML_FORMAT: données de chaîne au format HTML
  • TEXT_FORMAT: données de chaîne
  • RICH_TEXT_FORMAT : objet ByteArray contenant des données au format RTF
  • URL_FORMAT : chaîne d’URL (AIR uniquement)

Ces constantes des noms des formats standard sont définies dans la classe ClipboardFormats.

Lors d’un transfert vers ou depuis le système d’exploitation, les formats standard sont automatiquement convertis entre les types de données ActionScript et les types de Presse-papiers du système d’exploitation natif.

Vous pouvez utiliser des formats définis par l’application pour ajouter des objets ActionScript dans un objet Clipboard. Si un objet est sérialisable, une référence et un clone de l’objet peuvent être rendus disponibles. Les références d’objet ne sont valides que dans l’application d’origine.

Lorsque la conversion des informations à transférer en un format particulier réclame des calculs poussés, vous pouvez fournir le nom d’une fonction qui effectue la conversion. La fonction est appelée si, et seulement si, ce format est lu par le composant ou l’application de réception. Ajoutez une fonction de rendu différé à un objet Clipboard avec la méthode setDataHandler(). Notez que dans certains cas, le système d’exploitation appelle la fonction avant qu’un dépôt ne se produise. Par exemple, lorsque vous utilisez une fonction de gestionnaire pour fournir des données à un fichier déplacé depuis une application AIR vers le système de fichiers, le système d’exploitation appelle la fonction de gestionnaire des données dès que le mouvement de glissement quitte l’application AIR, ce qui résulte généralement en une pause indésirable lors du téléchargement ou de la création des données du fichier.

Remarque réservée aux applications d’AIR : l’objet Clipboard référencé par les objets d’événement distribués pour les événements HTML de glisser-déposer et de copier-coller ne sont pas du même type que l’objet Clipboard d’AIR. L’objet Clipboard JavaScript est décrit dans le guide du développeur AIR.

Remarque réservée aux applications de Flash Player : dans Flash Player 10, une opération de collage à partir du Presse-papiers implique tout d’abord un événement utilisateur (par exemple, l’utilisation du raccourci clavier de la commande Coller ou un clic de souris sur la commande Coller d’un menu contextuel). Clipboard.getData() ne renvoie le contenu du presse-papiers que si InteractiveObject a reçu et exécute un événement coller. En aucun autre cas, l’appel à Clipboard.getData() ne peut échouer. La même restriction s’applique dans le contenu AIR qui se trouve en dehors du sandbox de l’application.

Sous Linux, les données du Presse-papiers ne persistent pas lorsqu’une application AIR se ferme.

L’exemple suivant, pour Adobe AIR, utilise la classe ClipboardExample pour copier une chaîne d’une variable à l’autre via le Presse-papiers du système. Pour ce faire, procédez comme suit :
  1. Ecrivez les données, dans ce cas une chaîne, dans Clipboard.generalClipboard.
  2. Lisez le contenu du presse-papiers dans Clipboard.generalClipboard.

Remarque : en raison des restrictions d’accès aux données du Presse-papiers, cet exemple ne fonctionne pas dans Flash Player. Dans Flash Player, vous ne pouvez appeler que la méthode getData() de l’objet Presse-papiers dans un gestionnaire d’événement paste.

package { import flash.display.Sprite; import flash.desktop.Clipboard; import flash.desktop.ClipboardFormats; import flash.desktop.ClipboardTransferMode; public class ClipboardExample extends Sprite { public function ClipboardExample() { var sally:String = "Sally"; var person:String; copy(sally); person = paste(); trace(person); //traces: "Sally" } private function copy(text:String):void { Clipboard.generalClipboard.clear(); Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, text); } private function paste():String { if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)) { return String(Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT)); } else { return null; } } } }
flash.desktop.NativeDragManagerflash.desktop.ClipboardFormatsflash.desktop.ClipboardTransferModeClipboard Crée un objet Clipboard vide.new Clipboard() n’est pas pris en charge dans Flash Player, car seul le presse-papiers du système d’exploitation peut être utilisé dans Flash Player. Pour les opérations de copier-coller impliquant le presse-papiers du système d’exploitation, utilisez l’objet Clipboard.generalClipboard au lieu de créer un nouvel objet Clipboard. Ne renvoie pas d’erreur dans une application AIR. IllegalOperationErrorflash.errors:IllegalOperationError Crée un objet Clipboard vide.

Créez des objets Clipboard permettant de contenir les données d’un mouvement de glisser-déposer natif dans Adobe AIR. Les objets Clipboard ne peuvent être utilisés que pour un seul mouvement de glisser-déposer. Il est impossible de les réutiliser.

Ne créez pas un objet Clipboard pour les opérations de copier-coller. Utilisez plutôt l’objet unique Clipboard.generalClipboard.

L’exemple suivant crée un nouveau presse-papiers à utiliser avec la classe NativeDragManager.

Remarque : pour les opérations de copier-coller impliquant le presse-papiers du système d’exploitation, utilisez l’objet Clipboard.generalClipboard au lieu de créer un nouveau presse-papiers.

import flash.desktop.Clipboard; var clipboard:Clipboard = new Clipboard();
generalClipboard
clearData Supprime la représentation des données au format spécifié.L’appel de generalClipboard.clearData() n’est pas autorisé dans ce contexte. Dans Flash Player, l’appel de cette méthode n’aboutit que lors du traitement d’un événement utilisateur (pression de touche ou clic de souris, par exemple). Dans AIR, cette restriction s’applique uniquement au contenu s’exécutant hors du sandbox de sécurité de l’application. SecurityErrorSecurityErrorformatStringFormat des données à supprimer. Supprime la représentation des données au format spécifié. L’exemple suivant efface toutes les données au format ClipboardFormats.TEXT_FORMAT dans le presse-papiers du système : import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.clearData(ClipboardFormats.TEXT_FORMAT); clear Supprime toutes les représentations de données dans cet objet Clipboard.L’appel de generalClipboard.clear() n’est pas autorisé dans ce contexte. Dans Flash Player, l’appel de cette méthode n’aboutit que lors du traitement d’un événement utilisateur (pression de touche ou clic de souris, par exemple). Dans AIR, cette restriction s’applique uniquement au contenu s’exécutant hors du sandbox de sécurité de l’application. SecurityErrorSecurityError Supprime toutes les représentations de données dans cet objet Clipboard. L’exemple suivant efface le contenu du presse-papiers du système : Clipboard.generalClipboard.clear(); getData Récupère les données du presse-papiers si elles sont présentes au format spécifié.transferMode n’est pas l’un des noms définis dans la classe ClipboardTransferMode. ErrorErrorL’objet Clipboard demandé n’est plus dans le domaine (AIR uniquement). IllegalOperationErrorflash.errors:IllegalOperationErrorLa lecture ou l’écriture dans le presse-papiers n’est plus autorisée dans ce contexte. Dans Flash Player, l’appel de cette méthode ne réussit que lors du traitement d’un événement paste. Dans AIR, cette restriction s’applique uniquement au contenu s’exécutant hors du sandbox de sécurité de l’application. SecurityErrorSecurityErrorObjet dont le type correspond au format des données. ObjectformatStringFormat des données à renvoyer. La chaîne de format peut contenir l’un des noms standard définis dans la classe ClipboardFormats ou un nom défini par l’application. transferModeStringoriginalPreferredIndique si une référence ou une copie sérialisée doit être renvoyée lors d’un accès à un format de données défini par l’application. La valeur doit être l’un des noms définis dans la classe ClipboardTransferMode. Cette valeur est ignorée pour les formats de données standard ; une copie est toujours renvoyée. Récupère les données du presse-papiers si elles sont présentes au format spécifié.

Avec Flash Player, la méthode getData() doit être appelée dans un gestionnaire d’événement paste. Dans AIR, cette restriction s’applique uniquement au contenu s’exécutant hors du sandbox de sécurité de l’application.

Lors d’un accès à un format de données standard, les données sont renvoyées sous forme de nouvel objet de type correspondant.

Lors d’un accès à un format défini par l’application, la valeur du paramètre transferMode détermine si une référence à l’objet original ou un objet anonyme contenant une copie sérialisée de l’objet original est renvoyé. Lorsqu’un mode originalPreferred ou clonePreferred est spécifié, Flash Player ou AIR renvoie l’autre version lorsque la version favorite n’est pas disponible. Lorsqu’un mode originalOnly ou cloneOnly est spécifié, Flash Player ou AIR renvoie null lorsque la version demandée n’est pas disponible.

L’exemple suivant lit le texte provenant du presse-papiers du système, si disponible : import flash.desktop.ClipboardFormats; var pasteData:String = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
setData()flash.desktop.ClipboardFormatsflash.desktop.ClipboardTransferMode
hasFormat Vérifie si des données sont présentes au format spécifié dans cet objet Clipboard.L’objet Clipboard sollicité ne se trouve plus dans le domaine. IllegalOperationErrorflash.errors:IllegalOperationErrorLa lecture ou l’écriture dans le presse-papiers n’est plus autorisée dans ce contexte. SecurityErrorSecurityErrortrue, si des données sont présentes au format spécifié. BooleanformatStringType de format à vérifier. Vérifie si des données sont présentes au format spécifié dans cet objet Clipboard.

Utilisez les constantes dans la classe ClipboardFormats pour référencer les noms de format standard.

L’exemple suivant teste le contenu du presse-papiers du système afin de déterminer si des données au format texte y sont disponibles : if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)){ //do something }
flash.desktop.ClipboardFormats
setDataHandler Ajoute une référence à une fonction de gestionnaire qui produit les données à transférer.format ou handler est null. TypeErrorTypeErrorL’objet Clipboard demandé n’est plus dans le domaine (AIR uniquement). IllegalOperationErrorflash.errors:IllegalOperationErrorLa lecture ou l’écriture dans le presse-papiers n’est plus autorisée dans ce contexte. Dans Flash Player, l’appel de cette méthode n’aboutit que lors du traitement d’un événement utilisateur (pression de touche ou clic de souris, par exemple). Dans AIR, cette restriction s’applique uniquement au contenu s’exécutant hors du sandbox de sécurité de l’application. SecurityErrorSecurityErrortrue si le gestionnaire a bien été défini ; false dans le cas contraire. BooleanformatStringFonction qui renvoie les données à transférer. handlerFunctionFormat des données. serializableBooleantrueSpécifiez true si l’objet renvoyé par handler peut être sérialisé (et désérialisé). Ajoute une référence à une fonction de gestionnaire qui produit les données à transférer.

Utilisez une fonction de gestionnaire pour différer la création ou le rendu des données jusqu’à ce l’utilisateur y accèdent réellement.

La fonction du gestionnaire doit renvoyer le type de données approprié pour le format spécifié :

FormatType renvoyéClipboardFormats.TEXT_FORMATStringClipboardFormats.HTML_FORMATStringClipboardFormats.URL_FORMATChaîne (AIR uniquement)ClipboardFormats.RICH_TEXT_FORMATByteArrayClipboardFormats.BITMAP_FORMATBitmapData (AIR uniquement)ClipboardFormats.FILE_LIST_FORMATTableau de File (AIR uniquement)ClipboardFormats.FILE_PROMISE_LIST_FORMATTableau de File (AIR uniquement)Nom de format personnaliséNon Void

La fonction de gestionnaire n’est appelée que lorsque les données au format spécifié sont lues, et seulement à ce moment-là. Notez que dans certains cas, le système d’exploitation appelle la fonction avant qu’un dépôt ne se produise. Par exemple, lorsque vous utilisez une fonction de gestionnaire pour fournir des données à un fichier déplacé depuis une application AIR vers le système de fichiers, le système d’exploitation appelle la fonction de gestionnaire des données dès que le mouvement de glissement quitte l’application AIR, ce qui résulte généralement en une pause indésirable lors du téléchargement ou de la création des données du fichier. Vous pouvez pour cela utiliser une classe URLFilePromise.

Notez que les données sous-jacentes peuvent changer entre le moment où le gestionnaire est ajouté et le moment où les données sont lues, sauf si votre application prend des mesures pour protéger les données. Le comportement qui se produit lorsque les données du presse-papier représentées par une fonction du gestionnaire sont lues plusieurs fois n’est pas garanti. Le Presse-papiers peut renvoyer les données produites par le premier appel de la fonction ou rappeler la fonction. Ne comptez pas sur ces comportements.

Dans le sandbox de l’application d’Adobe AIR, setDataHandler() peut être appelée à tout moment. Dans d’autres contextes, setDataHandler() ne peut être appelée qu’en réponse à un événement généré par l’utilisateur, notamment lorsque celui-ci appuie sur une touche ou clique sur la souris.

Pour ajouter directement des données dans cet objet Clipboard, utilisez plutôt la méthode setData(). Si les méthodes setData() et setDataHandler() sont toutes deux appelées par le même nom de format, la fonction du gestionnaire n’est jamais appelée.

Remarque : sous Mac OS, lorsque vous définissez le paramètre format sur ClipboardFormats.URL_FORMAT, l’URL n’est transférée que s’il s’agit d’une URL valide. Dans le cas contraire, l’objet Clipboard est vidé (et l’appel de getData() renvoie null).

L’exemple suivant ajoute un nombre aléatoire dans le presse-papiers du système par l’intermédiaire d’une fonction de données différée : import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.setDataHandler(ClipboardFormats.TEXT_FORMAT, randomNumberGenerator); public function randomNumberGenerator():String{ return Math.random().toString(); }
setData()flash.desktop.ClipboardFormatsflash.desktop.URLFilePromise
setData Ajoute une représentation des informations à transférer dans le format de données spécifié.L’objet Clipboard sollicité ne se trouve plus dans le domaine (ce qui risque de se produire avec les Presse-papiers créés pour les opérations de glisser-déposer). IllegalOperationErrorflash.errors:IllegalOperationErrorLa lecture ou l’écriture dans le presse-papiers n’est plus autorisée dans ce contexte. Dans Flash Player, l’appel de cette méthode n’aboutit que lors du traitement d’un événement utilisateur (pression de touche ou clic de souris, par exemple). Dans AIR, cette restriction s’applique uniquement au contenu s’exécutant hors du sandbox de sécurité de l’application. SecurityErrorSecurityErrorformat ou data est null. TypeErrorTypeErrortrue si les données ont bien été définies ; false dans le cas contraire. Dans Flash Player, renvoie false lorsque format est un membre non pris en charge de ClipboardFormats. (Flash Player ne prend pas en charge ClipboardFormats.URL_FORMAT, ClipboardFormats.FILE_LIST_FORMAT, ClipboardFormats.FILE_PROMISE_LIST_FORMAT ou ClipboardFormats.BITMAP_FORMAT). BooleanformatStringFormat des données. dataObjectInformations à ajouter. serializableBooleantrueDéfinissez true pour les objets qui ne peuvent pas être sérialisés (ni désérialisés). Ajoute une représentation des informations à transférer dans le format de données spécifié.

Dans le sandbox de l’application d’Adobe AIR, setData() peut être appelée à tout moment. Dans d’autres contextes, setData() ne peut être appelée qu’en réponse à un événement généré par l’utilisateur, notamment lorsque celui-ci appuie sur une touche ou clique sur la souris.

Différentes représentations des mêmes informations peuvent être ajoutées au Presse-papiers dans divers formats. Ceci augmente la capacité des autres composants ou applications à exploiter les données disponibles. Par exemple, une image peut être ajoutée sous forme de données bitmap pour une utilisation dans des applications de retouche d’images, sous forme d’URL, et sous forme de fichier PNG codé pour un transfert vers le système de fichiers natif.

Le paramètre data doit être du type de données approprié pour le format spécifié :

FormatTypeDescriptionClipboardFormats.TEXT_FORMATStringDonnées de chaîneClipboardFormats.HTML_FORMATString Données de chaîne HTMLClipboardFormats.URL_FORMATStringChaîne URL (AIR uniquement)ClipboardFormats.RICH_TEXT_FORMATByteArrayDonnées RTFClipboardFormats.BITMAP_FORMATBitmapDatadonnées bitmap (AIR uniquement) ClipboardFormats.FILE_LIST_FORMATTableau de Filetableau de fichiers (AIR uniquement)Nom de format personnaliséTousRéférence d’objet et clone sérialisé

Les noms de format personnalisé ne doivent pas commencer par « air: » ou « flash: ». Pour éviter les conflits de noms lorsque vous utilisez des formats personnalisés, vous pouvez utiliser l’ID de votre application ou un nom de package comme préfixe, par exemple « com.nomApplication.exemple.dataPacket ».

Dans le cas d’un transfert au sein d’une application ou entre applications, le paramètre serializable détermine si une référence et une copie doivent toutes deux être disponibles ou si seule une référence à un objet est disponible. Définissez serializable sur true pour que la référence et une copie de l’objet de données soient disponibles. Définissez serializable sur false pour que seule la référence de l’objet soit disponible. Les références d’objet n’étant valides que dans l’application en cours, le fait de définir serializable sur false implique également que les données de ce format ne soient pas disponibles pour les autres applications AIR ou Flash Player. Un composant peut choisir d’obtenir la référence ou la copie de l’objet en définissant le mode de transfert du presse-papiers approprié lors de l’accès aux données de ce format.

Remarque : les formats standard étant toujours convertis en formats natifs lorsque les données sont collées ou déplacées hors d’une application prise en charge, la valeur du paramètre serializable n’a aucune incidence sur la disponibilité des données aux formats standard pour les applications non Flash.

Pour différer le rendu des données pour un format, utilisez plutôt la méthode setDataHandler(). Si les méthodes setData() et setDataHandler() sont toutes deux utilisées pour ajouter une représentation de données avec le même nom de format, la fonction du gestionnaire n’est jamais appelée.

Remarque : sous Mac OS, lorsque vous définissez le paramètre format sur ClipboardFormats.URL_FORMAT, l’URL n’est transférée que s’il s’agit d’une URL valide. Dans le cas contraire, l’objet Clipboard est vidé (et l’appel de getData() renvoie null).

L’exemple suivant ajoute du contenu dans le presse-papiers du système aux formats texte et HTML : import flash.desktop.ClipboardFormats; var htmlString:String = "<html><body>Body content</body></html>"; Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, urlString); Clipboard.generalClipboard.setData(ClipboardFormats.HTML_FORMAT, urlString);
setDataHandler()getData()flash.desktop.ClipboardFormatsflash.desktop.ClipboardTransferMode
formats Tableau de chaînes contenant les noms des formats de données disponibles dans cet objet Clipboard.Array Tableau de chaînes contenant les noms des formats de données disponibles dans cet objet Clipboard.

Les constantes de chaîne des noms des formats standard sont définies dans la classe ClipboardFormats. D’autres chaînes, définies par l’application, peuvent également être utilisées comme noms de format pour transférer les données sous forme d’objet.

L’exemple suivant lit le tableau de formats du presse-papiers du système : var availableFormats:Array = Clipboard.generalClipboard.formats;
flash.desktop.ClipboardFormats
generalClipboard Presse-papiers du système d’exploitation.flash.desktop:Clipboard Presse-papiers du système d’exploitation.

Toutes les données collées dans le presse-papiers du système sont disponibles pour les autres applications. Cela peut comprendre le code distant non sécurisé s’exécutant dans un navigateur Web.

Remarque : dans les applications de Flash Player 10, une opération de collage à partir du presse-papiers implique tout d’abord un événement utilisateur (par exemple, utilisation du raccourci clavier de la commande Coller ou clic de souris sur la commande Coller d’un menu contextuel). Clipboard.getData() ne renvoie le contenu du presse-papiers que si InteractiveObject a reçu et exécute un événement coller. En aucun autre cas, l’appel à Clipboard.getData() ne peut échouer. La même restriction s’applique dans le contenu AIR qui se trouve en dehors du sandbox de l’application.

L’objet generalClipboard est créé automatiquement. Vous ne pouvez pas affecter une autre occurrence Clipboard à cette propriété. Vous pouvez par contre utiliser les méthodes getData() et setData() pour lire et écrire des données dans l’objet existant.

Il est toujours préférable d’effacer le presse-papiers avant d’y écrire de nouvelles données afin de s’assurer que les anciennes données de tous les formats sont effacées.

Il est impossible de transmettre l’objet generalClipboard à la classe NativeDragManager d’AIR. Créez un nouvel objet Clipboard pour les opérations de glisser-déposer natives dans une application AIR.

Pour écrire dans le presse-papiers du système d’exploitation : import flash.desktop.ClipboardFormats; var copy:String = "A string to copy to the system clipboard."; Clipboard.generalClipboard.clear(); Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, copy); Pour lire le presse-papiers du système d’exploitation : import flash.desktop.ClipboardFormats; var pasteData:String = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
supportsFilePromise Indique si le format de Presse-papiers du fichier promis est pris en charge sur le système client.Boolean Indique si le format de Presse-papiers du fichier promis est pris en charge sur le système client.
NotificationType La classe NotificationType définit les constantes à utiliser dans le paramètre priority de la méthode DockIcon bounce() et dans le paramètre type de la méthode NativeWindow notifyUser().Object La classe NotificationType définit les constantes à utiliser dans le paramètre priority de la méthode DockIcon bounce() et dans le paramètre type de la méthode NativeWindow notifyUser(). flash.desktop.DockIcon.bounce()flash.display.NativeWindow.notifyUser()CRITICAL Spécifie qu’une alerte de notification est de nature critique et que l’utilisateur doit s’en préoccuper rapidement.criticalString Spécifie qu’une alerte de notification est de nature critique et que l’utilisateur doit s’en préoccuper rapidement. INFORMATIONAL Spécifie qu’une alerte de notification est de nature informationnelle et que l’utilisateur peut l’ignorer sans risque.informationalString Spécifie qu’une alerte de notification est de nature informationnelle et que l’utilisateur peut l’ignorer sans risque. IFilePromise L’interface IFilePromise définit l’interface utilisée par le moteur d’exécution d’AIR pour lire les données d’un fichier promis. L’interface IFilePromise définit l’interface utilisée par le moteur d’exécution d’AIR pour lire les données d’un fichier promis.

Un fichier promis est un format de glisser-déposer du Presse-papiers qui permet à l’utilisateur de faire glisser un fichier qui n’existe pas encore hors d’une application AIR. AIR utilise les méthodes et propriétés définies par l’interface IFilePromise pour accéder aux données à écrire lors du dépôt du fichier promis.

Lorsqu’un fichier promis est déposé sur une cible appropriée, AIR appelle la méthode open() de l’interface IFilePromise. L’implémentation de cette méthode doit renvoyer le fournisseur de données sous forme d’objet implémentant l’interface IDataInput. L’objet fournisseur peut être l’une des classes intégrées, telles que ByteArray, FileStream, Socket et URLStream, ou une classe personnalisée.

Si l’accès aux données du fournisseur de données se fait en mode synchrone, notamment par le biais d’une classe ByteArray, AIR lit la quantité de données indiquée par la propriété bytesAvailable de IDataInput, puis l’écrit dans le fichier cible.

Si l’accès aux données du fournisseur de données se fait en mode asynchrone, notamment par le biais d’une classe Socket, AIR utilise les événements distribués par le fournisseur afin d’uniformiser la lecture des données et leur écriture dans le fichier. Les données sont lues à chaque événement progress jusqu’à ce qu’un événement complete ou close soit reçu. Le moteur d’exécution écoute les événements suivants (mais un fournisseur de données n’a pas besoin de distribuer chaque événement) :

  • Event.OPEN
  • ProgressEvent.PROGRESS
  • ProgressEvent.SOCKET_DATA
  • Event.COMPLETE
  • Event.CLOSE
  • IOErrorEvent.IOERROR
  • SecurityErrorEvent.SECURITY_ERROR
  • HTTPStatusEvent.HTTP_STATUS
  • HTTPStatusEvent.HTTP_RESPONSE_STATUS

Les classes du fournisseur de données personnalisées doivent distribuer un événement progress ou un événement socketData lorsque les données sont disponibles. De même, un événement complete ou un événement close doit être distribué lorsque toutes les données sollicitées ont été lues. Les événements d’erreur informent le moteur d’exécution que le transfert de données a échoué et doit être annulé. Les autres événements doivent être distribués pour faciliter le traitement des erreurs et le débogage de la logique de l’application.

Les méthodes définies par IFilePromise doivent être appelées par le moteur d’exécution d’AIR uniquement suite à une opération de glisser-déposer. En règle générale, les développeurs ne doivent pas appeler ces méthodes à partir de leur propre code.

Remarque : la classe URLFilePromise, disponible dans la bibliothèque air.desktop, implémente l’interface IFilePromise et utilise l’objet URLStream comme un fournisseur de données. La bibliothèque air.desktop est incluse en tant que fichiers SWF et SWC distincts dans le kit de développement d’AIR.

flash.desktop.Clipboardflash.desktop.ClipboardFormatsflash.desktop.NativeDragManagerclose Appelée par le moteur d’exécution d’AIR lorsque la lecture de toutes les données est terminée. Appelée par le moteur d’exécution d’AIR lorsque la lecture de toutes les données est terminée.

Aucune méthode n’est appelée sur la référence de l’objet renvoyé par open() après l’appel de close(). L’objet fournisseur de données peut être détruit en toute sécurité.

open Renvoie l’objet fournisseur de données.IDataInput Objet qui implémente l’interface IDataInput. Si les données sont fournies de manière asynchrone, l’objet renvoyé doit également implémenter l’interface IEventDispatcher. flash.utils:IDataInput Renvoie l’objet fournisseur de données.

L’objet fournisseur de données doit implémenter l’interface IDataInput, qui définit des méthodes pour la lecture des données. Si la propriété isAsync de l’interface IFilePromise renvoie true, l’objet fournisseur de données doit également implémenter l’interface IEventDispatcher. Les classes intégrées suivantes peuvent être utilisées comme fournisseur de données :

  • ByteArray (synchrone)
  • FileStream (synchrone ou asynchrone)
  • Socket (asynchrone)
  • URLStream (asynchrone)

Vous pouvez également fournir l’objet d’une classe personnalisée qui implémente les interfaces requises (ou étend une autre classe qui les implémente).

reportError Appelée par le moteur d’exécution d’AIR pour informer l’implémentation de IFilePromise des erreurs qui se produisent lors de la lecture des données depuis l’objet fournisseur de données.eflash.events:ErrorEventL’événement d’erreur contenant des informations détaillées sur l’erreur. Appelée par le moteur d’exécution d’AIR pour informer l’implémentation de IFilePromise des erreurs qui se produisent lors de la lecture des données depuis l’objet fournisseur de données. isAsync Indique si le transfert de données asynchrone est pris en charge.Boolean Indique si le transfert de données asynchrone est pris en charge.

Si elle est définie sur true, l’objet fournisseur de données renvoyé par la méthode open() doit implémenter l’interface IEventDispatcher (ou étendre une classe qui implémente cette interface). Le transfert de données est effectué par le biais de l’événement progress ou socketData. AIR attend ces événements de progression de données jusqu’à ce qu’un événement complete ou close soit distribué.

Si isAsync renvoie false, le moteur d’exécution d’AIR suppose que toutes les données sont disponibles tout de suite. Dans ce cas, le moteur d’exécution lit la propriété bytesAvailable de l’objet fournisseur de données pour déterminer la quantité des données disponibles, puis lit de manière synchrone cette quantité de données.

relativePath Chemin relatif et nom du fichier qui seront créés par ce fichier promis.Stringsi le chemin relatif utilise les raccourcis .. pour parcourir un ou plusieurs répertoires parents de la cible de dépôt. ArgumentErrorArgumentError Chemin relatif et nom du fichier qui seront créés par ce fichier promis.

Cette propriété doit fournir un chemin valide ou une erreur d’argument est renvoyée lorsque le fichier promis est déposé.

Le chemin peut inclure des sous-répertoires, qui sont résolus en fonction de l’emplacement du dépôt. Des sous-répertoires sont créés, le cas échéant. Lorsque vous incluez des sous-répertoires, utilisez la constante File.separator pour insérer le caractère de séparation du chemin correspondant au système d’exploitation actuel. L’utilisation du raccourci .. pour rechercher un répertoire parent n’est pas autorisée. Si vous tentez d’utiliser ce raccourci, une erreur d’argument est renvoyée. Les caractères non valides du système de fichiers sont ôtés du chemin sans renvoyer d’erreur.

Remarque : pour permettre au code client de définir le chemin, vous pouvez implémenter une fonction setter avec la signature : function set relativePath( valeur:String ):void.

NativeProcessStartupInfo Cette classe fournit les informations de base permettant de démarrer un processus sur le système d’exploitation hôte.Object Cette classe fournit les informations de base permettant de démarrer un processus sur le système d’exploitation hôte. Elle est créée et transmise à la méthode start() d’un objet NativeProcess.

Seules les applications AIR installées à l’aide de programmes d’installation natifs (applications dotées d’un profil étendu de bureau) peuvent accéder au processus natif.

NativeProcess.html#start()NativeProcessStartupInfo Construit un objet NativeProcessStartupInfo vide. Construit un objet NativeProcessStartupInfo vide. arguments Les arguments de la ligne de commande qui seront transmis au processus au moment du démarrage. Les arguments de la ligne de commande qui seront transmis au processus au moment du démarrage.

Chaque chaîne dans le vecteur arguments sera transmise comme argument indépendant au fichier exécutable, quels que soient les caractères que la chaîne contient. En d’autres termes, il existe une correspondance exacte et aucune ré-interprétation ne se produit. AIR omet automatiquement tous les caractères de la chaîne devant être omis (notamment les espaces).

executable Objet File qui fait référence à un fichier exécutable sur le système d’exploitation hôte.flash.filesystem:Filesi la valeur spécifiée est null, si elle fait référence à un répertoire ou à un fichier qui n’existe pas. ArgumentErrorArgumentError Objet File qui fait référence à un fichier exécutable sur le système d’exploitation hôte, c’est-à-dire le chemin complet au fichier exécutable, y compris toute extension requise.

Remarque : sous Mac OS, pour lancer un fichier exécutable au sein d’un lot d’applications, assurez-vous que le chemin de l’objet File inclue le chemin complet au fichier exécutable (dans le lot), et pas seulement le chemin au fichier app.

workingDirectory Objet File qui fait référence au répertoire de travail initial du nouveau processus natif.flash.filesystem:Filesi la valeur n’existe pas ou n’est pas un répertoire ArgumentErrorArgumentError Objet File qui fait référence au répertoire de travail initial du nouveau processus natif. si isDirectory est false, une exception ArgumentError est renvoyée.
SystemIdleMode La classe SystemIdleMode fournit des valeurs de constante pour les comportements inactifs du système.Object La classe SystemIdleMode fournit des valeurs de constante pour les comportements inactifs du système. Ces constantes sont utilisées dans la propriété systemIdleMode de la classe NativeApplication. flash.desktop.NativeApplication.systemIdleModeKEEP_AWAKE Empêche le système de passer en mode inactif.keepAwakeString Empêche le système de passer en mode inactif.

Sur Android, l’application doit spécifier les autorisations Android pour DISABLE_KEYGUARD et WAKE_LOCK dans le descripteur d’application , dans le cas contraire, le système d’exploitation ne respectera pas ce paramètre.

NORMAL Le système suit le comportement « utilisateur inactif » normal.normalString Le système suit le comportement « utilisateur inactif » normal.
ClipboardTransferMode La classe ClipboardTransferMode définit des constantes pour les modes utilisés comme valeurs du paramètre transferMode de la méthode Clipboard.getData().Définit les constantes pour les modes de transfert du Presse-papiers. Object La classe ClipboardTransferMode définit des constantes pour les modes utilisés comme valeurs du paramètre transferMode de la méthode Clipboard.getData().

Le mode de transfert fournit un repère pour savoir si une référence ou une copie doit être renvoyée lors de l’accès à un objet du presse-papiers.

flash.desktop.Clipboard.getData()CLONE_ONLY L’objet Clipboard ne doit renvoyer qu’une copie.cloneOnlyString L’objet Clipboard ne doit renvoyer qu’une copie. CLONE_PREFERRED L’objet Clipboard doit renvoyer une copie lorsqu’il y en a une et une référence dans le cas contraire.clonePreferredString L’objet Clipboard doit renvoyer une copie lorsqu’il y en a une et une référence dans le cas contraire. ORIGINAL_ONLY L’objet Clipboard ne doit renvoyer qu’une référence.originalOnlyString L’objet Clipboard ne doit renvoyer qu’une référence. ORIGINAL_PREFERRED L’objet Clipboard doit renvoyer une référence lorsqu’il y en a une et une copie dans le cas contraire.originalPreferredString L’objet Clipboard doit renvoyer une référence lorsqu’il y en a une et une copie dans le cas contraire.
NativeDragManager La classe NativeDragManager coordonne les opérations de glisser-déposer.Object La classe NativeDragManager coordonne les opérations de glisser-déposer. L’API glisser-déposer native permet à l’utilisateur de faire glisser des données d’une application vers le système d’exploitation natif, d’une application AIR à une autre ou entre des composants d’une même application.

Les types de données suivants peuvent être transférés :

  • Images bitmap
  • Fichiers
  • Texte
  • Chaînes URL
  • Objets sérialisés
  • Références d’objet (valides uniquement dans l’application d’origine)

Remarque : tous les membres NativeDragManager sont statiques. Il n’est pas nécessaire de créer une occurrence de cette classe.

Une opération de glisser-déposer est un geste de l’interface utilisateur qui commence lorsque l’utilisateur clique sur un élément visible et le fait glisser vers un autre emplacement. Pendant l’action de déplacement, les objets interactifs de la liste d’affichage distribuent des événements de déplacement natifs tout au long du déplacement à travers la fenêtre de l’application AIR. Des gestionnaires de ces événements peuvent appeler les méthodes de la classe NativeDragManager pour indiquer si l’élément déplacé peut être déposé sur un objet. En réponse, la classe NativeDragManager change le pointeur de la souris pour prévenir l’utilisateur.

Prise en charge du profil AIR : cette fonctionnalité n’est pas prise en charge sur les périphériques AIR pour TV. En outre, elle n’est pas prise en charge sur tous les périphériques mobiles. Vous pouvez tester la prise en charge lors de l’exécution à l’aide de la propriété NativeDragManager.isSupported. Voir Prise en charge du profil AIR pour plus d’informations sur la prise en charge de l’API dans plusieurs profils.

Actions de déplacement

Les gestes de glisser-déposer sont généralement utilisés pour trois types d’opérations appelées actions. Comme la signification de ces actions dépend du contexte de l’application, le moteur d’exécution n’impose pas un comportement particulier par rapport à ces actions. Toutefois, une implémentation appropriée des actions améliore la convivialité de votre application pour l’utilisateur.

Les actions possibles sont :

  • Copie : une copie des données est faite, sans que l’original n’en soit affecté (lors du déplacement d’objets au sein d’une application, faites attention à copier l’objet original lui-même plutôt que sa référence).
  • Déplacement : les données sont déplacées du contexte d’origine vers le contexte défini par la cible visée, par exemple lors du déplacement d’un élément d’une liste à une autre.
  • Lien : une référence ou un raccourci des données d’origine est créé, l’élément lui-même demeurant dans son contexte original.

Les actions autorisées pour un geste de déplacement peuvent être définies en fournissant un paramètre allowedActions dans l’appel NativeDragManager.doDrag() qui lance l’opération de déplacement. Si aucun paramètre allowedActions n’est fourni, toutes les actions sont autorisées. Les cibles de déplacement potentielles peuvent vérifier les actions autorisées à l’aide de la propriété allowedActions d’un objet NativeDragEvent, et ne doivent pas accepter de dépôt autorisant uniquement des actions incompatibles (cela n’est toutefois pas imposé par le moteur d’exécution).

Si la cible de dépôt n’implémente qu’une seule action, l’objet peut définir la propriété dropAction de NativeDragManager dans les gestionnaires des événements nativeDragEnter et nativeDragOver. La définition de la propriété avant le dépôt permet au gestionnaire de glissement d’actualiser le pointeur de la souris pour indiquer l’action prise en charge et empêcher l’utilisateur de choisir une action incompatible avec les touches de modification. Si l’action spécifiée ne correspond pas à l’une des actions autorisées, le dépôt n’est pas autorisé, même si la cible appelle la méthode acceptDrop().

Lorsqu’un dépôt est accepté, une cible de dépôt potentielle doit spécifier l’action choisie en définissant la propriété NativeDragManager.dropAction en réponse à l’événement nativeDragDrop. Cette action est signalée à l’objet d’affichage d’origine dans l’événement nativeDragComplete. Lorsque aucune action n’est définie par la cible de dépôt, une action par défaut est choisie parmi les actions autorisées dans cet ordre de priorité : copie, déplacement, lien. L’objet d’origine est responsable de la mise à jour de son état interne en réponse à l’action choisie.

Les constantes de chaîne des noms d’action sont définies dans la classe NativeDragActions.

Séquence des événements

Le geste de déplacement commence par un appel à la méthode NativeDragManager.doDrag() à l’intérieur d’un gestionnaire d’événement mouseDown ou mouseMove et suit la séquence d’événements suivante en réponse aux actions de l’utilisateur :

  • Evénement nativeDragStart : lorsque la méthode NativeDragManager.doDrag() est appelée, l’objet interactif transmis sous forme de paramètre à la méthode devient l’objet initiateur et distribue un événement nativeDragStart.
  • Evénement nativeDragUpdate : pendant que le déplacement se poursuit, l’objet initiateur distribue continuellement des événements nativeDragUpdate.
  • Evénements nativeDragEnter, nativeDragOver : lorsqu’un geste de déplacement survole un objet interactif, ce dernier déclenche un événement nativeDragEnter. Tant que le geste de déplacement survole l’objet interactif, celui-ci déclenche continuellement des événements nativeDragOver. En réponse à l’un de ces événements, l’objet qui sert de cible de dépôt potentielle doit vérifier les propriétés de l’objet d’événement pour savoir s’il peut accepter le dépôt. Si le format des données et les actions autorisées sont appropriés, le gestionnaire de ces événements doit appeler la méthode NativeDragManager.acceptDrop(), en transmettant une référence à l’objet d’affichage servant de cible de glissement (généralement l’objet qui a déclenché l’événement nativeDragEnter ou nativeDragOver). L’utilisateur peut alors déposer l’élément déplacé sur sa cible.
  • Evénement nativeDragExit : lorsque le geste de déplacement quitte un objet interactif, ce dernier déclenche un événement nativeDragExit. Si l’objet a été désigné comme la cible de dépôt par un appel précédent à la méthode NativeDragManager.acceptDrop(), cet appel n’est plus valide et la méthode acceptDrop() doit être appelée de nouveau si le geste revient survoler l’objet interactif.
  • Evénement nativeDragDrop : l’objet d’affichage cible déclenche un événement nativeDragDrop lorsque l’utilisateur relâche le bouton de sa souris sur l’objet. Le gestionnaire de cet événement peut accéder aux données de la propriété transferable de l’objet d’événement et doit définir la propriété NativeDragManager.dropAction pour signaler l’action que doit effectuer l’objet initiateur.
  • Evénement nativeDragComplete : lorsque l’utilisateur relâche le bouton de la souris à la fin du déplacement, l’objet initiateur déclenche un événement nativeDragComplete (que le dépôt lui-même ait été consommé ou non). Le gestionnaire de cet événement peut vérifier la propriété dropAction de l’objet d’événement pour savoir quelle modification, le cas échéant, doit être apportée à son état de données interne, telle que la suppression d’un élément sorti d’une liste. Si dropAction est NativeDragActions.NONE, l’élément déplacé n’a pas été déposé sur une cible qualifiée.

Gestes entre applications

Lorsqu’un geste de déplacement entre dans une fenêtre d’application AIR à partir d’une application non AIR, aucun objet initiateur ne déclenche l’événement nativeDragStart ou nativeDragComplete. Autrement, les événements déclenchés au cours du geste suivent le même schéma que dans un geste commençant et se terminant au sein de la même application AIR.

Lorsqu’un geste de déplacement quitte la fenêtre d’une application AIR, aucun objet cible ne déclenche les événements nativeDragEnter, nativeDragOver ou nativeDragDrop. L’objet initiateur déclenche toujours un événement nativeDragComplete, qui signale l’action de déplacement définie par le système d’exploitation natif (ou aucune si le dépôt n’a pas été accepté).

Lorsqu’un geste de déplacement passe d’une application AIR à une autre, les objets d’affichage initiateur et cible déclenchent des événements dans leurs applications respectives, comme d’habitude.

Transfert des informations

Les données transférées au cours d’un geste de glisser-déposer sont renfermées dans un objet Clipboard. Cet objet de données est ajouté à l’opération de déplacement avec la méthode NativeDragManager.doDrag() à l’origine du geste. Les cibles de dépôt potentielles peuvent accéder à l’objet Clipboard par l’intermédiaire de la propriété clipboard de l’objet d’événement de déplacement natif. Après le démarrage d’une opération de déplacement, l’objet Clipboard ne peut plus être accédé que dans le gestionnaire d’un événement NativeDragEvent. Tout autre tentative d’accès à l’objet génère une erreur à l’exécution.

Considérations de sécurité

Les sandbox de sécurité des objets initiateur et cible potentielle déterminent comment accéder aux données déplacées. Si les deux objets se trouvent dans le même sandbox, tout objet NativeDragEvent peut alors accéder aux données. Toutefois, si les objets initiateur et cible potentielle sont dans des sandbox différents, les données ne sont accessibles que dans le sandbox cible à l’intérieur du gestionnaire de l’événement nativeDragDrop. D’autres gestionnaires d’événement de déplacement natifs peuvent toujours accéder à l’objet Clipboard référencé dans la propriété clipboard de l’événement pour identifier les formats de données disponibles, mais un appel à la méthode clipboard.getData() génère une erreur de sécurité.

flash.events.NativeDragEventflash.desktop.NativeDragActionsflash.desktop.NativeDragOptionsflash.desktop.ClipboardacceptDragDrop Indique à l’objet NativeDragManager que l’objet interactif cible spécifié peut accepter un dépôt correspondant à l’événement de déplacement en cours.targetflash.display:InteractiveObject Indique à l’objet NativeDragManager que l’objet interactif cible spécifié peut accepter un dépôt correspondant à l’événement de déplacement en cours.

Cette méthode ne peut être appelée que lorsque l’objet cible spécifié contient un gestionnaire nativeDragDrop capable de gérer au moins l’un des formats de données dans l’élément déplacé et au moins l’une des actions autorisées.

Cette fonction ne peut être appelée qu’à l’intérieur d’un gestionnaire d’événement nativeDragEnter ou nativeDragOver.

doDrag Commence une opération de glisser-déposer.dragInitiatorflash.display:InteractiveObjectGénéralement l’objet à partir duquel le geste de déplacement commence. Reçoit les événements nativeDragStart et nativeDragComplete. clipboardflash.desktop:ClipboardObjet conteneur des données déplacées. dragImageflash.display:BitmapDatanullImage proxy facultative affichée sous le pointeur de la souris pendant le déplacement. Si null, aucune image n’est affichée. offsetflash.geom:PointnullDécalage entre la zone réactive de la souris et le coin supérieur gauche de l’image déplacée. Des coordonnées négatives déplacent l’image vers le haut et la gauche par rapport à la zone réactive. Si null, le coin supérieur gauche de l’image déplacée est placée sur la zone réactive de la souris. allowedActionsflash.desktop:NativeDragOptionsnullLimite les actions de glisser-déposer autorisées pour cette opération. Si null, toutes les actions sont autorisées. Commence une opération de glisser-déposer.

Pour commencer une opération de déplacement :

  1. Créez un nouvel objet Clipboard.
  2. Ajoutez les données à transférer en un ou plusieurs formats.
  3. Eventuellement, créez un objet BitmapData devant servir d’image proxy pendant le déplacement.
  4. Eventuellement, créez un objet NativeDragOptions pour limiter les actions autorisées dans cette opération (si le paramètre allowedActions reste null, toutes les actions sont autorisées).
  5. Appelez NativeDragManager.doDrag().

L’objet initiateur déclenche un événement nativeDragStart après l’appel à cette méthode, des événements nativeDragStart pendant que le déplacement est en cours et un événement nativeDragComplete lorsque l’utilisateur relâche la souris pour mettre fin au déplacement. Le gestionnaire de l’événement nativeDragComplete peut vérifier la propriété dropAction de l’événement pour déterminer si l’opération de glisser-déposer s’est terminée avec succès. Si dropAction est NativeDragActions.NONE, l’élément déplacé n’a pas été déposé sur une cible qualifiée.

Cette méthode ne peut être appelée qu’à l’intérieur d’un gestionnaire d’événement mouseDown ou mouseMove (si elle est appelée en réponse à un événement mouseMove, le bouton de la souris doit également être maintenu enfoncé).

flash.desktop.NativeDragActions
dragInitiator Objet interactif transmis à l’appel NativeDragManager.doDrag() à l’origine de l’opération de déplacement.flash.display:InteractiveObject Objet interactif transmis à l’appel NativeDragManager.doDrag() à l’origine de l’opération de déplacement. dropAction Action de déplacement définie par la cible de dépôt.String Action de déplacement définie par la cible de dépôt.

La propriété dropAction doit être définie dans le gestionnaire pour l’événement nativeDragDrop. Si la propriété dropAction n’est pas définie avant nativeDragComplete, NativeDragManager définit automatiquement la valeur sur la première action autorisée de la liste : copie, déplacement, lien (dans cette ordre).

flash.desktop.NativeDragActions
isDragging Indique si une opération de déplacement est actuellement en cours.Boolean Indique si une opération de déplacement est actuellement en cours. isSupported La propriété isSupported est définie sur true si la classe NativeDragManager est prise en charge sur la plate-forme actuelle ; dans le cas contraire, elle est définie sur false.BooleanIndique si les opérations de glisser-déposer sont prises en charge. La propriété isSupported est définie sur true si la classe NativeDragManager est prise en charge sur la plate-forme actuelle ; dans le cas contraire, elle est définie sur false.
NativeDragOptions La classe NativeDragOptions définit les constantes pour les noms d’actions de glisser-déposer autorisées dans une opération de glisser-déposer.Object La classe NativeDragOptions définit les constantes pour les noms d’actions de glisser-déposer autorisées dans une opération de glisser-déposer.

Les actions de déplacement font partie d’un mécanisme de compte rendu pour que les objets source et cible puissent coopérer lors de l’échange glisser-déposer. Les actions sont seulement un repère pour le système d’exploitation. Il revient à l’instigateur du déplacement et aux objets cible concernés par la transaction d’implémenter le comportement approprié.

Un objet d’origine doit autoriser uniquement les actions qu’il prend en charge. Par exemple, un objet d’origine ne doit autoriser que l’action move si la logique interne de cet objet supprime les données source lorsqu’une cible accepte le dépôt avec une action de déplacement.

Toutes les propriétés d’un nouvel objet NativeDragOptions sont initialisées sur true (toutes les actions sont autorisées).

flash.desktop.NativeDragManagerflash.events.NativeDragEventtoString Construit une chaîne contenant les paramètres actuels de cet objet NativeDragOptions.Chaîne Les paramètres actuels de cet objet dans une chaîne. String Construit une chaîne contenant les paramètres actuels de cet objet NativeDragOptions. allowCopy Une cible de dépôt peut copier les données déplacées.trueBoolean Une cible de dépôt peut copier les données déplacées. allowLink Une cible de dépôt peut créer un lien vers les données déplacées.trueBoolean Une cible de dépôt peut créer un lien vers les données déplacées. allowMove Une cible de dépôt peut déplacer les données déplacées.trueBoolean Une cible de dépôt peut déplacer les données déplacées.
DockIcon La classe DockIcon représente l’icône du Dock de style Mac OS X.Icône du Dock de style Mac OS X. flash.desktop:InteractiveIcon La classe DockIcon représente l’icône du Dock de style Mac OS X®.

Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur tous les systèmes d’exploitation de bureau, mais ne l’est pas sur les périphériques mobiles ou sur les périphériques AIR pour TV. Vous pouvez tester la prise en charge lors de l’exécution à l’aide de la propriété NativeApplication.supportsDockIcon. Voir Prise en charge du profil AIR pour plus d’informations sur la prise en charge de l’API dans plusieurs profils.

Vous pouvez utiliser la classe DockIcon pour modifier l’apparence de l’icône standard, par exemple pour l’animer ou lui ajouter des graphiques d’informations. Vous pouvez également ajouter des éléments au menu de l’icône du Dock. Ces éléments s’afficheront au-dessus de ceux du menu standard.

Il n’est pas possible de créer une occurrence de la classe DockIcon. Récupérez l’objet représentant l’icône du dock du système d’exploitation dans NativeApplication.icon.

Tous les systèmes d’exploitation n’ont pas d’icônes de Dock. Pour savoir si les icônes de Dock sont prises en charge par ce système, vérifiez NativeApplication.supportsDockIcon. Si les icônes de Dock sont prises en charge, la propriété NativeApplication.icon est de type DockIcon. Autrement, le type de NativeApplication.icon est une autre sous-classe de InteractiveIcon, en général SystemTrayIcon.

Important : une tentative d’appel à une méthode de la classe DockIcon sur l’objet NativeApplication.icon dans un système d’exploitation pour lequel AIR ne prend pas en charge les icônes de barre d’état système génère une exception à l’exécution.

L’exemple suivant charge une séquence d’images, puis lorsque le minuteur est lancé à l’aide du menu de l’icône du Dock, anime l’image d’icône (pour que l’exemple fonctionne, vous devez fournir un ensemble d’images d’icône et modifier les URL dans le tableau imageURLs). package { import flash.desktop.DockIcon; import flash.desktop.NativeApplication; import flash.display.Loader; import flash.display.NativeMenu; import flash.display.NativeMenuItem; import flash.display.Sprite; import flash.events.Event; import flash.events.TimerEvent; import flash.net.URLRequest; import flash.utils.Timer; public class AnimatedDockIcon extends Sprite { private var imageURLs:Array = ['gfx/frame01.png', 'gfx/frame02.png', 'gfx/frame03.png', 'gfx/frame04.png']; private var images:Array = new Array(); private var animTimer:Timer = new Timer(100); public function AnimatedDockIcon() { NativeApplication.nativeApplication.autoExit = false; addEventListener(Event.COMPLETE, loadImages); loadImages(); animTimer.addEventListener(TimerEvent.TIMER,advanceFrame); addMenu(); stage.nativeWindow.close(); } private function addMenu():void{ var menu:NativeMenu = new NativeMenu(); var start:NativeMenuItem = menu.addItem(new NativeMenuItem("Start animation")); var stop:NativeMenuItem = menu.addItem(new NativeMenuItem("Stop animation")); start.addEventListener(Event.SELECT, startTimer); stop.addEventListener(Event.SELECT, stopTimer); var dockIcon:DockIcon = NativeApplication.nativeApplication.icon as DockIcon; dockIcon.menu = menu; } private function startTimer(event:Event):void{ animTimer.start(); } private function stopTimer(event:Event):void{ animTimer.stop(); } private var currentFrame:int = 0; private function advanceFrame(event:Event):void{ if(currentFrame < images.length){ currentFrame++; } else { currentFrame = 0; } NativeApplication.nativeApplication.icon.bitmaps = [images[currentFrame]]; } private function loadImages(event:Event = null):void{ if(event != null){ images.push(event.target.content.bitmapData); } if(imageURLs.length > 0){ var urlString:String = imageURLs.pop(); var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadImages, false, 0, true); loader.load(new URLRequest(urlString)); } else { var complete:Event = new Event(Event.COMPLETE,false,false); dispatchEvent(complete); } } } }
flash.desktop.NativeApplication.iconflash.desktop.NativeApplication.supportsDockIconflash.desktop.SystemTrayIconbounce Avertit l’utilisateur qu’un événement pouvant requérir son attention s’est produit.NotificationType.Informational priorityStringinformationalUrgence avec laquelle le Dock doit rebondir. Avertit l’utilisateur qu’un événement pouvant requérir son attention s’est produit.

Un appel à cette méthode fait rebondir l’icône du Dock si, et seulement si, l’application est en arrière-plan. Lorsque priority est NotificationType.Informational, il n’y a qu’un seul rebond. Lorsque priority est NotificationType.Critical, l’icône rebondit jusqu’à ce que l’application soit ramenée au premier plan.

Dans l’exemple suivant, l’icône du Dock rebondit jusqu’à ce que l’utilisateur active l’application : import flash.display.DockIcon; import flash.display.NotificationType; import flash.desktop.NativeApplication; if(NativeApplication.supportsDockIcon){ var dockIcon:DockIcon = NativeApplication.nativeApplication.icon As DockIcon; dockIcon.bounce(NotificationType.CRITICAL); }
flash.desktop.NotificationTypeflash.display.NativeWindow.notifyUser()
bitmaps Image de l’icône sous forme de tableau d’objets BitmapData de tailles différentes.ArrayImage de l’icône sous forme de tableau d’objets BitmapData de tailles différentes. Image de l’icône sous forme de tableau d’objets BitmapData de tailles différentes.

Lorsqu’une icône est affichée dans le contexte d’un certain système d’exploitation, l’image bitmap du tableau se rapprochant le plus de la taille affichée est utilisée (et éventuellement mise à l’échelle). Les tailles courantes sont 16x16, 32x32, 48x48 et 128x128 (des icônes de 512x512 pixels peuvent être utilisées pour des système d’exploitation futurs).

Dans certains cas, le système d’exploitation peut utiliser une icône système par défaut lorsque rien n’a été affecté à la propriété bitmaps. Dans d’autres cas, aucune icône n’apparaît.

Pour définir ou modifier l’apparence de l’icône, affectez un tableau d’objets bitmapData à la propriété bitmaps :

icon.bitmaps = new Array(icon16x16.bitmapData, icon128x128.bitmapData);

La modification directe du tableau bitmaps n’a aucun effet.

Pour effacer l’image de l’icône, affectez un tableau vide à la propriété bitmaps.

Remarque : lors du chargement de fichiers image pour une icône, le format de fichier PNG fournit généralement la meilleure fusion alpha. Le format GIF ne prend en charge que l’activation ou la désactivation de la transparence (pas la fusion). Le format JPG ne prend pas en charge la transparence du tout.

height Hauteur d’affichage actuelle de l’icône, en pixels.int Hauteur d’affichage actuelle de l’icône, en pixels.

Certains contextes d’icône prennent en charge les tailles dynamiques. La propriété height indique la hauteur de l’icône choisie dans le tableau bitmaps pour le contexte actuel. La hauteur d’affichage réelle peut être différente si le système d’exploitation a mis l’icône à l’échelle.

menu Menu fourni par le système de cette icône du Dock.flash.display:NativeMenu Menu fourni par le système de cette icône du Dock.

Les éléments du menu s’affichent au-dessus des éléments habituels. Les éléments habituels ne peuvent être ni modifiés ni supprimés.

L’exemple suivant ajoute un élément au menu de l’icône du dock : import flash.desktop.NativeApplication; import flash.events.Event; private function createDockIconMenu():void{ if(NativeApplication.supportsDockIcon){ var dockIcon:DockIcon = NativeApplication.nativeApplication.icon as DockIcon; var dockMenu:NativeMenu = new NativeMenu(); var command:NativeMenuItem = dockMenu.addItem(new NativeMenuItem("Command")); command.addEventListener(Event.SELECT, onCommand); dockIcon.menu = dockMenu; } } private function onCommand(event:Event):void{ //do command... }
width Largeur d’affichage actuelle de l’icône, en pixels.int Largeur d’affichage actuelle de l’icône, en pixels.

Certains contextes d’icône prennent en charge les tailles dynamiques. La propriété width indique la largeur de l’icône choisie dans le tableau bitmaps pour le contexte actuel. La largeur d’affichage réelle peut être différente si le système d’exploitation a mis l’icône à l’échelle.

Icon La classe Icon représente une icône du système d’exploitation.flash.events:EventDispatcher La classe Icon représente une icône du système d’exploitation.

Un objet Icon a une propriété, bitmaps, correspondant à un tableau d’objets BitmapData. Une seule image est affichée à la fois. Le système d’exploitation sélectionne l’image dont la taille est la plus proche de la taille d’affichage actuel de l’icône, en la mettant à l’échelle si nécessaire.

flash.filesystem.File.iconflash.display.BitmapDatabitmaps Image de l’icône sous forme de tableau d’objets BitmapData de tailles différentes.Array Image de l’icône sous forme de tableau d’objets BitmapData de tailles différentes.

Lorsqu’une icône est affichée dans le contexte d’un certain système d’exploitation, l’image bitmap du tableau se rapprochant le plus de la taille affichée est utilisée (et éventuellement mise à l’échelle). Les tailles courantes sont 16x16, 32x32, 48x48 et 128x128 (des icônes de 512x512 pixels peuvent être utilisées pour des système d’exploitation futurs).

Dans certains cas, le système d’exploitation peut utiliser une icône système par défaut lorsque rien n’a été affecté à la propriété bitmaps. Dans d’autres cas, aucune icône n’apparaît.

Pour définir ou modifier l’apparence de l’icône, affectez un tableau d’objets bitmapData à la propriété bitmaps :

icon.bitmaps = new Array(icon16x16.bitmapData, icon128x128.bitmapData);

La modification directe du tableau bitmaps n’a aucun effet.

Pour effacer l’image de l’icône, affectez un tableau vide à la propriété bitmaps.

Remarque : lors du chargement de fichiers image pour une icône, le format de fichier PNG fournit généralement la meilleure fusion alpha. Le format GIF ne prend en charge que l’activation ou la désactivation de la transparence (pas la fusion). Le format JPG ne prend pas en charge la transparence du tout.

flash.filesystem.File.iconflash.display.BitmapData