Показать сообщение отдельно
Старый 04.06.2007, 18:21
yana_flash вне форума Посмотреть профиль Отправить личное сообщение для yana_flash Найти все сообщения от yana_flash
  № 11  
Ответить с цитированием
yana_flash

Регистрация: Oct 2003
Сообщений: 74
У меня было реализовано так (скорее всего, криво - но работает):

Код:
	<mx:Tree x="518" y="16" height="486" width="160" id="treeDevices" showRoot="true" labelField="@label" dataProvider="{treeData}" change="treeChanged(event)"></mx:Tree>
...
[Embed(source="img/icon_1.png")]
[Bindable]
public var icon1:Class;
[Embed(source="img/icon_2.png")]
[Bindable]
public var icon2:Class;
[Embed(source="img/icon_3.png")]
[Bindable]
public var icon3:Class;
[Embed(source="img/icon_animated.swf")]
[Bindable]
public var icon4:Class;
[Bindable]
public var treeData:XMLList;

...
// Рекурсивный обход дерева
private function setIconsForXML(xml:XML,n:int):int {
	treeDevices.setItemIcon(xml, icon1, icon2);
	for each(var device:XML in xml.item) {
		++n;
		if (device.hasComplexContent()) {
			n=setIconsForXML(device,n);
		} else {
			treeDevices.setItemIcon(device, icon3, null);
		}
	}
	return n;
}

...
	// Считали treeData из XML-файла
	treeData = XMLList(event.target.data);
	// Раскрашиваем ветки одними иконками, листья - другими
	setIconsForXML(XML(treeData),0);
"Скорее всего криво" - потому, что пока не чувствую внутренней логики флекса (она, естественно есть, но я ей пока не прониклась).