<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mariush T. - Freelance Flex/PureMVC Developer - blog &#187; tree</title>
	<atom:link href="http://mariusht.com/blog/tag/tree/feed/" rel="self" type="application/rss+xml" />
	<link>http://mariusht.com/blog</link>
	<description>A blog about Flex Development.</description>
	<lastBuildDate>Wed, 21 Apr 2010 13:22:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Auto select New Item in Tree component</title>
		<link>http://mariusht.com/blog/2009/04/19/auto-select-new-item-in-tree-component/</link>
		<comments>http://mariusht.com/blog/2009/04/19/auto-select-new-item-in-tree-component/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 17:12:10 +0000</pubDate>
		<dc:creator>Mariush T.</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[tree]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://mariusht.com/blog/?p=249</guid>
		<description><![CDATA[There are plenty examples out there on how to add and remove leaf nodes from a Tree control at run time, one of my favorite is Working with tree controls tutorial by Adobe.
Now it&#8217;s time to learn more advanced stuff: auto select for new created item. This would be very easy to accomplish with List control. You would probably use [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://mariusht.com/files/blog/autoselect_new_item_in_tree/preview.jpg" alt="" width="297" height="292" />There are plenty examples out there on how to add and remove leaf nodes from a Tree control at run time, one of my favorite is <a href="Working with Tree controls">Working with tree controls</a> tutorial by Adobe.</p>
<p>Now it&#8217;s time to learn more advanced stuff: <strong>auto select for new created item</strong>. This would be very easy to accomplish with List control. You would probably use ArrayCollection as a dataProvider, call addItem(item:Object), keep track of that item index, and then use list.selectedIndex = index. </p>
<p>Unfortunately this is not easy with Tree control. Tree control could have opened and closed nodes. If the nodes in the tree control are collapsed, the selectedIndex is different than when all the nodes are expanded. <strong>Instead of using selectedIndex you want to loop through all nodes to find a</strong><strong> new item&#8217;s index</strong>.</p>
<p><span id="more-249"></span><br />
<a href="http://www.jdoqocy.com/click-3456007-10665044" target="_top">Get Flex Builder for free if you are an unemployed developer</a><br />
<img src="http://www.ftjcfx.com/image-3456007-10665044" border="0" alt="" width="1" height="1" /></p>
<pre class="MXML"><span class="MXMLProcessing_Instruction">&lt;?xml version="1.0" encoding="utf-8"?&gt;</span>
<span class="MXMLComponent_Tag">&lt;mx:Application</span><span class="MXMLDefault_Text">
    xmlns:mx="</span><span class="MXMLString">http://www.adobe.com/2006/mxml</span><span class="MXMLDefault_Text">"
    layout="</span><span class="MXMLString">absolute</span><span class="MXMLDefault_Text">"
    creationComplete="</span><span class="ActionScriptDefault_Text">onCreationComplete</span><span class="ActionScriptBracket/Brace">()</span><span class="MXMLDefault_Text">" viewSourceURL="</span><span class="MXMLString">srcview/index.html</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span> 

    <span class="MXMLSpecial_Tag">&lt;mx:Script&gt;</span>
        <span class="ActionScriptOperator">&lt;!</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">CDATA</span><span class="ActionScriptBracket/Brace">[</span>
            <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">mx</span>.<span class="ActionScriptDefault_Text">collections</span>.<span class="ActionScriptDefault_Text">XMLListCollection</span>;
            <span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptMetadata">Bindable</span><span class="ActionScriptBracket/Brace">]</span>
            <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">company</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">XML</span> <span class="ActionScriptOperator">=</span>
              <span class="ActionScriptOperator">&lt;</span><span class="ActionScriptDefault_Text">node</span><span class="ActionScriptOperator">&gt;</span>
                <span class="ActionScriptOperator">&lt;</span><span class="ActionScriptDefault_Text">node</span> <span class="ActionScriptDefault_Text">label</span><span class="ActionScriptOperator">=</span>"<span class="ActionScriptDefault_Text">Finance</span>" <span class="ActionScriptDefault_Text">code</span><span class="ActionScriptOperator">=</span>"200"<span class="ActionScriptOperator">&gt;</span>
                    <span class="ActionScriptOperator">&lt;</span><span class="ActionScriptDefault_Text">node</span> <span class="ActionScriptDefault_Text">label</span><span class="ActionScriptOperator">=</span>"<span class="ActionScriptDefault_Text">John</span> <span class="ActionScriptDefault_Text">H</span>"<span class="ActionScriptOperator">/&gt;</span>
                    <span class="ActionScriptOperator">&lt;</span><span class="ActionScriptDefault_Text">node</span> <span class="ActionScriptDefault_Text">label</span><span class="ActionScriptOperator">=</span>"<span class="ActionScriptDefault_Text">Sam</span> <span class="ActionScriptDefault_Text">K</span>"<span class="ActionScriptOperator">/&gt;</span>
                <span class="ActionScriptOperator">&lt;/</span><span class="ActionScriptDefault_Text">node</span><span class="ActionScriptOperator">&gt;</span>
                <span class="ActionScriptOperator">&lt;</span><span class="ActionScriptDefault_Text">node</span> <span class="ActionScriptDefault_Text">label</span><span class="ActionScriptOperator">=</span>"<span class="ActionScriptDefault_Text">Operations</span>" <span class="ActionScriptDefault_Text">code</span><span class="ActionScriptOperator">=</span>"400"<span class="ActionScriptOperator">&gt;</span>
                    <span class="ActionScriptOperator">&lt;</span><span class="ActionScriptDefault_Text">node</span> <span class="ActionScriptDefault_Text">label</span><span class="ActionScriptOperator">=</span>"<span class="ActionScriptDefault_Text">Bill</span> <span class="ActionScriptDefault_Text">C</span>"<span class="ActionScriptOperator">/&gt;</span>
                    <span class="ActionScriptOperator">&lt;</span><span class="ActionScriptDefault_Text">node</span> <span class="ActionScriptDefault_Text">label</span><span class="ActionScriptOperator">=</span>"<span class="ActionScriptDefault_Text">Jill</span> <span class="ActionScriptDefault_Text">W</span>"<span class="ActionScriptOperator">/&gt;</span>
                <span class="ActionScriptOperator">&lt;/</span><span class="ActionScriptDefault_Text">node</span><span class="ActionScriptOperator">&gt;</span>
                <span class="ActionScriptOperator">&lt;</span><span class="ActionScriptDefault_Text">node</span> <span class="ActionScriptDefault_Text">label</span><span class="ActionScriptOperator">=</span>"<span class="ActionScriptDefault_Text">Engineering</span>" <span class="ActionScriptDefault_Text">code</span><span class="ActionScriptOperator">=</span>"300"<span class="ActionScriptOperator">&gt;</span>
                    <span class="ActionScriptOperator">&lt;</span><span class="ActionScriptDefault_Text">node</span> <span class="ActionScriptDefault_Text">label</span><span class="ActionScriptOperator">=</span>"<span class="ActionScriptDefault_Text">Erin</span> <span class="ActionScriptDefault_Text">M</span>"<span class="ActionScriptOperator">/&gt;</span>
                    <span class="ActionScriptOperator">&lt;</span><span class="ActionScriptDefault_Text">node</span> <span class="ActionScriptDefault_Text">label</span><span class="ActionScriptOperator">=</span>"<span class="ActionScriptDefault_Text">Ann</span> <span class="ActionScriptDefault_Text">B</span>"<span class="ActionScriptOperator">/&gt;</span>
                <span class="ActionScriptOperator">&lt;/</span><span class="ActionScriptDefault_Text">node</span><span class="ActionScriptOperator">&gt;</span>
              <span class="ActionScriptOperator">&lt;/</span><span class="ActionScriptDefault_Text">node</span><span class="ActionScriptOperator">&gt;</span>;

            <span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptMetadata">Bindable</span><span class="ActionScriptBracket/Brace">]</span>
            <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">companyData</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">XMLListCollection</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">XMLListCollection</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">company</span>.<span class="ActionScriptDefault_Text">children</span><span class="ActionScriptBracket/Brace">())</span>;

            <span class="ActionScriptReserved">private</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">removeNode</span><span class="ActionScriptBracket/Brace">()</span><span class="ActionScriptOperator">:</span><span class="ActionScriptReserved">void</span>
            <span class="ActionScriptBracket/Brace">{</span>
                <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">node</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">XML</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">XML</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">tree</span>.<span class="ActionScriptDefault_Text">selectedItem</span><span class="ActionScriptBracket/Brace">)</span>;
                <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">node</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptReserved">null</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptReserved">return</span>;

                <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">children</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">XMLList</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">XMLList</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">node</span>.<span class="ActionScriptDefault_Text">parent</span><span class="ActionScriptBracket/Brace">()</span>.<span class="ActionScriptDefault_Text">children</span><span class="ActionScriptBracket/Brace">())</span>;
                <span class="ActionScriptReserved">for</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">i</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">int</span><span class="ActionScriptOperator">=</span>0; <span class="ActionScriptDefault_Text">i</span><span class="ActionScriptOperator">&lt;</span><span class="ActionScriptDefault_Text">children</span>.<span class="ActionScriptDefault_Text">length</span><span class="ActionScriptBracket/Brace">()</span>; <span class="ActionScriptDefault_Text">i</span><span class="ActionScriptOperator">++</span><span class="ActionScriptBracket/Brace">)</span>
                <span class="ActionScriptBracket/Brace">{</span>
                    <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">children</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">i</span><span class="ActionScriptBracket/Brace">]</span>.@<span class="ActionScriptDefault_Text">label</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptDefault_Text">node</span>.@<span class="ActionScriptDefault_Text">label</span><span class="ActionScriptBracket/Brace">)</span>
                    <span class="ActionScriptBracket/Brace">{</span>
                        <span class="ActionScriptReserved">delete</span> <span class="ActionScriptDefault_Text">children</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">i</span><span class="ActionScriptBracket/Brace">]</span>;
                    <span class="ActionScriptBracket/Brace">}</span>
                <span class="ActionScriptBracket/Brace">}</span>
            <span class="ActionScriptBracket/Brace">}</span> 

            <span class="ActionScriptReserved">private</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">addNode</span><span class="ActionScriptBracket/Brace">()</span><span class="ActionScriptOperator">:</span><span class="ActionScriptReserved">void</span>
            <span class="ActionScriptBracket/Brace">{</span>
                <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">node</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">XML</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptOperator">&lt;</span><span class="ActionScriptDefault_Text">node</span><span class="ActionScriptOperator">/&gt;</span>;
                <span class="ActionScriptDefault_Text">node</span>.@<span class="ActionScriptDefault_Text">label</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">folderNameInput</span>.<span class="ActionScriptDefault_Text">text</span>;

                <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">parentNode</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">XML</span>;
                <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">tree</span>.<span class="ActionScriptDefault_Text">selectedItem</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptReserved">null</span><span class="ActionScriptBracket/Brace">)</span>
                    <span class="ActionScriptDefault_Text">companyData</span>.<span class="ActionScriptDefault_Text">addItem</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">node</span><span class="ActionScriptBracket/Brace">)</span>;
                <span class="ActionScriptReserved">else</span>
                <span class="ActionScriptBracket/Brace">{</span>
                    <span class="ActionScriptDefault_Text">parentNode</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">XML</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">tree</span>.<span class="ActionScriptDefault_Text">selectedItem</span><span class="ActionScriptBracket/Brace">)</span>;
                    <span class="ActionScriptDefault_Text">parentNode</span>.<span class="ActionScriptDefault_Text">appendChild</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">node</span><span class="ActionScriptBracket/Brace">)</span>;
                    <span class="ActionScriptDefault_Text">tree</span>.<span class="ActionScriptDefault_Text">expandItem</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">parentNode</span>, <span class="ActionScriptReserved">true</span><span class="ActionScriptBracket/Brace">)</span>;
                <span class="ActionScriptBracket/Brace">}</span>
                <span class="ActionScriptDefault_Text">folderNameInput</span>.<span class="ActionScriptDefault_Text">text</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptString">''</span>;
                <span class="ActionScriptDefault_Text">selectNode</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">node</span><span class="ActionScriptBracket/Brace">)</span>;
            <span class="ActionScriptBracket/Brace">}</span> 

            <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_index</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">int</span>;
            <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_isFounded</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">Boolean</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">false</span>;
            <span class="ActionScriptReserved">private</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">selectNode</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">node</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">XML</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">:</span><span class="ActionScriptReserved">void</span>
            <span class="ActionScriptBracket/Brace">{</span>
                <span class="ActionScriptDefault_Text">_isFounded</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">false</span>;
                <span class="ActionScriptDefault_Text">_index</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptOperator">-</span>1;
                <span class="ActionScriptReserved">for</span> <span class="ActionScriptReserved">each</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">parentNode</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">XML</span> <span class="ActionScriptReserved">in</span> <span class="ActionScriptDefault_Text">companyData</span><span class="ActionScriptBracket/Brace">)</span>
                <span class="ActionScriptBracket/Brace">{</span>
                    <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">tree</span>.<span class="ActionScriptDefault_Text">isItemOpen</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">parentNode</span><span class="ActionScriptBracket/Brace">))</span>
                        <span class="ActionScriptDefault_Text">loopAndFindXml</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">node</span>, <span class="ActionScriptDefault_Text">parentNode</span><span class="ActionScriptBracket/Brace">)</span>;
                    <span class="ActionScriptReserved">else</span> <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(!</span><span class="ActionScriptDefault_Text">_isFounded</span><span class="ActionScriptBracket/Brace">)</span>
                        <span class="ActionScriptDefault_Text">_index</span><span class="ActionScriptOperator">++</span>;
                <span class="ActionScriptBracket/Brace">}</span>
                <span class="ActionScriptDefault_Text">tree</span>.<span class="ActionScriptDefault_Text">selectedIndex</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_index</span>;
            <span class="ActionScriptBracket/Brace">}</span> 

            <span class="ActionScriptReserved">private</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">loopAndFindXml</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">node</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">XML</span>, <span class="ActionScriptDefault_Text">parentNode</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">XML</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">:</span><span class="ActionScriptReserved">void</span>
            <span class="ActionScriptBracket/Brace">{</span>
                <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_isFounded</span><span class="ActionScriptBracket/Brace">)</span>
                    <span class="ActionScriptReserved">return</span>;
                <span class="ActionScriptDefault_Text">_index</span><span class="ActionScriptOperator">++</span>;
                <span class="ActionScriptComment">//trace('myNode , '+_index+' , '+parentNode.toXMLString());
