У меня есть компонент дерева, сидящий в разделенном окне. Я хочу отобразить «...» на метках узла, если размер разделенного поля изменяется. У меня есть пользовательский itemrenderer и я искал свойство labelFunction, а также пробовал различные подходы в пользовательском itemrenderer Не имея никакой радости.
Любые указатели будут оценены.
Вот пример кода, как я его настроил ...
Я определяю дерево ...
<mx:Tree
id="tree"
dataProvider="myData"
labelFunction="treeNodeLabel"
width="100%" height="100%"
click="handleClick(event)"
mouseMove="handleMouseMove(event)"
itemRollOver="handleItemOver(event)"
itemRollOut="handleItemOut(event)"
doubleClickEnabled="true"
doubleClick="handleDoubleClick(event)"
iconFunction="customIcon"
dragEnabled="true"
dropEnabled="true"
dragMoveEnabled="true"
dragOver="onDragOver(event)"
dragStart="onDragStart(event)"
dataDescriptor="{new DiagramTreeDataDescriptor()}"
itemRenderer="myCustomeRenderer"
borderStyle="none"
>
Custom Renderer - это класс Actionscript, который расширяет TreeItemRenderer ...
public class myCustomRenderer extends TreeItemRenderer {
public function myCustomRenderer() {
super();
}
/**
* Create child objects of the component.
*/
override protected function createChildren():void {
super.createChildren();
createIcon();
addListeners();
addChild(Icon1);
addChild(Icon2);
}
private function createIcon() : void {
...
}
private function addListeners() : void {
...
}
private function Icon1Click(event: MouseEvent):void {
...
}
private function Icon2Click(event: MouseEvent): void {
...
}
private function onLabelMouseOver(event : MouseEvent):void {
...
}
private function onLabelMouseOut(event : MouseEvent):void {
...
}
private function getDescription(node : XML):String {
...
}
override protected function updateDisplayList(...) {
...
}
override public function set listData(value:BaseListData):void {
...
}
}