(AIR uniquement)
Packageflash.desktop
Classepublic class DockIcon
HéritageDockIcon Inheritance InteractiveIcon Inheritance Icon Inheritance EventDispatcher Inheritance Object

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0

La classe DockIcon représente l'icône du Dock de style MacOS X®.

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.

Consulter les exemples

Voir aussi

flash.desktop.NativeApplication.icon
flash.desktop.NativeApplication.supportsDockIcon
flash.desktop.SystemTrayIcon


Propriétés publiques
 PropriétéDéfini par
  AIR-only bitmaps : Array
[override] Image de l'icône sous forme de tableau d'objets BitmapData de tailles différentes.
DockIcon
 Inheritedconstructor : Object
Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet.
Object
  AIR-only height : int
[override] [lecture seule] Hauteur d'affichage actuelle de l'icône, en pixels.
DockIcon
  AIR-only menu : NativeMenu
Menu fourni par le système de cette icône du Dock.
DockIcon
 Inheritedprototype : Object
[statique] Référence à l'objet prototype d'un objet de classe ou fonction.
Object
  AIR-only width : int
[override] [lecture seule] Largeur d'affichage actuelle de l'icône, en pixels.
DockIcon
Méthodes publiques
 MéthodeDéfini par
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement.
EventDispatcher
  
AIR-only bounce(priority:String = "informational"):void
Avertit l'utilisateur qu'un événement pouvant requérir son attention s'est produit.
DockIcon
 Inherited
Distribue un événement dans le flux d'événements.
EventDispatcher
 Inherited
Vérifie si des écouteurs sont enregistrés auprès de l'objet EventDispatcher pour un type spécifique d'événement.
EventDispatcher
 Inherited
Indique si la propriété spécifiée d'un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l'objet spécifié en tant que paramètre.
Object
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Supprime un écouteur de l'objet EventDispatcher.
EventDispatcher
 Inherited
Définit la disponibilité d'une propriété dynamique pour les opérations en boucle.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l'objet spécifié.
Object
 Inherited
Renvoie la valeur primitive de l'objet spécifié.
Object
 Inherited
Vérifie si un écouteur d'événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d'événement spécifié.
EventDispatcher
Evénements
 Evénement Synthèse Défini par
 Inherited[Evénement de diffusion] Distribué lorsque l'application Flash Player obtient le focus du système d'exploitation et devient active.EventDispatcher
 Inherited[Evénement de diffusion] Distribué lorsque l'application Flash Player ou AIR perd le focus du système d'exploitation et devient inactive.EventDispatcher
Détails de la propriété
AIR-only bitmapspropriété
bitmaps:Array  [lecture-écriture] [override]

Versions du moteur d'exécution: AIR 1.0

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 le meilleur fondu alpha. Le format GIF ne prend en charge que l'activation ou la désactivation de la transparence (pas le fondu). Le format JPG ne prend pas en charge la transparence du tout.



Implémentation
    public function get bitmaps():Array
    public function set bitmaps(value:Array):void
AIR-only heightpropriété 
height:int  [lecture seule] [override]

Versions du moteur d'exécution: AIR 1.0

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.



Implémentation
    public function get height():int
AIR-only menupropriété 
menu:NativeMenu  [lecture-écriture]

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0

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.



Implémentation
    public function get menu():NativeMenu
    public function set menu(value:NativeMenu):void

Exemple
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...
 }
AIR-only widthpropriété 
width:int  [lecture seule] [override]

Versions du moteur d'exécution: AIR 1.0

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.



Implémentation
    public function get width():int
Détails de la méthode
AIR-only bounce()méthode
public function bounce(priority:String = "informational"):void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0

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.

Paramètres

priority:String (default = "informational") — Urgence avec laquelle le Dock doit rebondir.

Voir aussi


Exemple

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);
 }
Exemples Utilisation des exemples
DockIconExample.as

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);
            }
        }
    }
}