</span>
                <span class="ActionScriptReserved">for</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">i</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">int</span><span class="ActionScriptOperator">=</span>0; <span class="ActionScriptDefault_Text">i</span><span class="ActionScriptOperator">&lt;</span><span class="ActionScriptDefault_Text">parentNode</span>.<span class="ActionScriptDefault_Text">children</span><span class="ActionScriptBracket/Brace">()</span>.<span class="ActionScriptDefault_Text">length</span><span class="ActionScriptBracket/Brace">()</span>; <span class="ActionScriptDefault_Text">i</span><span class="ActionScriptOperator">++</span><span class="ActionScriptBracket/Brace">)</span>
                <span class="ActionScriptBracket/Brace">{</span>
                    <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_isFounded</span><span class="ActionScriptBracket/Brace">)</span>
                        <span class="ActionScriptReserved">return</span>;

                    <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">tree</span>.<span class="ActionScriptDefault_Text">isItemOpen</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">parentNode</span>.<span class="ActionScriptDefault_Text">node</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">i</span><span class="ActionScriptBracket/Brace">]))</span>
                    <span class="ActionScriptBracket/Brace">{</span>
                        <span class="ActionScriptComment">//trace('loop');
</span>                        <span class="ActionScriptDefault_Text">loopAndFindXml</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">node</span>, <span class="ActionScriptDefault_Text">parentNode</span>.<span class="ActionScriptDefault_Text">node</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">i</span><span class="ActionScriptBracket/Brace">])</span>;
                    <span class="ActionScriptBracket/Brace">}</span>
                    <span class="ActionScriptReserved">else</span>
                    <span class="ActionScriptBracket/Brace">{</span>
                        <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_isFounded</span><span class="ActionScriptBracket/Brace">)</span>
                            <span class="ActionScriptReserved">return</span>;
                        <span class="ActionScriptDefault_Text">_index</span><span class="ActionScriptOperator">++</span>;
                        <span class="ActionScriptComment">//trace('myNode1 '+_index+' , '+parentNode.node[i].toXMLString());
