Hotfix Release available. [36.1] (what's this?)
 

XUL

Activation d'un élément

Pour activer un élément, supprimer l'attribut disabled plutôt que de le mettre à false (problème avec listbox sinon).

Importation d'un arbre XUL contenu dans un fichier

var myXMLHTTPRequest = new XMLHttpRequest();
myXMLHTTPRequest.open("GET", "file://FILE", false);
myXMLHTTPRequest.send(null);
 
document.getElementById( 'ID' ).appendChild( document.importNode( myXMLHTTPRequest.responseXML.firstChild, true ) );

L'exemple ci-dessus permet d'ajouter l'arbre XUL contenu dans le fichier FILE comme fils d'un élement XUL d'identifiant (id) ID.

Voici un exemple de contenu que peut avoir le fichier FILE :

<hbox flex="1" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
	<button label="Ceci est un bouton" flex="1"/>
	<description flex="1">Hello the world !</description>
</hbox>

Noter le xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" de la balise racine. Cet attribut est indispensable, sinon les éléments ne seront pas affichés.

Affichage d'une transformation XSLT dans un fenêtre XUL

à complèter

Exemple de mise en place d'un 'eventListener' ; lancement d'une action lors de la modification d'un attribut

function attributeChanged(event)
{
	 alert(this.ordinal + '\n' + event.attrName + "\n'" + event.prevValue + "'\n'" + event.newValue +"'" );
}
 
document.getElementById( 'bureau' ).addEventListener('DOMAttrModified', attributeChanged, true);

Gestion d'un 'textbox' dans un composant 'XPCOM'

Le contenu d'un textbox ne peut être lu ou modifié à l'aide de l'attribut value, mais uniquement à l'aide de la propriété éponyme. Si l'on récupère le textbox, dans un composant XPCOM, en tant que nsIDOMElement, on n'aura pas accés à cette propriété. Vous trouverez ci-dessous une façon de procèder pour résoudre ce problème :

Code javascript :

f( document.getElementById( 'TEXTBOX_ID' ).inputField );

TEXTBOX_ID est la valeur de l'attribut id du textbox concerné.

Code IDL :

void f( in nsIDOMHTMLInputElement TextBox ); 

Code C:

NS_IMETHODIMP MyComp::f( nsIDOMHTMLInputElement *TextBox )
{
	nsEmbedString Value;
 
	// ...
 
	TextBox->SetValue( Value );	// Permet de modifier le contenu du 'textbox' correspondant.
 
	// ...
 
	TextBox->GetValue( Value );	// Permet de récupèrer le contenu de 'textbox' correspondant.
 
	// NOTA : on peut aussi employer les fonctions 'SetValue()' 'GetValue()' de la bibliothèque 'NSXPCM' du projet Epeios.
}

NOTA : le NodeName du textbox ainsi récupèré est html:input. Lorsque l'attribut multiline du textbox est à true, alors le composant est de type nsIDOMHTMLTextAreaElement, et non pas nsIDOMHTMLInputElement, et son NodeName est html:textarea.

other/gecko/xul/xul.txt · Last modified: 2006/07/20 11:51 by 217.167.194.108
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki