Changeset 15037 for trunk/Xul_Commons/modules/scenariCommons/ExtPoints.jsm
- Timestamp:
- 03/05/10 12:43:33 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Xul_Commons/modules/scenariCommons/ExtPoints.jsm
r14873 r15037 118 118 * @param pLevelAuthority Niveau d'autorité associée à cette affectation. 119 119 * @param pValue Valeur à associer à la pref (string, number, boolean ou null) 120 * @param pOverwriteParent [Optionnel] utilisé uniquement par les SubExtPoints pour écraser la valeur 121 * de l'extPoints parent quelquesoit le niveau d'autorité. 120 122 * @return true si la valeur a été prise en compte, false si une valeur de niveau supérieur ou égal existe déjà. 121 123 */ 122 setPref : function(pCd, pLevelAuthority, pValue ){124 setPref : function(pCd, pLevelAuthority, pValue, pOverwriteParent){ 123 125 var vCurrentLevel = this.fPrefLevels[pCd]; 124 126 if(vCurrentLevel==null || vCurrentLevel < pLevelAuthority) { … … 137 139 * @param pLevelAuthority Niveau d'autorité associée à cette affectation. 138 140 * @param pDefaultValue Valeur à utiliser si aucune prefXpcom n'est définie. 141 * @param pOverwriteParent [Optionnel] utilisé uniquement par les SubExtPoints pour écraser la valeur 142 * de l'extPoints parent quelquesoit le niveau d'autorité. 139 143 * @return true si la pref a été modifiée, false si une valeur de niveau supérieur ou égal existe déjà. 140 144 */ 141 setPrefFromXpcom : function(pCd, pLevelAuthority, pDefaultValue ){145 setPrefFromXpcom : function(pCd, pLevelAuthority, pDefaultValue, pOverwriteParent){ 142 146 var vCurrentLevel = this.fPrefLevels[pCd]; 143 147 if(vCurrentLevel==null || vCurrentLevel < pLevelAuthority) { … … 169 173 * @param pValueEntry Valeur de l'entrée, null est autorisé et élimine l'entrée de la liste. 170 174 * @param pSortKey Clé pour trier la liste, 0 par défaut. 175 * @param pOverwriteParent [Optionnel] utilisé uniquement par les SubExtPoints pour écraser la valeur 176 * de l'extPoints parent quelquesoit le niveau d'autorité. 171 177 * @return true si la valeur a été prise en compte, false si une valeur de niveau supérieur ou égal existe déjà. 172 178 */ 173 addToList : function(pCdList, pCdEntry, pLevelAuthority, pValueEntry, pSortKey ){179 addToList : function(pCdList, pCdEntry, pLevelAuthority, pValueEntry, pSortKey, pOverwriteParent){ 174 180 var vList = this.fLists[pCdList]; 175 181 if( ! vList) { … … 198 204 * @param pCdSvc Code du service pointé, null est autorisé et élimine l'entrée de la liste. 199 205 * @param pSortKey Clé pour trier la liste, 0 par défaut. 206 * @param pOverwriteParent [Optionnel] utilisé uniquement par les SubExtPoints pour écraser la valeur 207 * de l'extPoints parent quelquesoit le niveau d'autorité. 200 208 * @return true si la valeur a été prise en compte, false si une valeur de niveau supérieur ou égal existe déjà. 201 209 */ 202 addSvcToList : function(pCdList, pCdEntry, pLevelAuthority, pCdSvc, pSortKey ){210 addSvcToList : function(pCdList, pCdEntry, pLevelAuthority, pCdSvc, pSortKey, pOverwriteParent){ 203 211 var vList = this.fLists[pCdList]; 204 212 if( ! vList) { … … 225 233 * @param pLevelAuthority Niveau d'autorité associée à cette affectation. 226 234 * @param pSvc Objet JS correspondant à ce service. 235 * @param pOverwriteParent [Optionnel] utilisé uniquement par les SubExtPoints pour écraser la valeur 236 * de l'extPoints parent quelquesoit le niveau d'autorité. 227 237 * @return true si ce svc a été prise en compte, false si un svc de niveau supérieur ou égal existe déjà. 228 238 */ 229 registerSvcByInst : function(pCd, pLevelAuthority, pSvc ) {239 registerSvcByInst : function(pCd, pLevelAuthority, pSvc, pOverwriteParent) { 230 240 var vSvcDef = this.fSvcs[pCd]; 231 241 if(!vSvcDef || vSvcDef.fLevel < pLevelAuthority) { … … 291 301 * @param pIsClassToInstanciate si true, l'objet issue de la lib est considéré comme une class 292 302 * qu'il faut instancier pour créer le singleton (utile pour les .jsm en particulier). 303 * @param pOverwriteParent [Optionnel] utilisé uniquement par les SubExtPoints pour écraser la valeur 304 * de l'extPoints parent quelquesoit le niveau d'autorité. 293 305 * @return true si ce svc a été pris en compte, false si un svc de niveau supérieur ou égal est déjà déclaré. 294 306 */ 295 registerSvcByLib : function(pCd, pLevelAuthority, pUrlLib, pIsClassToInstanciate ) {307 registerSvcByLib : function(pCd, pLevelAuthority, pUrlLib, pIsClassToInstanciate, pOverwriteParent) { 296 308 var vSvcDef = this.fSvcs[pCd]; 297 309 if(!vSvcDef || vSvcDef.fLevel < pLevelAuthority) { … … 731 743 732 744 /** 733 * Construteur du SubExtPoints 745 * SubExtPoints : extPoints qui surcharge un extPoints parent. 746 * 747 * Un paramètre supplémentaire aux méthodes d'affectation permet de forcer l'écrasement 748 * de la valeur de l'extPoints parent quelquesoit le niveau d'autorité. 734 749 * 735 750 * XXX Attention, avec cette impl, une modification ultérieure de l'extPoints parent … … 748 763 __proto__ : ExtPoints.prototype, 749 764 750 setPref : function(pCd, pLevelAuthority, pValue ){751 if( this.fParentExtPoints.getPrefLevel(pCd) >= pLevelAuthority) return false;765 setPref : function(pCd, pLevelAuthority, pValue, pOverwriteParent){ 766 if(! pOverwriteParent && this.fParentExtPoints.getPrefLevel(pCd) >= pLevelAuthority) return false; 752 767 return ExtPoints.prototype.setPref.apply(this, arguments); //call super 753 768 }, 754 769 755 770 756 setPrefFromXpcom : function(pCd, pLevelAuthority, pDefaultValue ){757 if( this.fParentExtPoints.getPrefLevel(pCd) >= pLevelAuthority) return false;771 setPrefFromXpcom : function(pCd, pLevelAuthority, pDefaultValue, pOverwriteParent){ 772 if(! pOverwriteParent && this.fParentExtPoints.getPrefLevel(pCd) >= pLevelAuthority) return false; 758 773 return ExtPoints.prototype.setPrefFromXpcom.apply(this, arguments); //call super 759 774 }, 760 775 761 addToList : function(pCdList, pCdEntry, pLevelAuthority, pValueEntry, pSortKey ){762 if( this.fParentExtPoints.getEntryListLevel(pCdList, pCdEntry) >= pLevelAuthority) return false;776 addToList : function(pCdList, pCdEntry, pLevelAuthority, pValueEntry, pSortKey, pOverwriteParent){ 777 if(! pOverwriteParent && this.fParentExtPoints.getEntryListLevel(pCdList, pCdEntry) >= pLevelAuthority) return false; 763 778 return ExtPoints.prototype.addToList.apply(this, arguments); //call super 764 779 }, 765 780 766 addSvcToList : function(pCdList, pCdEntry, pLevelAuthority, pCdSvc, pSortKey ){767 if( this.fParentExtPoints.getEntryListLevel(pCdList, pCdEntry) >= pLevelAuthority) return false;781 addSvcToList : function(pCdList, pCdEntry, pLevelAuthority, pCdSvc, pSortKey, pOverwriteParent){ 782 if(! pOverwriteParent && this.fParentExtPoints.getEntryListLevel(pCdList, pCdEntry) >= pLevelAuthority) return false; 768 783 return ExtPoints.prototype.addSvcToList.apply(this, arguments); //call super 769 784 }, 770 785 771 registerSvcByInst : function(pCd, pLevelAuthority, pSvc ) {772 if( this.fParentExtPoints.getSvcLevel(pCd) >= pLevelAuthority) return false;786 registerSvcByInst : function(pCd, pLevelAuthority, pSvc, pOverwriteParent) { 787 if(! pOverwriteParent && this.fParentExtPoints.getSvcLevel(pCd) >= pLevelAuthority) return false; 773 788 return ExtPoints.prototype.registerSvcByInst.apply(this, arguments); //call super 774 789 }, 775 790 776 registerSvcByLib : function(pCd, pLevelAuthority, pUrlLib, pIsClassToInstanciate ) {777 if( this.fParentExtPoints.getSvcLevel(pCd) >= pLevelAuthority) return false;791 registerSvcByLib : function(pCd, pLevelAuthority, pUrlLib, pIsClassToInstanciate, pOverwriteParent) { 792 if(! pOverwriteParent && this.fParentExtPoints.getSvcLevel(pCd) >= pLevelAuthority) return false; 778 793 return ExtPoints.prototype.registerSvcByLib.apply(this, arguments); //call super 779 794 },
Note: See TracChangeset
for help on using the changeset viewer.