Ignore:
Timestamp:
08/04/09 19:09:44 (3 years ago)
Author:
sys
Message:

textPrim : ajout meta sur toutes les structures de la textPrim. En cours...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Xul_XedLib/chrome/content/scenarixedlib/libUiExtra/scRichText/textBase.xbl.xml

    r13648 r13657  
    449449                                                        var vHtmlChild = null; 
    450450                                                        var vStopChildren = false; 
    451                                                         switch(vXmlNode.localName){ 
    452                                                                 // #### Balises paragraphes #### 
    453                                                                 case "para" :  
    454                                                                 case "member" : 
    455                                                                 //case "variableList" :  
    456                                                                 //case "varListEntry" :  
    457                                                                 //case "term" :  
    458                                                                         if(validOptTag(vXmlNode, this.fClasses._xml[vXmlNode.localName])) { 
    459                                                                                 vHtmlChild = fctCreateElt.call(vHtmlDoc, vXmlNode.localName); 
    460                                                                                 copyAtts(vXmlNode, vHtmlChild); 
    461                                                                         } 
    462                                                                         break; 
    463                                                                 case "simpleList" :  
    464                                                                         vHtmlChild = fctCreateElt.call(vHtmlDoc, "dir"); 
    465                                                                         copyAtts(vXmlNode, vHtmlChild); 
    466                                                                         vHtmlChild = validRoleTag(vHtmlChild, this.fClasses.DIR); 
    467                                                                         break; 
    468                                                                 case "itemizedList" :  
    469                                                                         vHtmlChild = fctCreateElt.call(vHtmlDoc, "ul"); 
    470                                                                         copyAtts(vXmlNode, vHtmlChild); 
    471                                                                         vHtmlChild = validRoleTag(vHtmlChild, this.fClasses.UL); 
    472                                                                         break; 
    473                                                                 case "orderedList" :  
    474                                                                         vHtmlChild = fctCreateElt.call(vHtmlDoc, "ol"); 
    475                                                                         copyAtts(vXmlNode, vHtmlChild); 
    476                                                                         vHtmlChild = validRoleTag(vHtmlChild, this.fClasses.OL); 
    477                                                                         break; 
    478                                                                                                                                                                                                                                                                                                                                                                          
    479                                                                 case "listItem" :  
    480                                                                         if(validOptTag(vXmlNode, this.fClasses.LITEM)) { 
    481                                                                                 var vNodeName = "litem"; 
    482                                                                                 /* if(vXmlNode.parentNode != null && vXmlNode.parentNode.nodeType==1) { 
    483                                                                                         if(vXmlNode.parentNode.localName=="varListEntry") { 
    484                                                                                                 vNodeName = "varListItem"; 
    485                                                                                         } 
    486                                                                                 } else if(vHtmlNode.parentNode != null) { 
    487                                                                                         //Cas d'un copie avec un listitem en racine. 
    488                                                                                         if(vHtmlNode.parentNode.localName=="VARLISTENTRY") { 
    489                                                                                                 vNodeName = "varListItem"; 
    490                                                                                         } 
    491                                                                                 } */ 
    492                                                                                 vHtmlChild = fctCreateElt.call(vHtmlDoc, vNodeName); 
    493                                                                                 copyAtts(vXmlNode, vHtmlChild); 
    494                                                                         } 
    495                                                                         break; 
    496                                                                 case "title" :   
    497                                                                         if(validOptTag(vXmlNode, this.fClasses.TITLE)) { 
    498                                                                                 vHtmlChild = fctCreateElt.call(vHtmlDoc, vXmlNode.localName); 
    499                                                                                 copyAtts(vXmlNode, vHtmlChild); 
    500                                                                         } 
    501                                                                         break; 
    502                                                                          
    503                                                                 case "table" :   
    504                                                                         vHtmlChild = fctCreateElt.call(vHtmlDoc, vXmlNode.localName); 
    505                                                                         copyAtts(vXmlNode, vHtmlChild); 
    506                                                                         vHtmlChild = validRoleTag(vHtmlChild, this.fClasses.TABLE); 
    507                                                                         break; 
    508                                                                 case "caption" :  
    509                                                                         if(validOptTag(vXmlNode, this.fClasses.CAPTION)) { 
    510                                                                                 vHtmlChild = fctCreateElt.call(vHtmlDoc, vXmlNode.localName); 
    511                                                                                 copyAtts(vXmlNode, vHtmlChild); 
    512                                                                         } 
    513                                                                         break; 
    514                                                                 case "column" : 
    515                                                                         vHtmlChild = fctCreateElt.call(vHtmlDoc, "col"); 
    516                                                                         copyAtts(vXmlNode, vHtmlChild); 
    517                                                                         var vW = vXmlNode.getAttribute("width") || 50; 
    518                                                                         vHtmlChild.setAttribute("width", this.computeTDWidthFromScWidth(vW)); 
    519                                                                         vHtmlChild = validRoleTag(vHtmlChild, this.fClasses.COL); 
    520                                                                         vStopChildren = true; 
    521                                                                         break;  
    522                                                                 case "row" :  
    523                                                                         vHtmlChild = fctCreateElt.call(vHtmlDoc, "tr"); 
    524                                                                         copyAtts(vXmlNode, vHtmlChild); 
    525                                                                         vHtmlChild = validRoleTag(vHtmlChild, this.fClasses.TR); 
    526                                                                         break;  
    527                                                                 case "cell" :  
    528                                                                         vHtmlChild = fctCreateElt.call(vHtmlDoc, "td"); 
    529                                                                         copyAtts(vXmlNode, vHtmlChild); 
    530                                                                         var vVal = vXmlNode.getAttribute("rowSpan"); 
    531                                                                         if(vVal) vHtmlChild.setAttribute("rowSpan", vVal); 
    532                                                                         vVal = vXmlNode.getAttribute("colSpan"); 
    533                                                                         if(vVal) vHtmlChild.setAttribute("colSpan", vVal); 
    534                                                                         vHtmlChild = validRoleTag(vHtmlChild, this.fClasses.TD); 
    535                                                                         break;  
    536                                                                 case "extBlock" :        
    537                                                                         vHtmlChild = fctCreateElt.call(vHtmlDoc, vXmlNode.localName); 
    538                                                                         copyAtts(vXmlNode, vHtmlChild); 
    539                                                                         vHtmlChild = validRoleTag(vHtmlChild, this.fClasses.EXTBLOCK); 
    540                                                                         if(vHtmlChild) { 
    541                                                                                 var vRefUri = vXmlNode.getAttributeNS(SCNS, "refUri"); 
    542                                                                                 vHtmlChild.setAttribute("refUri", vRefUri); 
    543                                                                                 //this.loadExtBlock(vHtmlChild, vRefUri); 
    544                                                                         } 
    545                                                                         break; 
    546                                                                 case "captionBlock" :    
    547                                                                         if(validOptTag(vXmlNode, this.fClasses.CAPTIONBLOCK)) { 
    548                                                                                 vHtmlChild = fctCreateElt.call(vHtmlDoc, vXmlNode.localName); 
    549                                                                                 copyAtts(vXmlNode, vHtmlChild); 
    550                                                                         } 
    551                                                                         break; 
    552                                                                 case "emptyBlock" : 
    553                                                                         vHtmlChild = fctCreateElt.call(vHtmlDoc, vXmlNode.localName); 
    554                                                                         copyAtts(vXmlNode, vHtmlChild); 
    555                                                                         vHtmlChild = validRoleTag(vHtmlChild, this.fClasses.EMPTYBLOCK); 
    556                                                                         break; 
    557                                                                          
    558                                                                          
    559                                                                 // #### Balises inlines #### 
    560                                                                 case "phrase" : 
    561                                                                         if(validOptTag(vXmlNode, this.fClasses.PHRASE)) { 
    562                                                                                 vHtmlChild = fctCreateElt.call(vHtmlDoc, "phrase"); 
    563                                                                                 copyAtts(vXmlNode, vHtmlChild); 
    564                                                                                 if( ! vXmlNode.hasChildNodes()) vHtmlChild.appendChild(vHtmlDoc.createTextNode("")); 
    565                                                                         } 
    566                                                                         break; 
    567                                                                          
    568                                                                 case "inlineStyle" : 
    569                                                                         if(validOptTag(vXmlNode, this.fClasses.INLINESTYLE)) { 
    570                                                                                 vHtmlChild = fctCreateElt.call(vHtmlDoc, "inlineStyle"); 
    571                                                                                 if(vXmlNode.hasAttribute("role")) vHtmlChild.setAttribute("role", vXmlNode.getAttribute("role")); 
    572                                                                                 if( ! vXmlNode.hasChildNodes()) vHtmlChild.appendChild(vHtmlDoc.createTextNode("")); 
    573                                                                         } 
    574                                                                         break; 
    575                                                                          
    576                                                                 case "textLeaf" : 
    577                                                                         if(validOptTag(vXmlNode, this.fClasses.TEXTLEAF)) { 
    578                                                                                 vHtmlChild = fctCreateElt.call(vHtmlDoc, "textLeaf"); 
    579                                                                                 copyAtts(vXmlNode, vHtmlChild); 
    580                                                                                 if( ! vXmlNode.hasChildNodes()) vHtmlChild.appendChild(vHtmlDoc.createTextNode("")); 
    581                                                                         } 
    582                                                                         break; 
    583                                                                          
    584                                                                 case "uLink" : 
    585                                                                         if(validOptTag(vXmlNode, this.fClasses.ULINK)) { 
    586                                                                                 vHtmlChild = fctCreateElt.call(vHtmlDoc, "uLink"); 
    587                                                                                 copyAtts(vXmlNode, vHtmlChild); 
    588                                                                                 if(vXmlNode.hasAttribute("url")) { 
    589                                                                                         vHtmlChild.setAttribute("url", vXmlNode.getAttribute("url")); 
    590                                                                                 } else { 
    591                                                                                         var vRefUri = vXmlNode.getAttributeNS(SCNS, "refUri"); 
    592                                                                                         vHtmlChild.setAttribute("refUri", vRefUri); 
    593                                                                                         this.loadULink(vHtmlChild, vRefUri); 
    594                                                                                 } 
    595                                                                                 if( ! vXmlNode.hasChildNodes()) vHtmlChild.appendChild(vHtmlDoc.createTextNode("")); 
    596                                                                         } 
    597                                                                         break; 
    598                                                                  
    599                                                                 case "inlineImg" : 
    600                                                                         if(validOptTag(vXmlNode, this.fClasses.IMG)) { 
    601                                                                                 var vIcon = fctCreateElt.call(vHtmlDoc, "img"); 
    602                                                                                 copyAtts(vXmlNode, vIcon); 
    603                                                                                 var vRefUri = vXmlNode.getAttributeNS(SCNS, "refUri"); 
    604                                                                                 vIcon.setAttribute("refUri", vRefUri); 
    605                                                                                 this.loadInlineImg(vIcon, vRefUri); 
    606                                                                                 //vIcon.setAttribute("src", vRefUri)); 
    607                                                                                 var vCh = vXmlNode.firstChild; 
    608                                                                                 var vText = ""; 
    609                                                                                 while(vCh) { 
    610                                                                                         if(vCh.nodeType == 3 || vXmlNode.nodeType == 4) vText += vCh.nodeValue; 
    611                                                                                         vCh = vCh.nextSibling; 
    612                                                                                 } 
    613                                                                                 if(vText) vIcon.setAttribute("text", vText); 
    614                                                                                 vHtmlNode.appendChild(vIcon); 
    615                                                                         } 
    616                                                                         vStopChildren = true; 
    617                                                                         break; 
    618                                                                  
    619                                                                 case "objectLeaf" : 
    620                                                                         if(validOptTag(vXmlNode, this.fClasses.OBJECTLEAF)) { 
    621                                                                                 var vObject = fctCreateElt.call(vHtmlDoc, "objectLeaf"); 
    622                                                                                 copyAtts(vXmlNode, vObject); 
    623                                                                                 var vRefUri = vXmlNode.getAttributeNS(SCNS, "refUri"); 
    624                                                                                 vObject.setAttribute("refUri", vRefUri); 
    625                                                                                 this.loadObjectLeaf(vObject, vRefUri); 
    626                                                                                 vHtmlNode.appendChild(vObject); 
    627                                                                         } 
    628                                                                         vStopChildren = true; 
    629                                                                         break; 
    630                                                                  
    631                                                                 case "emptyLeaf" : 
    632                                                                         if(validOptTag(vXmlNode, this.fClasses.EMPTYLEAF)) { 
    633                                                                                 var vObject = fctCreateElt.call(vHtmlDoc, "emptyLeaf"); 
    634                                                                                 copyAtts(vXmlNode, vObject); 
    635                                                                                 vHtmlNode.appendChild(vObject); 
    636                                                                         } 
    637                                                                         vStopChildren = true; 
    638                                                                         break; 
    639                                                                          
    640                                                                 case "note" :  
    641                                                                         if(validOptTag(vXmlNode, this.fClasses.NOTE)) { 
    642                                                                                 vHtmlChild = fctCreateElt.call(vHtmlDoc, "note"); 
    643                                                                                 copyAtts(vXmlNode, vHtmlChild); 
    644                                                                                 this.loadNote(vHtmlChild, vXmlNode); 
    645                                                                                 vHtmlNode.appendChild(vHtmlChild); 
    646                                                                                 vHtmlChild = null; 
    647                                                                         } 
    648                                                                         vStopChildren = true; 
    649                                                                         break; 
    650                                                                 default : 
    651                                                                         try{this.warnTagsUnknown();}catch(e){}; 
    652                                                                         vStopChildren = true; 
     451                                                        if(vXmlNode.namespaceURI!="http://www.utc.fr/ics/scenari/v3/core") { 
     452                                                                xed.debug("vXmlNode:::"+vXmlNode.namespaceURI+"|"+vXmlNode.localName); 
     453                                                                //Traitement des meta 
     454                                                                if(vHtmlNode.getUserData("meta")!=null) { 
     455                                                                        //meta déjà renseigné, erreur. 
     456                                                                        this.warnTagsUnknown(); 
     457                                                                } else { 
     458                                                                        this.loadMeta(vHtmlNode, vXmlNode); 
     459                                                                } 
     460                                                                vStopChildren = true; 
     461                                                        } else { 
     462                                                                //Balise "sc:" 
     463switch(vXmlNode.localName){ 
     464        // #### Balises paragraphes #### 
     465        case "para" :  
     466        case "member" : 
     467        //case "variableList" :  
     468        //case "varListEntry" :  
     469        //case "term" :  
     470                if(validOptTag(vXmlNode, this.fClasses._xml[vXmlNode.localName])) { 
     471                        vHtmlChild = fctCreateElt.call(vHtmlDoc, vXmlNode.localName); 
     472                        copyAtts(vXmlNode, vHtmlChild); 
     473                } 
     474                break; 
     475        case "simpleList" :  
     476                vHtmlChild = fctCreateElt.call(vHtmlDoc, "dir"); 
     477                copyAtts(vXmlNode, vHtmlChild); 
     478                vHtmlChild = validRoleTag(vHtmlChild, this.fClasses.DIR); 
     479                break; 
     480        case "itemizedList" :  
     481                vHtmlChild = fctCreateElt.call(vHtmlDoc, "ul"); 
     482                copyAtts(vXmlNode, vHtmlChild); 
     483                vHtmlChild = validRoleTag(vHtmlChild, this.fClasses.UL); 
     484                break; 
     485        case "orderedList" :  
     486                vHtmlChild = fctCreateElt.call(vHtmlDoc, "ol"); 
     487                copyAtts(vXmlNode, vHtmlChild); 
     488                vHtmlChild = validRoleTag(vHtmlChild, this.fClasses.OL); 
     489                break; 
     490                                                                                                                                                                                                                                                                                                                 
     491        case "listItem" :  
     492                if(validOptTag(vXmlNode, this.fClasses.LITEM)) { 
     493                        var vNodeName = "litem"; 
     494                        /* if(vXmlNode.parentNode != null && vXmlNode.parentNode.nodeType==1) { 
     495                                if(vXmlNode.parentNode.localName=="varListEntry") { 
     496                                        vNodeName = "varListItem"; 
     497                                } 
     498                        } else if(vHtmlNode.parentNode != null) { 
     499                                //Cas d'un copie avec un listitem en racine. 
     500                                if(vHtmlNode.parentNode.localName=="VARLISTENTRY") { 
     501                                        vNodeName = "varListItem"; 
     502                                } 
     503                        } */ 
     504                        vHtmlChild = fctCreateElt.call(vHtmlDoc, vNodeName); 
     505                        copyAtts(vXmlNode, vHtmlChild); 
     506                } 
     507                break; 
     508        case "title" :   
     509                if(validOptTag(vXmlNode, this.fClasses.TITLE)) { 
     510                        vHtmlChild = fctCreateElt.call(vHtmlDoc, vXmlNode.localName); 
     511                        copyAtts(vXmlNode, vHtmlChild); 
     512                } 
     513                break; 
     514                 
     515        case "table" :   
     516                vHtmlChild = fctCreateElt.call(vHtmlDoc, vXmlNode.localName); 
     517                copyAtts(vXmlNode, vHtmlChild); 
     518                vHtmlChild = validRoleTag(vHtmlChild, this.fClasses.TABLE); 
     519                break; 
     520        case "caption" :  
     521                if(validOptTag(vXmlNode, this.fClasses.CAPTION)) { 
     522                        vHtmlChild = fctCreateElt.call(vHtmlDoc, vXmlNode.localName); 
     523                        copyAtts(vXmlNode, vHtmlChild); 
     524                } 
     525                break; 
     526        case "column" : 
     527                vHtmlChild = fctCreateElt.call(vHtmlDoc, "col"); 
     528                copyAtts(vXmlNode, vHtmlChild); 
     529                var vW = vXmlNode.getAttribute("width") || 50; 
     530                vHtmlChild.setAttribute("width", this.computeTDWidthFromScWidth(vW)); 
     531                vHtmlChild = validRoleTag(vHtmlChild, this.fClasses.COL); 
     532                vStopChildren = true; 
     533                break;  
     534        case "row" :  
     535                vHtmlChild = fctCreateElt.call(vHtmlDoc, "tr"); 
     536                copyAtts(vXmlNode, vHtmlChild); 
     537                vHtmlChild = validRoleTag(vHtmlChild, this.fClasses.TR); 
     538                break;  
     539        case "cell" :  
     540                vHtmlChild = fctCreateElt.call(vHtmlDoc, "td"); 
     541                copyAtts(vXmlNode, vHtmlChild); 
     542                var vVal = vXmlNode.getAttribute("rowSpan"); 
     543                if(vVal) vHtmlChild.setAttribute("rowSpan", vVal); 
     544                vVal = vXmlNode.getAttribute("colSpan"); 
     545                if(vVal) vHtmlChild.setAttribute("colSpan", vVal); 
     546                vHtmlChild = validRoleTag(vHtmlChild, this.fClasses.TD); 
     547                break;  
     548        case "extBlock" :        
     549                vHtmlChild = fctCreateElt.call(vHtmlDoc, vXmlNode.localName); 
     550                copyAtts(vXmlNode, vHtmlChild); 
     551                vHtmlChild = validRoleTag(vHtmlChild, this.fClasses.EXTBLOCK); 
     552                if(vHtmlChild) { 
     553                        var vRefUri = vXmlNode.getAttributeNS(SCNS, "refUri"); 
     554                        vHtmlChild.setAttribute("refUri", vRefUri); 
     555                        //this.loadExtBlock(vHtmlChild, vRefUri); 
     556                } 
     557                break; 
     558        case "captionBlock" :    
     559                if(validOptTag(vXmlNode, this.fClasses.CAPTIONBLOCK)) { 
     560                        vHtmlChild = fctCreateElt.call(vHtmlDoc, vXmlNode.localName); 
     561                        copyAtts(vXmlNode, vHtmlChild); 
     562                } 
     563                break; 
     564        case "emptyBlock" : 
     565                vHtmlChild = fctCreateElt.call(vHtmlDoc, vXmlNode.localName); 
     566                copyAtts(vXmlNode, vHtmlChild); 
     567                vHtmlChild = validRoleTag(vHtmlChild, this.fClasses.EMPTYBLOCK); 
     568                break; 
     569                 
     570                 
     571        // #### Balises inlines #### 
     572        case "phrase" : 
     573                if(validOptTag(vXmlNode, this.fClasses.PHRASE)) { 
     574                        vHtmlChild = fctCreateElt.call(vHtmlDoc, "phrase"); 
     575                        copyAtts(vXmlNode, vHtmlChild); 
     576                        if( ! vXmlNode.hasChildNodes()) vHtmlChild.appendChild(vHtmlDoc.createTextNode("")); 
     577                } 
     578                break; 
     579                 
     580        case "inlineStyle" : 
     581                if(validOptTag(vXmlNode, this.fClasses.INLINESTYLE)) { 
     582                        vHtmlChild = fctCreateElt.call(vHtmlDoc, "inlineStyle"); 
     583                        if(vXmlNode.hasAttribute("role")) vHtmlChild.setAttribute("role", vXmlNode.getAttribute("role")); 
     584                        if( ! vXmlNode.hasChildNodes()) vHtmlChild.appendChild(vHtmlDoc.createTextNode("")); 
     585                } 
     586                break; 
     587                 
     588        case "textLeaf" : 
     589                if(validOptTag(vXmlNode, this.fClasses.TEXTLEAF)) { 
     590                        vHtmlChild = fctCreateElt.call(vHtmlDoc, "textLeaf"); 
     591                        copyAtts(vXmlNode, vHtmlChild); 
     592                        if( ! vXmlNode.hasChildNodes()) vHtmlChild.appendChild(vHtmlDoc.createTextNode("")); 
     593                } 
     594                break; 
     595                 
     596        case "uLink" : 
     597                if(validOptTag(vXmlNode, this.fClasses.ULINK)) { 
     598                        vHtmlChild = fctCreateElt.call(vHtmlDoc, "uLink"); 
     599                        copyAtts(vXmlNode, vHtmlChild); 
     600                        if(vXmlNode.hasAttribute("url")) { 
     601                                vHtmlChild.setAttribute("url", vXmlNode.getAttribute("url")); 
     602                        } else { 
     603                                var vRefUri = vXmlNode.getAttributeNS(SCNS, "refUri"); 
     604                                vHtmlChild.setAttribute("refUri", vRefUri); 
     605                                this.loadULink(vHtmlChild, vRefUri); 
     606                        } 
     607                        if( ! vXmlNode.hasChildNodes()) vHtmlChild.appendChild(vHtmlDoc.createTextNode("")); 
     608                } 
     609                break; 
     610         
     611        case "inlineImg" : 
     612                if(validOptTag(vXmlNode, this.fClasses.IMG)) { 
     613                        var vIcon = fctCreateElt.call(vHtmlDoc, "img"); 
     614                        copyAtts(vXmlNode, vIcon); 
     615                        var vRefUri = vXmlNode.getAttributeNS(SCNS, "refUri"); 
     616                        vIcon.setAttribute("refUri", vRefUri); 
     617                        this.loadInlineImg(vIcon, vRefUri); 
     618                        //vIcon.setAttribute("src", vRefUri)); 
     619                        var vCh = vXmlNode.firstChild; 
     620                        var vText = ""; 
     621                        while(vCh) { 
     622                                if(vCh.nodeType == 3 || vXmlNode.nodeType == 4) vText += vCh.nodeValue; 
     623                                vCh = vCh.nextSibling; 
     624                        } 
     625                        if(vText) vIcon.setAttribute("text", vText); 
     626                        vHtmlNode.appendChild(vIcon); 
     627                } 
     628                vStopChildren = true; 
     629                break; 
     630         
     631        case "objectLeaf" : 
     632                if(validOptTag(vXmlNode, this.fClasses.OBJECTLEAF)) { 
     633                        var vObject = fctCreateElt.call(vHtmlDoc, "objectLeaf"); 
     634                        copyAtts(vXmlNode, vObject); 
     635                        var vRefUri = vXmlNode.getAttributeNS(SCNS, "refUri"); 
     636                        vObject.setAttribute("refUri", vRefUri); 
     637                        this.loadObjectLeaf(vObject, vRefUri); 
     638                        vHtmlNode.appendChild(vObject); 
     639                } 
     640                vStopChildren = true; 
     641                break; 
     642         
     643        case "emptyLeaf" : 
     644                if(validOptTag(vXmlNode, this.fClasses.EMPTYLEAF)) { 
     645                        var vObject = fctCreateElt.call(vHtmlDoc, "emptyLeaf"); 
     646                        copyAtts(vXmlNode, vObject); 
     647                        vHtmlNode.appendChild(vObject); 
     648                } 
     649                vStopChildren = true; 
     650                break; 
     651                 
     652        case "note" :  
     653                if(validOptTag(vXmlNode, this.fClasses.NOTE)) { 
     654                        vHtmlChild = fctCreateElt.call(vHtmlDoc, "note"); 
     655                        copyAtts(vXmlNode, vHtmlChild); 
     656                        this.loadNote(vHtmlChild, vXmlNode); 
     657                        vHtmlNode.appendChild(vHtmlChild); 
     658                        vHtmlChild = null; 
     659                } 
     660                vStopChildren = true; 
     661                break; 
     662        default : 
     663                try{this.warnTagsUnknown();}catch(e){}; 
     664                vStopChildren = true; 
     665} 
    653666                                                        } 
    654667                                                        if ( ! vStopChildren) { 
     
    812825                                } catch(e){ 
    813826                                        xed.debug("setObjectLeafProps :\n"+e); 
     827                                } 
     828                                ]]></body> 
     829                        </method> 
     830                         
     831                        <!-- Valide une note et affecte sa valeur. --> 
     832                        <method name="loadMeta"> 
     833                                <parameter name="pHtmlNode"/> 
     834                                <parameter name="pDomMeta"/> 
     835                                <body><![CDATA[ 
     836                                if(pDomMeta) { 
     837                                        var vHandle = { 
     838                                                handle:function(pOp, pKey, pData, pSrc, pDst){ 
     839                                                        if(pDst) pDst.setUserData("meta", pData, vHandle); 
     840                                                } 
     841                                        }; 
     842                                        pHtmlNode.setUserData("meta", pDomMeta, vHandle); 
     843                                        //xed.debug("loadNote:::"+xed.getXml(pDomMeta)); 
     844                                         
     845                                        //var vCh = pDomMeta.firstChild; 
     846                                        //while(vCh && vCh.nodeType != 1) vCh = vCh.nextSibling; 
     847                                        //if(! vCh || this.isXmlNodeEmpty(vCh)) { 
     848                                        //      pHtmlNode.setAttribute("error", "true"); 
     849                                        //} else { 
     850                                        //      //TODO validation de la dtd interne de la meta... 
     851                                        //      pHtmlNode.removeAttribute("error"); 
     852                                        //} 
     853                                        return; 
     854                                } 
     855                                //pHtmlNode.setAttribute("error", "true"); 
     856                                ]]></body> 
     857                        </method> 
     858                         
     859                        <!-- Affecte les meta d'un tag suite à leur édition. --> 
     860                        <method name="setMeta"> 
     861                                <parameter name="pHtmlNode"/> 
     862                                <parameter name="pDomMeta"/> 
     863                                <body><![CDATA[ 
     864                                try{ 
     865                                        xed.debug("pDomMeta:::"+xed.getXml(pDomMeta)); 
     866                                        var vTrans = {  fNode : pHtmlNode,  
     867                                                                        fXbl : this, 
     868                                                                        fOldValue : pHtmlNode.getUserData("meta"), 
     869                                                                        fNewValue : pDomMeta, 
     870                                                                        merge : function(pTrans){return false;}, 
     871                                                                        isTransient : false 
     872                                                                }; 
     873                                        vTrans.doTransaction = function(){ 
     874                                                this.fXbl.loadMeta(this.fNode, this.fNewValue); 
     875                                        }; 
     876                                        vTrans.undoTransaction = function(){ 
     877                                                this.fXbl.loadMeta(this.fNode, this.fOldValue); 
     878                                                this.fXbl.focusObject(this.fNode); 
     879                                        }; 
     880                                        vTrans.redoTransaction = function(){ 
     881                                                this.fXbl.loadMeta(this.fNode, this.fNewValue); 
     882                                                this.fXbl.focusObject(this.fNode); 
     883                                        }; 
     884                                        this.fHTMLEditor.doTransaction(vTrans); 
     885                                        this.fRichTextInput.setDirty(true); 
     886                                } catch(e){ 
     887                                        xed.debug("setMeta :\n"+e); 
    814888                                } 
    815889                                ]]></body> 
     
    11691243                                                        pXmlNode.setAttributeNS(SCNS, "sc:id", pHtmlNode.getAttribute("id")); 
    11701244                                                } 
     1245                                                //Meta... 
     1246                                                var vMeta = pHtmlNode.getUserData("meta"); 
     1247                                                if(vMeta) { 
     1248                                                        //xed.debug("Meta to save : "+xed.getXml(vMeta)); 
     1249                                                        pXmlNode.appendChild(pXmlNode.ownerDocument.importNode(vMeta, true)); 
     1250                                                } 
     1251                                                 
    11711252                                        } 
    11721253                                         
     
    23242405                                                var vStructNode = this.fClasses[vNewNode.nodeName].getStructuralNodes(vNewNode); 
    23252406                                                if(vStructNode.hasLinkEditor) { 
    2326                                                         this.openSubWindowEditor(this.fClasses[vNewNode.nodeName].getUrlLinkEditor(vNewNode), vNewNode); 
     2407                                                        this.openSubWindowEditor(vStructNode.urlLinkEditor, vNewNode); 
    23272408                                                } else if(vStructNode.hasSubEditor) { 
    2328                                                         this.openSubWindowEditor(this.fClasses[vNewNode.nodeName].getUrlSubEditor(vNewNode), vNewNode); 
     2409                                                        this.openSubWindowEditor(vStructNode.urlSubEditor, vNewNode); 
    23292410                                                } 
    23302411                                        } 
     
    29633044                                                var vStructNode = this.fClasses[vNewNode.nodeName].getStructuralNodes(vNewNode); 
    29643045                                                if(vStructNode.hasLinkEditor) { 
    2965                                                         this.openSubWindowEditor(this.fClasses[vNewNode.nodeName].getUrlLinkEditor(vNewNode), vNewNode); 
     3046                                                        this.openSubWindowEditor(vStructNode.urlLinkEditor, vNewNode); 
    29663047                                                } else if(vStructNode.hasSubEditor) { 
    2967                                                         this.openSubWindowEditor(this.fClasses[vNewNode.nodeName].getUrlSubEditor(vNewNode), vNewNode); 
     3048                                                        this.openSubWindowEditor(vStructNode.urlSubEditor, vNewNode); 
    29683049                                                } 
    29693050                                        } 
     
    32943375                                                if(pTag=="extBlock" && !pUriItem) { 
    32953376                                                        var vNewNode = vRes.startContainer.childNodes[vRes.startOffset]; 
    3296                                                         this.openSubWindowEditor(this.fClasses[vNewNode.nodeName].getUrlLinkEditor(vNewNode), vNewNode); 
     3377                                                        var vStructNode = this.fClasses[vNewNode.nodeName].getStructuralNodes(vNewNode); 
     3378                                                        this.openSubWindowEditor(vStructNode.urlLinkEditor, vNewNode); 
    32973379                                                } 
    32983380                                        } 
     
    49795061                                                        if("getStructuralNodes" in vParentClass) { 
    49805062                                                                if(!pPopup) return vParent; //Eval non null seulement. 
    4981                                                                 var vStrucNode = vParentClass.getStructuralNodes(vParent); 
     5063                                                                var vStructNode = vParentClass.getStructuralNodes(vParent); 
    49825064                                                                var vItem = document.createElementNS(XULNS, "menuitem"); 
    4983                                                                 vItem.setAttribute("label", vStrucNode.title); 
     5065                                                                vItem.setAttribute("label", vStructNode.title); 
    49845066                                                                pPopup.appendChild(vItem); 
    4985                                                                 vItem.fHtmlNode = vParent; 
    4986                                                                 vItem.fStrucNode = vStrucNode; //Pour post-traitement menu contextuel 
     5067                                                                vItem.fStructNode = vStructNode; 
    49875068                                                        } 
    49885069                                                        vParent = vParent.parentNode; 
     
    49955076                                                        try{ 
    49965077                                                                pEvent.stopPropagation(); 
    4997                                                                 sXbl.removeParent(pEvent.originalTarget.fHtmlNode); 
     5078                                                                sXbl.removeParent(pEvent.originalTarget.fStructNode._node); 
    49985079                                                        }catch(e){xed.debug(e);} 
    49995080                                                }, false); 
     
    50135094                                                var vParentClass = this.fClasses[vParent.nodeName]; 
    50145095                                                if(vParentClass.type==0) break; 
    5015                                                 if("getUrlLinkEditor" in vParentClass) { 
    5016                                                         var vUrl = vParentClass.getUrlLinkEditor(vParent); 
    5017                                                         if(vUrl) { 
     5096                                                if("getStructuralNodes" in vParentClass) { 
     5097                                                        var vStructNode = vParentClass.getStructuralNodes(vParent); 
     5098                                                        if(vStructNode && vStructNode.hasLinkEditor) { 
    50185099                                                                if(!pPopup) return true; //Eval non null seulement. 
    5019                                                                 var vStrucNode = vParentClass.getStructuralNodes(vParent); 
    50205100                                                                var vItem = document.createElementNS(XULNS, "menuitem"); 
    5021                                                                 vItem.setAttribute("label", vStrucNode.title); 
     5101                                                                vItem.setAttribute("label", vStructNode.title); 
    50225102                                                                pPopup.appendChild(vItem); 
    5023                                                                 vItem.fHtmlNode = vParent; 
     5103                                                                vItem.fStructNode = vStructNode; 
    50245104                                                        } 
    50255105                                                } 
     
    50315111                                                        try{ 
    50325112                                                                pEvent.stopPropagation(); 
    5033                                                                 var vNode = pEvent.originalTarget.fHtmlNode; 
    5034                                                                 sXbl.openSubWindowEditor(sXbl.fClasses[vNode.nodeName].getUrlLinkEditor(vNode), vNode); 
     5113                                                                var vStructNode = pEvent.originalTarget.fStructNode; 
     5114                                                                sXbl.openSubWindowEditor(vStructNode.urlLinkEditor, vStructNode._node); 
    50355115                                                        }catch(e){xed.debug("buildLinkPopup.open"+e);} 
    50365116                                                }, false); 
     
    50445124                        si pPopup est null ne fait que évaluer si le popup ne sera pas vide. 
    50455125                        --> 
    5046                         <method name="buildPropertiesPopup"> 
     5126                        <method name="buildMetaPopup"> 
    50475127                                <parameter name="pPopup"/> 
    50485128                                <body><![CDATA[ 
     
    50515131                                                var vParentClass = this.fClasses[vParent.nodeName]; 
    50525132                                                if(vParentClass.type==0) break; 
    5053                                                 if("getUrlSubEditor" in vParentClass) { 
    5054                                                         var vUrl = vParentClass.getUrlSubEditor(vParent); 
    5055                                                         if(vUrl) { 
     5133                                                if("getStructuralNodes" in vParentClass) { 
     5134                                                        var vStructNode = vParentClass.getStructuralNodes(vParent); 
     5135                                                        if(vStructNode && vStructNode.hasSubEditor) { 
    50565136                                                                if(!pPopup) return true; //Eval non null seulement. 
    5057                                                                 var vStrucNode = vParentClass.getStructuralNodes(vParent); 
    50585137                                                                var vItem = document.createElementNS(XULNS, "menuitem"); 
    5059                                                                 vItem.setAttribute("label", vStrucNode.title); 
     5138                                                                vItem.setAttribute("label", vStructNode.title); 
    50605139                                                                pPopup.appendChild(vItem); 
    5061                                                                 vItem.fHtmlNode = vParent; 
     5140                                                                vItem.fStructNode = vStructNode; 
    50625141                                                        } 
    50635142                                                } 
     
    50695148                                                        try{ 
    50705149                                                                pEvent.stopPropagation(); 
    5071                                                                 var vNode = pEvent.originalTarget.fHtmlNode; 
    5072                                                                 sXbl.openSubWindowEditor(sXbl.fClasses[vNode.nodeName].getUrlSubEditor(vNode), vNode); 
    5073                                                         }catch(e){xed.debug("buildPropertiesPopup.open"+e);} 
     5150                                                                var vStructNode = pEvent.originalTarget.fStructNode; 
     5151                                                                sXbl.openSubWindowEditor(vStructNode.urlSubEditor, vStructNode._node); 
     5152                                                        }catch(e){xed.debug("buildMetaPopup.open"+e);} 
    50745153                                                }, false); 
    50755154                                                pPopup.fFirstTimeOk = true; 
     
    68056884                                <body> 
    68066885                                try{ 
    6807                                         this.openSubWindowEditor(this.fClasses[pStructNode._node.nodeName].getUrlLinkEditor(pStructNode._node), pStructNode._node); 
     6886                                        this.openSubWindowEditor(pStructNode.urlLinkEditor, pStructNode._node); 
    68086887                                }catch(e){xed.debug("openLinkEditor::"+e);} 
    68096888                                </body> 
     
    68146893                                <body> 
    68156894                                try{ 
    6816                                         this.openSubWindowEditor(this.fClasses[pStructNode._node.nodeName].getUrlSubEditor(pStructNode._node), pStructNode._node); 
     6895                                        this.openSubWindowEditor(pStructNode.urlSubEditor, pStructNode._node); 
    68176896                                }catch(e){xed.debug("openSubEditor::"+e);} 
    68186897                                </body> 
     
    71857264                                ]]></body> 
    71867265                        </method> 
    7187                         <method name="action_showProperties"> 
     7266                        <method name="action_showMeta"> 
    71887267                                <parameter name="pParentNode" /> 
    71897268                                <parameter name="pTitle" /> 
     
    72027281                                                        var vPopup = pEvent.target; 
    72037282                                                        while(vPopup.hasChildNodes()) vPopup.removeChild(vPopup.lastChild); 
    7204                                                         this.fXbl.buildPropertiesPopup(vPopup); 
     7283                                                        this.fXbl.buildMetaPopup(vPopup); 
    72057284                                                        if( ! vPopup.hasChildNodes()) return false; 
    7206                                                 }catch(e){xed.debug("action_showProperties:"+e);} 
     7285                                                }catch(e){xed.debug("action_showMeta:"+e);} 
    72077286                                        }, 
    72087287                                        refresh: function(pElt, pCtx){ 
    7209                                                 if(this.fXbl.buildPropertiesPopup()) { 
     7288                                                if(this.fXbl.buildMetaPopup()) { 
    72107289                                                        if(pElt.localName=="menu") { 
    72117290                                                                pElt.removeAttribute("hidden"); 
     
    77887867                                                var vObj = pEvent.target; 
    77897868                                                if(vObj.nodeType==1 && this.fClasses[vObj.nodeName].isHighlightable) { 
    7790                                                         var vSubEd = this.fClasses[vObj.nodeName].getUrlLinkEditor(vObj); 
    7791                                                         if(vSubEd) { 
    7792                                                                 this.openSubWindowEditor(this.fClasses[vObj.nodeName].getUrlLinkEditor(vObj), vObj); 
    7793                                                         } else { 
    7794                                                                 vSubEd = this.fClasses[vObj.nodeName].getUrlSubEditor(vObj); 
    7795                                                                 this.openSubWindowEditor(this.fClasses[vObj.nodeName].getUrlSubEditor(vObj), vObj); 
     7869                                                        var vStructNode = this.fClasses[vObj.nodeName].getStructuralNodes(vObj); 
     7870                                                        if(vStructNode.hasLinkEditor) { 
     7871                                                                this.openSubWindowEditor(vStructNode.urlLinkEditor, vObj); 
     7872                                                        } else if(vStructNode.hasSubEditor){ 
     7873                                                                this.openSubWindowEditor(vStructNode.urlSubEditor, vObj); 
    77967874                                                        } 
    77977875                                                } 
Note: See TracChangeset for help on using the changeset viewer.