There’s an example here:
http://www.macmartine.com/blog/2006/03/post.html
Thanks to Joan for providing the
foundation for this!!!
From:
flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of pasflex
Sent: Wednesday, March 22, 2006
11:32 AM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] Re: Tree
itemRenderer - flex 2
I have tried extending the
TreeItemRenderer class similar to your
example, the problem that I have is that the item
is still rendered
by a single label. It's not clear to me how I
can create a more
complex item renderer, for example, one that
consists of a label and
an image.
Is there a way to do this in flex 2 short of
writing a custom
renderer that handles it's own indentation and
controls?
Thanks.
--- In flexcoders@yahoogroups.com, "Joan
Tan" <[EMAIL PROTECTED]> wrote:
>
> You cannot just drop in any renderer for a
Tree component or Menu
which
> need to deal with indentation because your
renderer doesn't know
> anything about it. Instead, the easiest thing
to do is to use an
> itemRenderer that subclasses the
TreeItemRenderer class. Here is an
> example of a Tree item renderer. The renderer
will change the font
> weight and color of parent nodes and add text
as to how many
children
> each node has.
>
>
>
>
>
> package
>
> {
>
>
>
> import mx.controls.treeClasses.*;
>
> import mx.collections.*;
>
>
>
>
public class MyTreeItemRenderer extends
TreeItemRenderer
>
>
{
>
>
>
>
public function MyTreeItemRenderer()
>
>
{
>
>
super();
>
>
mouseEnabled = false;
>
>
>
>
}
>
>
>
>
override public function set data
(value:Object):void
>
>
{
>
>
super.data = "">
>
>
if(TreeListData
(super.listData).hasChildren)
>
>
{
>
>
setStyle("color", 0xff0000);
>
>
setStyle("fontWeight", 'bold');
>
>
}
>
>
else
>
>
{
>
>
setStyle("color", 0x000000);
>
>
setStyle("fontWeight", 'normal');
>
>
}
>
>
}
>
>
>
>
override protected function
> updateDisplayList(unscaledWidth:Number,
unscaledHeight:Number):void
>
>
{
>
>
super.updateDisplayList(unscaledWidth,
> unscaledHeight);
>
>
if(super.data)
>
>
{
>
>
> if(TreeListData(super.listData).hasChildren)
>
>
{
>
>
var tmp:XMLList = new
> XMLList(TreeListData(super.listData).node);
>
>
var myStr:int =
> tmp[0].children().length();
>
>
super.label.text =
> TreeListData(super.listData).text +
"(" + myStr + ")";
>
>
}
>
>
}
>
>
}
>
> }
>
> }
>
> ________________________________
>
> From: flexcoders@yahoogroups.com
[mailto:[EMAIL PROTECTED] On
> Behalf Of pasflex
> Sent: Wednesday, March 22, 2006 9:52 AM
> To: flexcoders@yahoogroups.com
> Subject: [flexcoders] Tree itemRenderer -
flex 2
>
>
>
> When setting an itemRenderer for a tree in
flex2, the tree
controls
> and indentation disappear. For example,
if I try to display a
label
> and an image for each node in the tree and I
create an
itemrenderer to
> do so, the tree will only display the root
node using the
itemrenderer
> with no controls to open it (basically
turning the tree into a one
> item list).
> In flex 1.5 a cellrenderer assigned to a tree
didn't override the
> default tree behavior, it only changed the
renderering of the item
in
> the node.
> How does one accomplish this is flex2?
>
> Thanks
>
>
>
>
>
> --
> Flexcoders Mailing List
> FAQ:
http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> Search Archives:
> http://www.mail-archive.com/flexcoders%40yahoogroups.com
>
>
>
>
> ________________________________
>
> YAHOO! GROUPS LINKS
>
>
>
> * Visit your
group "flexcoders
> <http://groups.yahoo.com/group/flexcoders>
" on the web.
>
> * To
unsubscribe from this group, send an email to:
>
[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]
subject=Unsubscribe>
>
> * Your use of
Yahoo! Groups is subject to the Yahoo! Terms of
> Service <http://docs.yahoo.com/info/terms/>
.
>
>
>
> ________________________________
>
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
YAHOO! GROUPS LINKS
- Visit your group "flexcoders" on the web.
- To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
- Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.