Changeset 11135
- Timestamp:
- 06/03/08 20:40:12 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Xul_XedLib/chrome/content/scenarixedlib/libUiBase/widgets/xedUiInputs.xbl.xml
r10950 r11135 42 42 <!-- xul:choiceInput 43 43 44 2 possibilités pour spécifier le contenu du popup : 45 - balises filles de xul:choiceInput : <ciItem label="" value=""/>, <ciSeparator/> (adapté si peu de valeurs) 46 - attribut "menupopup" spécifiant un noeud xed avec id : "url#id" ou "#id" si le noeud est dans le même fichier xed. (adapté si beaucoup de valeurs, si menu hiérarchique ou si réutilisés plusieurs fois) 47 Exemple de noeud xed : <se:template se:id="monMenu"><xul:menuitem label="bonjour"/></se:template> 44 Trois possibilités pour spécifier le contenu du popup : 45 1. Balises filles de xul:choiceInput : <ciItem label="" value=""/>, <ciSeparator/> (adapté si peu de valeurs) 46 2. Attribut "menupopup" spécifiant un noeud xed avec id : "url#id" ou "#id" si le noeud est dans le même fichier xed. (adapté si beaucoup de valeurs, si menu hiérarchique ou si réutilisés plusieurs fois) 47 Exemple de noeud xed : <se:template se:id="monMenu"><xul:menuitem label="bonjour"/></se:template> 48 3. Attribut "providerXPath" spécifiant un xpath permettant de pointer un élément du document en cours qui implémente 49 une méthode fillChoicePopup(pRoot) insérant des balises xul:menuitem et ou des sous-menus à pRoot. Le provider est appelé 50 à chaque affichage du popup. A lui de décider si la liste doit être rafraichie ou pas si elle est déjà remplie. 48 51 --> 49 52 <binding id="choiceInput" extends="chrome://scenarixedlib/content/libUiBase/widgets/xedUiBase.xbl.xml#input"> … … 130 133 <method name="xFillPopup"> 131 134 <body><![CDATA[ 132 if( ! this.fChoicePopup.hasChildNodes() && this.fPopupContent) { 135 if(this.hasAttribute("providerXPath")){ 136 try { 137 if( ! this.fProvider) this.fProvider = document.evaluate(this.getAttribute('providerXPath'), this, vModel.ownerDocument.createNSResolver(vModel), XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; 138 this.fProvider.fillChoicePopup(this.fChoicePopup); 139 } catch(e){ 140 xed.debug("providerXPath not found or failed: "+this.getAttribute('providerXPath') + " - " + e); 141 } 142 } else if( ! this.fChoicePopup.hasChildNodes() && this.fPopupContent) { 133 143 //Aucune ligne de menu, on le remplit. 134 144 var vReadOnly = this.isReadOnly;
Note: See TracChangeset
for help on using the changeset viewer.