Hi,

I'm experiencing the same issue with freeItemRenderersByFactory. 
Please post if you found a explanation/solution.

Thanks!

//Morgan



--- In [email protected], ivo <[EMAIL PROTECTED]> wrote:
>
> Not sure where to go with this next.
> 
> The following kinda works...the Tree listens for 
Event.ADDED_TO_STAGE then go thru:
> 
> var _opened:Array = (m_tree.openItems as Array).concat([]);
> tree.openItems = [];
> callLater(reOpenItems, [_opened]);
> 
> ...then in reOpenItems just:
> 
> m_tree.openItems = _opened;
> 
> ..the above works as long as the Tree is kept with the branches in 
their initial open/closed state. So the first time the Tree is shown 
a certain set of initial branches are opened...the user dismisses the 
Tree...I remove it from the display....the user asks for the Tree 
view again...I readd the Tree & the above code runs & everything is 
ok as all its open like it was initially.
> 
> But if the user requests the Tree...closes a branch (or 
branches)...dismisses the Tree..then later requests the Tree..I get 
an exception:
> 
> TypeError: Error #1010: A term is undefined and has no properties.
>     at mx.controls::List/createItemRenderer()
[E:\dev\3.0.x\frameworks\projects\framework\src\mx\controls\List.as:17
96]
>     at 
mx.controls::List/http://www.adobe.com/2006/flex/mx/internal::getMeasu
ringRenderer()
[E:\dev\3.0.x\frameworks\projects\framework\src\mx\controls\List.as:17
34]
>     at mx.controls::List/commitProperties()
[E:\dev\3.0.x\frameworks\projects\framework\src\mx\controls\List.as:76
4]
>     at mx.controls::Tree/commitProperties()
[E:\dev\3.0.x\frameworks\projects\framework\src\mx\controls\Tree.as:10
28]
>     at mx.core::UIComponent/validateProperties()
[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as
:5670]
> 
> ...the line \framework\src\mx\controls\List.as:1796 sez:
> 
> delete freeItemRenderersByFactory[factory][renderer];
> 
> and there really isnt a value for freeItemRenderersByFactory
[factory] .  The var freeItemRenderersByFactory does contain a single 
element Dictionary but the debugger wont reveal what its contents are.
> 
> What can cause this condition?
> 
> 
> 
> - Ivo
> 
> 
> ----- Original Message ----
> From: ivo <[EMAIL PROTECTED]>
> To: [email protected]
> Sent: Wednesday, March 5, 2008 11:47:01 AM
> Subject: [flexcoders] How to maintain a Tree opened/close state 
after removed/added to stage?
> 
>                   Hello all,
> 
> There is a behavior that is not apparent when building against Flex 
3 beta 3 but shows up of Flex 3 release.
> 
> I have a Tree that is added/removed from the stage at various 
times. In Beta 3 if I remove it from the display list & add it back 
at a later time the tree is with the branches opened/closed as they 
were when it was removed.
> 
> In the Flex Release the Tree always has all the branches closed 
once it is added to the stage. Looking at the Tree properties shows 
Tree.openItems does have a correct list of open branches. Iterating 
over this list to to open them, or close then open, or saving this 
list when removedFromStage and setting it again on addedToStage, or 
invalidating the display list does not do anything. My next shot is 
simulating mouse clicks on the renderers travelling from the 
outermost branches inward but this feels like overkill.
> 
> Any suggestions on how to trigger the display so it matched the 
internal open/closed state?
> 
> Thanks,
> 
> - Ivo
> 
> 
>     
>           
> <!--
> 
> #ygrp-mkp{
> border:1px solid #d8d8d8;font-family:Arial;margin:14px 
0px;padding:0px 14px;}
> #ygrp-mkp hr{
> border:1px solid #d8d8d8;}
> #ygrp-mkp #hd{
> color:#628c2a;font-size:85%;font-weight:bold;line-
height:122%;margin:10px 0px;}
> #ygrp-mkp #ads{
> margin-bottom:10px;}
> #ygrp-mkp .ad{
> padding:0 0;}
> #ygrp-mkp .ad a{
> color:#0000ff;text-decoration:none;}
> -->
> 
> <!--
> 
> #ygrp-sponsor #ygrp-lc{
> font-family:Arial;}
> #ygrp-sponsor #ygrp-lc #hd{
> margin:10px 0px;font-weight:bold;font-size:78%;line-height:122%;}
> #ygrp-sponsor #ygrp-lc .ad{
> margin-bottom:10px;padding:0 0;}
> -->
> 
> <!--
> 
> #ygrp-mlmsg {font-size:13px;font-family:arial, helvetica, clean, 
sans-serif;}
> #ygrp-mlmsg table {font-size:inherit;font:100%;}
> #ygrp-mlmsg select, input, textarea {font:99% arial, helvetica, 
clean, sans-serif;}
> #ygrp-mlmsg pre, code {font:115% monospace;}
> #ygrp-mlmsg * {line-height:1.22em;}
> #ygrp-text{
> font-family:Georgia;
> }
> #ygrp-text p{
> margin:0 0 1em 0;}
> #ygrp-tpmsgs{
> font-family:Arial;
> clear:both;}
> #ygrp-vitnav{
> padding-top:10px;font-family:Verdana;font-size:77%;margin:0;}
> #ygrp-vitnav a{
> padding:0 1px;}
> #ygrp-actbar{
> clear:both;margin:25px 0;white-space:nowrap;color:#666;text-
align:right;}
> #ygrp-actbar .left{
> float:left;white-space:nowrap;}
> .bld{font-weight:bold;}
> #ygrp-grft{
> font-family:Verdana;font-size:77%;padding:15px 0;}
> #ygrp-ft{
> font-family:verdana;font-size:77%;border-top:1px solid #666;
> padding:5px 0;
> }
> #ygrp-mlmsg #logo{
> padding-bottom:10px;}
> 
> #ygrp-vital{
> background-color:#e0ecee;margin-bottom:20px;padding:2px 0 8px 8px;}
> #ygrp-vital #vithd{
> font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-
transform:uppercase;}
> #ygrp-vital ul{
> padding:0;margin:2px 0;}
> #ygrp-vital ul li{
> list-style-type:none;clear:both;border:1px solid #e0ecee;
> }
> #ygrp-vital ul li .ct{
> font-weight:bold;color:#ff7900;float:right;width:2em;text-
align:right;padding-right:.5em;}
> #ygrp-vital ul li .cat{
> font-weight:bold;}
> #ygrp-vital a{
> text-decoration:none;}
> 
> #ygrp-vital a:hover{
> text-decoration:underline;}
> 
> #ygrp-sponsor #hd{
> color:#999;font-size:77%;}
> #ygrp-sponsor #ov{
> padding:6px 13px;background-color:#e0ecee;margin-bottom:20px;}
> #ygrp-sponsor #ov ul{
> padding:0 0 0 8px;margin:0;}
> #ygrp-sponsor #ov li{
> list-style-type:square;padding:6px 0;font-size:77%;}
> #ygrp-sponsor #ov li a{
> text-decoration:none;font-size:130%;}
> #ygrp-sponsor #nc{
> background-color:#eee;margin-bottom:20px;padding:0 8px;}
> #ygrp-sponsor .ad{
> padding:8px 0;}
> #ygrp-sponsor .ad #hd1{
> font-family:Arial;font-weight:bold;color:#628c2a;font-
size:100%;line-height:122%;}
> #ygrp-sponsor .ad a{
> text-decoration:none;}
> #ygrp-sponsor .ad a:hover{
> text-decoration:underline;}
> #ygrp-sponsor .ad p{
> margin:0;}
> o{font-size:0;}
> .MsoNormal{
> margin:0 0 0 0;}
> #ygrp-text tt{
> font-size:120%;}
> blockquote{margin:0 0 0 4px;}
> .replbq{margin:4;}
> -->
>


Reply via email to