Changeset 12916


Ignore:
Timestamp:
02/28/09 23:37:26 (3 years ago)
Author:
sys
Message:

textPrim editor : menu supplémentaire "Ouvrir cet item" pour uLink, objectLeaf, inlineImg, extBlock

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Wsp_Modeling/spaces/gen/modelBuilder/bs.doss/sm_textPrim/xedUi/text.xbl.xml.xsl

    r12840 r12916  
    19001900                                                vInsertMenu.setAttribute("disabled", "true"); 
    19011901                                        } 
    1902                                         //Menu suppression inline + propriétés 
     1902                                        //Menu suppression inline 
    19031903                                        var vRemovePopup = document.createElementNS(XULNS, "menupopup"); 
    19041904                                        this.fRichTextZone.buildRemoveInlinePopup(vRemovePopup); 
     
    19071907                                                vRemoveMenu.setAttribute("label", "Eliminer une balise du paragraphe..."); 
    19081908                                                vRemoveMenu.appendChild(vRemovePopup); 
    1909                                                 //Propriétés... 
     1909                                        } 
     1910                                        //Ouvrir cet item 
     1911                                        var vNode = this.fRichTextZone.getSelectedNode(); 
     1912                                        if(vNode && vNode.nodeType==3) vNode = vNode.parentNode; 
     1913                                        if(vNode && vNode.getAttribute("refUri")) { 
     1914                                                pPopup.appendChild(document.createElementNS(XULNS, "menuseparator")); 
     1915                                                var vItem = document.createElementNS(XULNS, "menuitem"); 
     1916                                                vItem.setAttribute("label", "Ouvrir cet item..."); 
     1917                                                vItem.setAttribute("value", "openItem"); 
     1918                                                vItem.fHtmlNode = vNode; 
     1919                                                pPopup.appendChild(vItem); 
     1920                                        } 
     1921                                        //Propriétés des balises inlines 
     1922                                        if(vRemovePopup.hasChildNodes()) { 
    19101923                                                var vFirst = true; 
    1911                                                 var vItemRem = vRemovePopup.firstChild; 
     1924                                                vItemRem = vRemovePopup.firstChild; 
    19121925                                                while(vItemRem) { 
    19131926                                                        if(vItemRem.fStrucNode.hasSubEditor) { 
     
    19641977                                                } else if(vValue == "removeParent") { 
    19651978                                                        this.fRichTextZone.removeParent(pEvent.originalTarget.fHtmlNode); 
     1979                                                } else if(vValue == "openItem") { 
     1980                                                        var vUriObjectBase = ut.searchUriObject(this); 
     1981                                                        var vNode = pEvent.originalTarget.fHtmlNode; 
     1982                                                        var vUriItem = ut.getUriFromItemPath(ut.getWspFromUri(vUriObjectBase.getUri()), vNode.getAttribute("refUri")); 
     1983                                                        window.desk.loadUriObjectByUri(vUriObjectBase.getDataProvider(), vUriItem, ";newtab;"); 
    19661984                                                } 
    19671985                                        } 
  • trunk/Xul_XedLib/chrome/content/scenarixedlib/libUiExtra/scRichText/textBase.xbl.xml

    r12915 r12916  
    36293629                                ]]></body> 
    36303630                        </method> 
     3631                        <!-- Recherche le noeud sélectionné pour calculer les actions actives des menus contextuels. --> 
     3632                        <method name="getSelectedNode"> 
     3633                                <body><![CDATA[ 
     3634                                        var vSel = this.fHTMLEditor.selection; 
     3635                                        if(vSel.rangeCount == 1) { 
     3636                                                var vRange = vSel.getRangeAt(0); 
     3637                                                if( vRange.startContainer.nodeType==1  
     3638                                                        && vRange.startContainer == vRange.endContainer  
     3639                                                        && Math.abs(vRange.endOffset - vRange.startOffset)==1 
     3640                                                        ) { 
     3641                                                        return vRange.startContainer.childNodes[vRange.startOffset]; 
     3642                                                } else { 
     3643                                                        return vRange.commonAncestorContainer; 
     3644                                                } 
     3645                                        } 
     3646                                        return null; 
     3647                                ]]></body> 
     3648                        </method> 
    36313649                        <!-- Popup menu des suppressions inline  
    36323650                        si pPopup est null ne fait que évaluer si il y a des balises à suppr et retourne le 1er noeud parent. 
     
    36353653                                <parameter name="pPopup"/> 
    36363654                                <body><![CDATA[ 
    3637                                         var vSel = this.fHTMLEditor.selection; 
    3638                                         if(vSel.rangeCount == 1) { 
    3639                                                 var vRange = vSel.getRangeAt(0); 
    3640                                                 var vParent; 
    3641                                                 if( vRange.startContainer.nodeType==1  
    3642                                                         && vRange.startContainer == vRange.endContainer  
    3643                                                         && Math.abs(vRange.endOffset - vRange.startOffset)==1 
    3644                                                         ) { 
    3645                                                         vParent = vRange.startContainer.childNodes[vRange.startOffset]; 
    3646                                                 } else { 
    3647                                                         vParent = vRange.commonAncestorContainer; 
    3648                                                 } 
    3649                                                  
    3650                                                 //Menu de suppression des parents 
    3651                                                 if(vParent && this.fClasses[vParent.nodeName].isInlineSibling) { 
    3652                                                         var vParentClass = this.fClasses[vParent.nodeName]; 
    3653                                                         while(vParent && vParentClass.isInlineSibling) { 
    3654                                                                 if("getStructuralNodes" in vParentClass) { 
    3655                                                                         if(!pPopup) return vParent; //Eval non null seulement. 
    3656                                                                         var vStrucNode = vParentClass.getStructuralNodes(vParent); 
    3657                                                                         var vItem = document.createElementNS(XULNS, "menuitem"); 
    3658                                                                         vItem.setAttribute("label", vStrucNode.title); 
    3659                                                                         vItem.setAttribute("value", "removeParent"); 
    3660                                                                         pPopup.appendChild(vItem); 
    3661                                                                         vItem.fHtmlNode = vParent; 
    3662                                                                         vItem.fStrucNode = vStrucNode; //Pour post-traitement menu contextuel 
    3663                                                                 } 
    3664                                                                 vParent = vParent.parentNode; 
    3665                                                                 vParentClass = this.fClasses[vParent.nodeName]; 
    3666                                                         } 
     3655                                        var vParent = this.getSelectedNode(); 
     3656                                        //Menu de suppression des parents 
     3657                                        if(vParent && this.fClasses[vParent.nodeName].isInlineSibling) { 
     3658                                                var vParentClass = this.fClasses[vParent.nodeName]; 
     3659                                                while(vParent && vParentClass.isInlineSibling) { 
     3660                                                        if("getStructuralNodes" in vParentClass) { 
     3661                                                                if(!pPopup) return vParent; //Eval non null seulement. 
     3662                                                                var vStrucNode = vParentClass.getStructuralNodes(vParent); 
     3663                                                                var vItem = document.createElementNS(XULNS, "menuitem"); 
     3664                                                                vItem.setAttribute("label", vStrucNode.title); 
     3665                                                                vItem.setAttribute("value", "removeParent"); 
     3666                                                                pPopup.appendChild(vItem); 
     3667                                                                vItem.fHtmlNode = vParent; 
     3668                                                                vItem.fStrucNode = vStrucNode; //Pour post-traitement menu contextuel 
     3669                                                        } 
     3670                                                        vParent = vParent.parentNode; 
     3671                                                        vParentClass = this.fClasses[vParent.nodeName]; 
    36673672                                                } 
    36683673                                        } 
Note: See TracChangeset for help on using the changeset viewer.