Componente Tree (árbol)
Estoy empezando a trabajar con los nuevos componentes de Flash MX 2004.
Hoy, un poco también para probar su supuesta facilidad de uso, he hecho la pequeña "aplicación" de enlaces que podeis ver en la parte derecha.
Y efectivamente, ha sido rápido y fácil:
_global.style.setStyle("fontSize", 12);
myTree.setStyle("color", 0x999966);
myTree.setStyle("borderStyle","solid");
myTree.setStyle("themeColor", "haloBlue");
// carga y asignacion de contenido
myTreeDataProvider = new XML();
myTreeDataProvider.ignoreWhite = true;
myTreeDataProvider.onLoad = function(){
myTree.dataProvider = myTreeDataProvider;
}
myTreeDataProvider.load("/enlaces/tree.xml");
myTreeListener = new Object();
myTreeListener.tree = myTree;
//Listener para el evento change del arbol
//Quiero desplegar nodos al seleccionarlos
myTreeListener.change = function(eventObject){
var theSelectedNode = eventObject.target.selectedNode;
var theSelectedNodeLabel = theSelectedNode.attributes.label;
var esLink = theSelectedNode.attributes.isLink;
var esBranch = this.tree.getIsBranch(theSelectedNode)
if (esBranch){
if (this.tree.getIsOpen(theSelectedNode)){
this.tree.setIsOpen(theSelectedNode, false, true);
}else{
this.tree.setIsOpen(theSelectedNode, true, true);
}
}else{
if (esLink){
var theSelectedNodeURL = theSelectedNode.attributes.url;
//trace("url " + theSelectedNodeURL);
getURL(theSelectedNodeURL, "_blank");
}
}
}
myTree.addEventListener("change", myTreeListener);
stop();
Dos cosas a tener en cuenta: evidentemente, el nombre de instancia del componente es myTree; y podeis ver el formato que tiene el xml cargándolo desde el Internet Explorer
Comentarios
Es muy interesante lo que ha hecho, especialmente
estoy interasado en como puso el atributo URL a ciertos nodos de su árbol, pero viene mi pregunta, ¿como se puede crear varias carpetas al mismo nivel , y como puedo hacer para que el nodo tenga un label pero un url funcional distinto?
Publicado por: galo hernandez | Enero 20, 2004 03:39 PM
Saludos, Galo:
La estructura del árbol viene dada por el formato del XML del que carga los datos.
Si ejecutas en un navegador la siguiente dirección:
http://www.design-nation.net/enlaces/tree.xml
y ves el código fuente, verás cómo está estructurado el árbol. Creo que lo entenderás enseguida.
Publicado por: Cesar Tardaguila | Enero 20, 2004 10:48 PM
como se muestran y ocultan las barras de desplazamiento del tree ?
Publicado por: Javier | Mayo 4, 2004 12:12 PM
La barra de scroll la maneja el propio componente.
Hay una propiedad del tree que se llama vScrollPolicy, que tiene tres posibles valores: "on", "off", o "auto". El valor "on" hace que siempre se reserve el espacio para la barra aunque no sea necesario, y "auto" hace que en principio no se muestre dicho espacio, pero la barra se mostrará cuando sea necesario.
Publicado por: Cesar Tardaguila | Mayo 4, 2004 12:18 PM