For your viewing pleasure, here's a simple testcase: http://www.juicability.com/treetest/
Source is also available there... Bjørn On 31/08/2007, bjorn - <[EMAIL PROTECTED]> wrote: > > Hi Alex, > > I found some examples that did it that way. At first I tried setting the > style on the itemrenderer itself or otherways just affecting the node - but > to no avail. > > This way works the way I excpect (the nodes get an icon based on their > type) - *except* for the NullPointerException/TypeError that is ;-) > > If you have a better solution please let me know. > > I'll try to reproduce it with a testcase. > > Bjørn > > > > On 30/08/2007, Alex Harui <[EMAIL PROTECTED]> wrote: > > > > Maybe a bug. Do you have a simple test case? > > > > > > > > However, why would you set styles on the tree in each renderer? I would > > think there'll be other problems with that. > > > > > > ------------------------------ > > > > *From:* [EMAIL PROTECTED] ups.com [mailto:[EMAIL PROTECTED] ups.com] > > *On Behalf Of *bjorn - > > *Sent:* Thursday, August 30, 2007 4:47 AM > > *To:* [email protected] > > *Subject:* [flexcoders] TypeError in ListBase.as when using setStyle() > > in custom TreeItemRenderer > > > > > > > > > > > > I have made a custom TreeItemRenderer and overridden the set data > > function to change the icon according to the data. > > > > > > > > This is done something like this: > > > > > > > > override public function set data(value:Object):void > > { > > super.data = value; > > if(value != null) { > > > > var myListData:TreeListData = TreeListData( > > this.listData); > > if (myListData) { > > var fileObject:Object = value; > > var _tree:Tree = Tree( myListData.owner); > > > > if(fileObject.isMovie) { > > > > _tree.setStyle('defaultLeafIcon', > > this.movieIcon ); > > _tree.setStyle('folderClosedIcon', > > this.movieIcon ); > > _tree.setStyle('folderOpenIcon', > > this.movieIcon ) > > > > } > > > > } > > > > } > > > > Hower, in some cases I get this exception: > > > > TypeError: Error #1009: Cannot access a property or method of a null > > object reference. > > at > > mx.controls.listClasses::ListBase/styleChanged()[E:\dev\flex_201_borneo\sdk\frameworks\mx\controls\listClasses\ListBase.as:3062] > > > > at mx.controls::Tree/styleChanged > > ()[E:\dev\flex_201_borneo\sdk\frameworks\mx\controls\Tree.as:1048<http://tree.as:1048/> > > ] > > at > > mx.core::UIComponent/setStyle()[E:\dev\flex_201_borneo\sdk\frameworks\mx\core\UICompon > > ent.as:7222] > > ... > > > > > > > > > > > > It's the styleChanged() method in ListBase.as which throws the error - > > on this line: > > > > var m:int = listItems[i].length; > > > > > > > > .. so, it seems listItems[i] is null ? > > > > > > > > Why? :-) > > > > > > > > > > -- > > > > ======================== > > http://www.juicability.com - flex blog > > http://www.43min.com - funny movies > > > > > > > > > > -- > > ======================== > http://www.juicability.com - flex blog > http://www.43min.com - funny movies > -- ======================== http://www.juicability.com - flex blog http://www.43min.com - funny movies

