The following test code adds an asterisk in front of the node labels of a Tree component.
It works in a trivial Flash document but displays blank labels in a much more complex one. In both cases the library contains a Movie Clip with name, linkage identifier and AS 2.0 class all set to “MyTreeCell”.
Can anyone suggest why this code may not work, propose an alternative which may work, or provide a strategy for diagnosis?
Thanks!
David.
Scene:Layer:Frame:
[FONT=Courier New]createClassObject(mx.controls.Tree, “myTree”, 1);[/FONT]
[FONT=Courier New]myTree.dataProvider = ‘<node label=“Mail”><node label=“In”/><node label=“Out”/></node>’;[/FONT]
[FONT=Courier New]myTree.cellRenderer = “MyTreeCell”;[/FONT]
MyTreeCell.as:
[FONT=Courier New]class MyTreeCell extends mx.core.UIComponent[/FONT]
[FONT=Courier New]{[/FONT]
[INDENT][FONT=Courier New]var myCell : TextField;[/FONT]
[FONT=Courier New]var owner; [/FONT]
[FONT=Courier New]var listOwner : MovieClip; [/FONT]
[FONT=Courier New]var getCellIndex : Function; [/FONT]
[FONT=Courier New]var getDataLabel : Function; [/FONT]
[FONT=Courier New]function MyTreeCell()[/FONT]
[FONT=Courier New]{[/FONT]
[FONT=Courier New]}[/FONT]
[FONT=Courier New]function createChildren(Void) : Void[/FONT]
[FONT=Courier New]{[/FONT]
[INDENT][FONT=Courier New]if (myCell == undefined)[/FONT]
[FONT=Courier New]{[/FONT]
[INDENT][FONT=Courier New]createLabel(“myCell”, 1);[/FONT]
[FONT=Courier New]myCell.selectable = false;[/FONT]
[/INDENT][FONT=Courier New]}[/FONT]
[/INDENT][FONT=Courier New]}[/FONT]
[FONT=Courier New]function size(Void) : Void[/FONT]
[FONT=Courier New]{[/FONT]
[INDENT][FONT=Courier New]myCell.setSize(__width - 2, __height - 2);[/FONT]
[/INDENT][FONT=Courier New]}[/FONT]
[FONT=Courier New]function setValue(str:String, item:Object, sel:Boolean) : Void[/FONT]
[FONT=Courier New]{[/FONT]
[INDENT][FONT=Courier New]myCell.text = (item == undefined ? “” : “*” + str);[/FONT]
[/INDENT][FONT=Courier New]}[/FONT]
[FONT=Courier New]function getPreferredHeight(Void) : Number[/FONT]
[FONT=Courier New]{[/FONT]
[INDENT][FONT=Courier New]return myCell.getPreferredHeight();[/FONT]
[/INDENT][FONT=Courier New]}[/FONT]
[/INDENT][FONT=Courier New]}[/FONT]