com.neolao.controls.interfaces.moduls.ModulWindows
Gestion de fenêtres
Classes recquises :
Propriétés
Visibilité | Type | Nom | Description |
---|---|---|---|
public | MovieClip | targetInstance | La cible des fenêtres |
public | String | windowSymbol | Le symbole d'une fenêtre |
public | Number | limit | La limite du nombre de fenêtre (-1 pour infini ou un nombre négatif) |
public | Array | windows | La liste des fenêtres |
Méthodes
Visibilité | Return | Nom | Param 1 | Description |
---|---|---|---|---|
public | MovieClip | addWindow | Ajoute une nouvelle fenêtre et retourne la référence de l'instance. | |
public | Void | removeWindow | pWindow | Retire une fenêtre |
public | Void | removeAll | Retire toutes les fenêtres |
Change log
[01/10/2004] Version 1.0
Création
[03/10/2004] Version 1.1
- Ajout de la gestion des limites
- Ajout de la méthode removeAll
[04/10/2004] Version 1.2
- Ajout de la propriété windows
Source
import com.neolao.controls.interfaces.moduls.IModul; import com.neolao.controls.interfaces.moduls.Modul; import com.neolao.controls.StackItems; /** * @description Gestion de fenêtres * @author neolao <neo@neolao.com> * @version 1.2 (04/10/2004) * @link http://resources.neolao.com/flash/classes/controls/interfaces/moduls/modulwindows */ class com.neolao.controls.interfaces.moduls.ModulWindows extends Modul implements IModul{ public var className:String = "ModulWindows"; public var version:String = "1.2"; // ----------------------------- CONSTANTES -------------------------------- // ----------------------------- VARIABLES --------------------------------- /** * La cible de la class */ private var _targetInstance:MovieClip; /** * Le symbole d'un window */ private var _windowSymbol:String; /** * La limite du nombre d'item */ private var _limit:Number; /** * Gestionnaire d'items empilés */ private var _stackItems:Object; // ----------------------------- EVENEMENTS -------------------------------- /*============================= CONSTRUCTEUR =============================*/ /*========================================================================*/ public function ModulWindows(){ super(); _stackItems = new StackItems(); if(_stackItems.className == "StackItems"){ OBJlog.action = "Initialisation du StackItems réussie."; _stackItems._parentClass = this; _stackItems.onLimit = function(){ var VARparent:Object = this["_parentClass"]; VARparent.funcLimit.apply(VARparent); }; }else{ OBJlog.error = "Initialisation du StackItems ratée !!!"; } } /*======================= FIN = CONSTRUCTEUR = FIN =======================*/ /*========================================================================*/ /*=========================== METHODES PRIVEES ===========================*/ /*========================================================================*/ /** * Invoqué lorsque la limite des fenetres est atteinte */ private function funcLimit(){ OBJlog.info = "La limite de fenêtres est atteinte. Impossible d'en créer d'autres."; } /*===================== FIN = METHODES PRIVEES = FIN =====================*/ /*========================================================================*/ /*============================ GETTER SETTER ============================*/ /*========================================================================*/ /** * La cible de la class */ public function set targetInstance(pMC:MovieClip){ _targetInstance = pMC; _stackItems.targetInstance = _targetInstance; OBJlog.action = "StackItems a une cible : " + _stackItems.targetInstance; } public function get targetInstance():MovieClip{ return _targetInstance; } /** * Le symbole d'un window */ public function set windowSymbol(pSymbol:String){ _windowSymbol = pSymbol; _stackItems.itemSymbol = _windowSymbol; OBJlog.action = "StackItems va utiliser le symbole : " + _stackItems.itemSymbol; } public function get windowSymbol():String{ return _windowSymbol; } /** * La limite du nombre d'item (-1 pour infini ou un nombre négatif) */ public function set limit(pLimit:Number){ _limit = pLimit; _stackItems.limit = _limit; } public function get limit():Number{ return _limit; } /** * La liste des fenêtres */ public function get windows():Array{ return _stackItems.items; } /*====================== FIN = GETTER SETTER = FIN ======================*/ /*========================================================================*/ /*========================== METHODES PUBLIQUES ==========================*/ /*========================================================================*/ /** * Ajoute une nouvelle fenêtre * @return L'instance de la fenêtre */ public function addWindow():MovieClip{ var vInstance:MovieClip; vInstance = _stackItems.addItem(); if(vInstance != undefined){ OBJlog.action = "Nouvelle fenêtre : " + vInstance + " (total = " + _stackItems.total + ")"; } return vInstance; } /** * Retire une fenêtre * @param pWindow L'instance de la fenêtre à retirer */ public function removeWindow(pWindow:MovieClip){ if(_stackItems.removeItem(pWindow)){ OBJlog.action = "Destruction de la fenêtre réussie."; }else{ OBJlog.error = "Destruction de la fenêtre ratée."; } } /** * Retire toutes les fenêtres */ public function removeAll(){ _stackItems.removeAll(); } /*==================== FIN = METHODES PUBLIQUES = FIN ====================*/ /*========================================================================*/ }