Changeset 13657 for trunk/Xul_XedLib/chrome/content/scenarixedlib/libUiExtra/scRichText/textBase.xbl.xml
- Timestamp:
- 08/04/09 19:09:44 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Xul_XedLib/chrome/content/scenarixedlib/libUiExtra/scRichText/textBase.xbl.xml
r13648 r13657 449 449 var vHtmlChild = null; 450 450 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:" 463 switch(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 } 653 666 } 654 667 if ( ! vStopChildren) { … … 812 825 } catch(e){ 813 826 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); 814 888 } 815 889 ]]></body> … … 1169 1243 pXmlNode.setAttributeNS(SCNS, "sc:id", pHtmlNode.getAttribute("id")); 1170 1244 } 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 1171 1252 } 1172 1253 … … 2324 2405 var vStructNode = this.fClasses[vNewNode.nodeName].getStructuralNodes(vNewNode); 2325 2406 if(vStructNode.hasLinkEditor) { 2326 this.openSubWindowEditor( this.fClasses[vNewNode.nodeName].getUrlLinkEditor(vNewNode), vNewNode);2407 this.openSubWindowEditor(vStructNode.urlLinkEditor, vNewNode); 2327 2408 } else if(vStructNode.hasSubEditor) { 2328 this.openSubWindowEditor( this.fClasses[vNewNode.nodeName].getUrlSubEditor(vNewNode), vNewNode);2409 this.openSubWindowEditor(vStructNode.urlSubEditor, vNewNode); 2329 2410 } 2330 2411 } … … 2963 3044 var vStructNode = this.fClasses[vNewNode.nodeName].getStructuralNodes(vNewNode); 2964 3045 if(vStructNode.hasLinkEditor) { 2965 this.openSubWindowEditor( this.fClasses[vNewNode.nodeName].getUrlLinkEditor(vNewNode), vNewNode);3046 this.openSubWindowEditor(vStructNode.urlLinkEditor, vNewNode); 2966 3047 } else if(vStructNode.hasSubEditor) { 2967 this.openSubWindowEditor( this.fClasses[vNewNode.nodeName].getUrlSubEditor(vNewNode), vNewNode);3048 this.openSubWindowEditor(vStructNode.urlSubEditor, vNewNode); 2968 3049 } 2969 3050 } … … 3294 3375 if(pTag=="extBlock" && !pUriItem) { 3295 3376 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); 3297 3379 } 3298 3380 } … … 4979 5061 if("getStructuralNodes" in vParentClass) { 4980 5062 if(!pPopup) return vParent; //Eval non null seulement. 4981 var vStruc Node = vParentClass.getStructuralNodes(vParent);5063 var vStructNode = vParentClass.getStructuralNodes(vParent); 4982 5064 var vItem = document.createElementNS(XULNS, "menuitem"); 4983 vItem.setAttribute("label", vStruc Node.title);5065 vItem.setAttribute("label", vStructNode.title); 4984 5066 pPopup.appendChild(vItem); 4985 vItem.fHtmlNode = vParent; 4986 vItem.fStrucNode = vStrucNode; //Pour post-traitement menu contextuel 5067 vItem.fStructNode = vStructNode; 4987 5068 } 4988 5069 vParent = vParent.parentNode; … … 4995 5076 try{ 4996 5077 pEvent.stopPropagation(); 4997 sXbl.removeParent(pEvent.originalTarget.f HtmlNode);5078 sXbl.removeParent(pEvent.originalTarget.fStructNode._node); 4998 5079 }catch(e){xed.debug(e);} 4999 5080 }, false); … … 5013 5094 var vParentClass = this.fClasses[vParent.nodeName]; 5014 5095 if(vParentClass.type==0) break; 5015 if("get UrlLinkEditor" in vParentClass) {5016 var v Url = vParentClass.getUrlLinkEditor(vParent);5017 if(v Url) {5096 if("getStructuralNodes" in vParentClass) { 5097 var vStructNode = vParentClass.getStructuralNodes(vParent); 5098 if(vStructNode && vStructNode.hasLinkEditor) { 5018 5099 if(!pPopup) return true; //Eval non null seulement. 5019 var vStrucNode = vParentClass.getStructuralNodes(vParent);5020 5100 var vItem = document.createElementNS(XULNS, "menuitem"); 5021 vItem.setAttribute("label", vStruc Node.title);5101 vItem.setAttribute("label", vStructNode.title); 5022 5102 pPopup.appendChild(vItem); 5023 vItem.f HtmlNode = vParent;5103 vItem.fStructNode = vStructNode; 5024 5104 } 5025 5105 } … … 5031 5111 try{ 5032 5112 pEvent.stopPropagation(); 5033 var v Node = 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); 5035 5115 }catch(e){xed.debug("buildLinkPopup.open"+e);} 5036 5116 }, false); … … 5044 5124 si pPopup est null ne fait que évaluer si le popup ne sera pas vide. 5045 5125 --> 5046 <method name="build PropertiesPopup">5126 <method name="buildMetaPopup"> 5047 5127 <parameter name="pPopup"/> 5048 5128 <body><![CDATA[ … … 5051 5131 var vParentClass = this.fClasses[vParent.nodeName]; 5052 5132 if(vParentClass.type==0) break; 5053 if("get UrlSubEditor" in vParentClass) {5054 var v Url = vParentClass.getUrlSubEditor(vParent);5055 if(v Url) {5133 if("getStructuralNodes" in vParentClass) { 5134 var vStructNode = vParentClass.getStructuralNodes(vParent); 5135 if(vStructNode && vStructNode.hasSubEditor) { 5056 5136 if(!pPopup) return true; //Eval non null seulement. 5057 var vStrucNode = vParentClass.getStructuralNodes(vParent);5058 5137 var vItem = document.createElementNS(XULNS, "menuitem"); 5059 vItem.setAttribute("label", vStruc Node.title);5138 vItem.setAttribute("label", vStructNode.title); 5060 5139 pPopup.appendChild(vItem); 5061 vItem.f HtmlNode = vParent;5140 vItem.fStructNode = vStructNode; 5062 5141 } 5063 5142 } … … 5069 5148 try{ 5070 5149 pEvent.stopPropagation(); 5071 var v Node = pEvent.originalTarget.fHtmlNode;5072 sXbl.openSubWindowEditor( sXbl.fClasses[vNode.nodeName].getUrlSubEditor(vNode), vNode);5073 }catch(e){xed.debug("build PropertiesPopup.open"+e);}5150 var vStructNode = pEvent.originalTarget.fStructNode; 5151 sXbl.openSubWindowEditor(vStructNode.urlSubEditor, vStructNode._node); 5152 }catch(e){xed.debug("buildMetaPopup.open"+e);} 5074 5153 }, false); 5075 5154 pPopup.fFirstTimeOk = true; … … 6805 6884 <body> 6806 6885 try{ 6807 this.openSubWindowEditor( this.fClasses[pStructNode._node.nodeName].getUrlLinkEditor(pStructNode._node), pStructNode._node);6886 this.openSubWindowEditor(pStructNode.urlLinkEditor, pStructNode._node); 6808 6887 }catch(e){xed.debug("openLinkEditor::"+e);} 6809 6888 </body> … … 6814 6893 <body> 6815 6894 try{ 6816 this.openSubWindowEditor( this.fClasses[pStructNode._node.nodeName].getUrlSubEditor(pStructNode._node), pStructNode._node);6895 this.openSubWindowEditor(pStructNode.urlSubEditor, pStructNode._node); 6817 6896 }catch(e){xed.debug("openSubEditor::"+e);} 6818 6897 </body> … … 7185 7264 ]]></body> 7186 7265 </method> 7187 <method name="action_show Properties">7266 <method name="action_showMeta"> 7188 7267 <parameter name="pParentNode" /> 7189 7268 <parameter name="pTitle" /> … … 7202 7281 var vPopup = pEvent.target; 7203 7282 while(vPopup.hasChildNodes()) vPopup.removeChild(vPopup.lastChild); 7204 this.fXbl.build PropertiesPopup(vPopup);7283 this.fXbl.buildMetaPopup(vPopup); 7205 7284 if( ! vPopup.hasChildNodes()) return false; 7206 }catch(e){xed.debug("action_show Properties:"+e);}7285 }catch(e){xed.debug("action_showMeta:"+e);} 7207 7286 }, 7208 7287 refresh: function(pElt, pCtx){ 7209 if(this.fXbl.build PropertiesPopup()) {7288 if(this.fXbl.buildMetaPopup()) { 7210 7289 if(pElt.localName=="menu") { 7211 7290 pElt.removeAttribute("hidden"); … … 7788 7867 var vObj = pEvent.target; 7789 7868 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); 7796 7874 } 7797 7875 }
Note: See TracChangeset
for help on using the changeset viewer.