Ignore:
Timestamp:
03/05/10 12:43:33 (2 years ago)
Author:
sys
Message:

SubExtPoints : paramètre pour overwrite de la def parent.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Xul_Commons/modules/scenariCommons/ExtPoints.jsm

    r14873 r15037  
    118118         * @param pLevelAuthority Niveau d'autorité associée à cette affectation. 
    119119         * @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é. 
    120122         * @return true si la valeur a été prise en compte, false si une valeur de niveau supérieur ou égal existe déjà. 
    121123         */ 
    122         setPref : function(pCd, pLevelAuthority, pValue){ 
     124        setPref : function(pCd, pLevelAuthority, pValue, pOverwriteParent){ 
    123125                var vCurrentLevel = this.fPrefLevels[pCd]; 
    124126                if(vCurrentLevel==null || vCurrentLevel < pLevelAuthority) { 
     
    137139         * @param pLevelAuthority Niveau d'autorité associée à cette affectation. 
    138140         * @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é. 
    139143         * @return true si la pref a été modifiée, false si une valeur de niveau supérieur ou égal existe déjà. 
    140144         */ 
    141         setPrefFromXpcom : function(pCd, pLevelAuthority, pDefaultValue){ 
     145        setPrefFromXpcom : function(pCd, pLevelAuthority, pDefaultValue, pOverwriteParent){ 
    142146                var vCurrentLevel = this.fPrefLevels[pCd]; 
    143147                if(vCurrentLevel==null || vCurrentLevel < pLevelAuthority) { 
     
    169173         * @param pValueEntry Valeur de l'entrée, null est autorisé et élimine l'entrée de la liste.  
    170174         * @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é. 
    171177         * @return true si la valeur a été prise en compte, false si une valeur de niveau supérieur ou égal existe déjà. 
    172178         */ 
    173         addToList : function(pCdList, pCdEntry, pLevelAuthority, pValueEntry, pSortKey){ 
     179        addToList : function(pCdList, pCdEntry, pLevelAuthority, pValueEntry, pSortKey, pOverwriteParent){ 
    174180                var vList = this.fLists[pCdList]; 
    175181                if( ! vList) { 
     
    198204         * @param pCdSvc Code du service pointé, null est autorisé et élimine l'entrée de la liste.  
    199205         * @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é. 
    200208         * @return true si la valeur a été prise en compte, false si une valeur de niveau supérieur ou égal existe déjà. 
    201209         */ 
    202         addSvcToList : function(pCdList, pCdEntry, pLevelAuthority, pCdSvc, pSortKey){ 
     210        addSvcToList : function(pCdList, pCdEntry, pLevelAuthority, pCdSvc, pSortKey, pOverwriteParent){ 
    203211                var vList = this.fLists[pCdList]; 
    204212                if( ! vList) { 
     
    225233         * @param pLevelAuthority Niveau d'autorité associée à cette affectation. 
    226234         * @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é. 
    227237         * @return true si ce svc a été prise en compte, false si un svc de niveau supérieur ou égal existe déjà. 
    228238         */ 
    229         registerSvcByInst : function(pCd, pLevelAuthority, pSvc) { 
     239        registerSvcByInst : function(pCd, pLevelAuthority, pSvc, pOverwriteParent) { 
    230240                var vSvcDef = this.fSvcs[pCd]; 
    231241                if(!vSvcDef || vSvcDef.fLevel < pLevelAuthority) { 
     
    291301         * @param pIsClassToInstanciate si true, l'objet issue de la lib est considéré comme une class  
    292302         *              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é. 
    293305         * @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é. 
    294306         */ 
    295         registerSvcByLib : function(pCd, pLevelAuthority, pUrlLib, pIsClassToInstanciate) { 
     307        registerSvcByLib : function(pCd, pLevelAuthority, pUrlLib, pIsClassToInstanciate, pOverwriteParent) { 
    296308                var vSvcDef = this.fSvcs[pCd]; 
    297309                if(!vSvcDef || vSvcDef.fLevel < pLevelAuthority) { 
     
    731743 
    732744/** 
    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é. 
    734749 *  
    735750 * XXX Attention, avec cette impl, une modification ultérieure de l'extPoints parent  
     
    748763        __proto__ : ExtPoints.prototype, 
    749764         
    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; 
    752767                return ExtPoints.prototype.setPref.apply(this, arguments); //call super 
    753768        }, 
    754769         
    755770         
    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; 
    758773                return ExtPoints.prototype.setPrefFromXpcom.apply(this, arguments); //call super 
    759774        }, 
    760775         
    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; 
    763778                return ExtPoints.prototype.addToList.apply(this, arguments); //call super 
    764779        }, 
    765780         
    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; 
    768783                return ExtPoints.prototype.addSvcToList.apply(this, arguments); //call super 
    769784        }, 
    770785         
    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; 
    773788                return ExtPoints.prototype.registerSvcByInst.apply(this, arguments); //call super 
    774789        }, 
    775790         
    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; 
    778793                return ExtPoints.prototype.registerSvcByLib.apply(this, arguments); //call super 
    779794        }, 
Note: See TracChangeset for help on using the changeset viewer.