package MyRenderers {
import mx.collections.*;
import mx.controls.treeClasses.*;
public class MyTreeItemRenderer extends TreeItemRenderer {
// Define the constructor.
public function MyTreeItemRenderer() {
super();
}
// Override the set method for the data property
// to set the font color and style of each node.
override public function set data(value:Object):void {
super.data = value;
if(super.listData) {
if(TreeListData(super.listData).hasChildren) {
var xml:XMLList = new XMLList(TreeListData(super.listData).item);
var xml2:XMLList = xml.elements();
if(xml2) {
for each(var tmp:XML in xml2..*) {
if(tmp.@current) {
if(tmp.@current == 'current') {
trace('current: ' + tmp.@name);
setStyle('color', 0xff0000);
setStyle('fontWeight', 'bold');
}
}
}
}
}
}
}
// Override the updateDisplayList() method
// to set the text for each tree node.
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).item);
var myStr:int = tmp[0].children().length();
var item:String = 'item';
if(myStr != 1) {
item += 's';
}
super.label.text = TreeListData(super.listData).label + ' (' + myStr + ' ' + item + ')';
}
}
}
}
}