PDA

View Full Version : Flash 8 Tree Component Question


estudioworks
03-07-2006, 02:28 AM
Ok I figured out the Tree Component no problem, but I want my tree menu to be fully open when my site loads. I know I'm supposed to use setIsOpen() but I'm not sure of the parameters. Any ideas ?

Here is the AS for my tree:


var xml:XML = new XML();
xml.ignoreWhite = true;

xml.onLoad = function() {
theTree.dataProvider = this.firstChild;
}

xml.load("tree_frame.xml");

var treeL:Object = new Object();
treeL.change = function() {
var item = theTree.selectedItem;
var frame = item.attributes.frame
if(frame) {
gotoAndStop(frame);
}
}

theTree.addEventListener("change",treeL);




Here is my XML:


<tree>

<folder label="THE MENU">
<link label="Home" frame="logo" />
<link label="About" frame="about" />
<link label="Portfolio" frame="portfolio" />
<link label="Services" frame="services" />
<link label="Contact" frame="contact" />
<folder label="FLASH 8">
<link label="Tutorials" frame="tutorials" />
<link label="Examples" frame="examples" />
</folder>
<folder label="CLIENTS">
<link label="Your Settings" frame="settings" />
<link label="Login" frame="login" />
</folder>
</folder>
</tree>

AlladinYYC
03-07-2006, 03:31 AM
I believe it's treeInstance.setIsOpen(treeNode, true);

I don't believe there is a way to open them all automatically, therefore when creating my tree data source i named all my nodes so that i would be able to open them in a loop... same thing for icons ;)



for (var i = 0; i <= treeContentXML.childNodes.length; i++) {
XMLDataTree.setIcon(this["moduleTreeNode_" + i], "fileIcon");
XMLDataTree.setIsOpen(this["moduleTreeNode_" + i], true);
}
XMLDataTree.dataProvider = treeContentXML;

estudioworks
03-07-2006, 03:33 AM
Thanks, I'll give it a try !!

reyco1
03-07-2006, 04:03 AM
put this in your "onLoad" code block:


theNodes = this.firstChild.childNodes;
for (q=0; q<theNodes.length; q++) {
theTree.setIsOpen(theNodes[q], true);
}