5- Cycle de vie d'un Package |
![]() ![]() ![]() |
Avant la naissance d'un paquetage, seul existe
une spécification en XUL, elle contient un fichier XUL et une multitude
de fichiers CSS associés. Quand on a besoin d'un package donné,
l'application cherche sa spécification, XPToolkit la charge et utilise
Gecko pour la parser et instancie les différentes structures.
Les widgets et services associés doivent être aussi instanciés, après avoir créer et connecter les différents objets, l'interface utilisateur peut être visible.
Toute interaction de l'utilisateur avec l'application se répercute sur l'arbre de contenu. Les noeuds de l'arbre sont enregistrés comme sensibles à certains évènements. Au déclenchement d'un évènement particulier, ils notifient le service concerné. Un mécanisme d'observateurs et diffuseurs est associé aux noeuds de l'arbre.
Le même package peut être instancié avec une spécification différente de XUL, permettant d'avoir une interface graphique différente. Plusieurs packages peuvent travailler ensemble en communicant par messages, exemple la barre d'outils flottante.
La destruction d'un package commence par l'effacement
de l'interface graphique, puis libération de l'arbre de contenu
ainsi que les services associés et enfin le package lui même.
Certains services qui peuvent être partagés par d'autres packages
sont seulement déchargés de la mémoire.
![]() |