3- XUL

previoustopnext


XUL est une description en XML de l'interface utilisateur, cette sérialisation des composants selon une spécification standardisée permet à Gecko de parser le fichier .xul et de créer et instancier l'interface graphique elle-même.

L'exemple suivant donne une idée sur la structure d'un fichier .xul  :
 

<?xml version="1.0"?>
<?xml-stylesheet href="xul.css" type="text/css"?> 
<!DOCTYPE package>
<package xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 
  <window id="main">
    ...
         <xul:toolbar>
              <html:button cmd="nsCmd:MailSendMsg"  style="background-color:rgb(192,192,192);">
                           <html:img    src="resource:/res/toolbar/Mail_SendMsg.gif"/><html:BR/>Send
                 </html:button>
    ...
  </window>

  <window id="help">
    ...
  </window>
</package>

    Après que Gecko parse ce fichier, il le charge et l'instancie par :

Package *package = LoadPackage("http://xxx/package.xul");
InstantiateWindow(package, GetNodeWithID("main");


    Pour le moment, un fichier XUL ne contient qu'une seule fenêtre qu'on instancie par :

InstantiateWindow("http://xxx/window.xul");


    Cette fenêtre principale peut contenir des menus, des barres d'outils, des boutons, des images. Les balises et attributs de ces  principaux éléments graphiques sont spécifiés.  Une dizaine d'autres sont identifiés, mais pas encore standardisés.
L'interface ainsi décrite est statique, XUL permet aussi d'ajouter de la programmation en javascript ou en C++.
 

<html:script>
                // dialog initialization code
              function InitWindow() {
                      var checkbox = document.getElementByID("remember");
                      if (checkbox) checkbox.checked = true;
               }
</html:script>

 

Fadel TOURKMANI

W3C