From: Anne Durand (anne.liste@gamsau.map.archi.fr)
Date: 13/02/2004 - 10:03
Bonjour
J'espère que cette liste est le bon endroit pour poster ce genre de
problème. Mon but final est de représenter un fichier xml sous forme d'un
arbre SVG cliquable.
Pour faire mes tests je crée un arbre dans la fonction init lancée au
chargement du fichier svg :
function svgInit(e)
{
svgdoc = e.getTarget().getOwnerDocument();
gContent = svgdoc.getElementById("gContent");
rootNode=svgdoc.createElement("g");
rootNode.setAttribute("cursor", "link") ;
gContent.appendChild(rootNode);
for (i=0;i<lengthSvgData;i++)
{
firstNode = createTextNode ("node"+i, "10", i*20,
colorText+allText+normalText, "noeud"+i, rootNode) ;
firstNode.setAttribute("onclick","expand (evt, '"+i+"');");
groupNode = svgdoc.createElement("g");
groupNode.setAttribute("visibility","visible");
firstNode.appendChild(groupNode) ;
childNode = createTextNode ("fils"+i, "110", i*20,
colorText+allText+smallText, "fils-"+i, groupNode) ;
}
}
//
----------------------------------------------------------------------------------------------------------------------------------------------
// creation of an svg text tag
function createTextNode (id, x, y, style, textValue, parentNode)
{
sLnode=svgdoc.createElement("text");
if (id != "") { sLnode.setAttribute("id",id) ; }
sLnode.setAttribute("x", x);
sLnode.setAttribute("y", y);
sLnode.setAttribute("style", style);
sLselectionText = svgdoc.createTextNode(textValue) ;
sLnode.appendChild(sLselectionText) ;
parentNode.appendChild(sLnode);
return sLnode ;
}
Les noeufs fils-i ne sont affichés que si j'indique rootNode comme parent.
Or, j'ai besoin d'un groupe noeud g groupNode pour pouvoir les afficher ou
les masquer.
Voyez-vous d'où vient ce problème d'accrochage?
Merci beaucoup
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:05 UTC
webmaster@xmlfr.org
|