</span>
                        <span class="ActionScriptReserved">if</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">parentNode</span>.<span class="ActionScriptDefault_Text">node</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">i</span><span class="ActionScriptBracket/Brace">]</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptDefault_Text">node</span><span class="ActionScriptBracket/Brace">)</span>
                        <span class="ActionScriptBracket/Brace">{</span>
                            <span class="ActionScriptComment">//trace('found');
</span>                            <span class="ActionScriptDefault_Text">_isFounded</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">true</span>;
                            <span class="ActionScriptReserved">return</span>;
                        <span class="ActionScriptBracket/Brace">}</span>
                    <span class="ActionScriptBracket/Brace">}</span>
                <span class="ActionScriptBracket/Brace">}</span>
            <span class="ActionScriptBracket/Brace">}</span> 

            <span class="ActionScriptReserved">private</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">expandAllTreeNodes</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">tree</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">Tree</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">:</span><span class="ActionScriptReserved">void</span>
            <span class="ActionScriptBracket/Brace">{</span>
                <span class="ActionScriptDefault_Text">tree</span>.<span class="ActionScriptDefault_Text">expandChildrenOf</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">company</span>, <span class="ActionScriptReserved">true</span><span class="ActionScriptBracket/Brace">)</span>;
            <span class="ActionScriptBracket/Brace">}</span> 

            <span class="ActionScriptReserved">private</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">onCreationComplete</span><span class="ActionScriptBracket/Brace">()</span><span class="ActionScriptOperator">:</span><span class="ActionScriptReserved">void</span>
            <span class="ActionScriptBracket/Brace">{</span>
                <span class="ActionScriptDefault_Text">expandAllTreeNodes</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">tree</span><span class="ActionScriptBracket/Brace">)</span>;
            <span class="ActionScriptBracket/Brace">}</span> 

        <span class="ActionScriptBracket/Brace">]]</span><span class="ActionScriptOperator">&gt;</span>
    <span class="MXMLSpecial_Tag">&lt;/mx:Script&gt;</span> 

    <span class="MXMLComponent_Tag">&lt;mx:Tree</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">tree</span><span class="MXMLDefault_Text">"
        x="</span><span class="MXMLString">8</span><span class="MXMLDefault_Text">" y="</span><span class="MXMLString">40</span><span class="MXMLDefault_Text">"
        dataProvider="</span><span class="MXMLString">{</span><span class="ActionScriptDefault_Text">companyData</span><span class="MXMLString">}</span><span class="MXMLDefault_Text">"
        labelField="</span><span class="MXMLString">@label</span><span class="MXMLDefault_Text">"
         width="</span><span class="MXMLString">162</span><span class="MXMLDefault_Text">" height="</span><span class="MXMLString">245</span><span class="MXMLDefault_Text">"
    </span><span class="MXMLComponent_Tag">/&gt;</span> 

    <span class="MXMLComponent_Tag">&lt;mx:TextInput</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">folderNameInput</span><span class="MXMLDefault_Text">"
        x="</span><span class="MXMLString">10</span><span class="MXMLDefault_Text">" y="</span><span class="MXMLString">11</span><span class="MXMLDefault_Text">"
    </span><span class="MXMLComponent_Tag">/&gt;</span> 

    <span class="MXMLComponent_Tag">&lt;mx:Button</span><span class="MXMLDefault_Text">
        x="</span><span class="MXMLString">178</span><span class="MXMLDefault_Text">" y="</span><span class="MXMLString">11</span><span class="MXMLDefault_Text">"
        label="</span><span class="MXMLString">Add Node</span><span class="MXMLDefault_Text">"
        width="</span><span class="MXMLString">112</span><span class="MXMLDefault_Text">"
        click="</span><span class="ActionScriptDefault_Text">addNode</span><span class="ActionScriptBracket/Brace">()</span><span class="MXMLDefault_Text">"
    </span><span class="MXMLComponent_Tag">/&gt;</span> 

    <span class="MXMLComponent_Tag">&lt;mx:Button</span><span class="MXMLDefault_Text">
        x="</span><span class="MXMLString">178</span><span class="MXMLDefault_Text">" y="</span><span class="MXMLString">41</span><span class="MXMLDefault_Text">"
        label="</span><span class="MXMLString">Remove Node</span><span class="MXMLDefault_Text">"
        click="</span><span class="ActionScriptDefault_Text">removeNode</span><span class="ActionScriptBracket/Brace">()</span><span class="MXMLDefault_Text">"
     width="</span><span class="MXMLString">112</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span> 

<span class="MXMLComponent_Tag">&lt;/mx:Application&gt;</span></pre>
<p><a href="http://mariusht.com/files/blog/autoselect_new_item_in_tree/">View the Live Demo</a> (right click to view the source)</p>
]]></content:encoded>
			<wfw:commentRss>http://mariusht.com/blog/2009/04/19/auto-select-new-item-in-tree-component/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
