Цитата:
|
А также все компоненты работают не с ListCollectionView, а с ICollectionView, конечно перепись много это не изменит, но всяческий мусор и мильон проверок на дурака можно убить.
|
Это каие-то абстрактные компоненты какого-то абстрактного флекса

На самом деле все банально:

Код AS3:
super.dataProvider = wrappedCollection = (_dataDescriptor is ITreeDataDescriptor2) ?
ITreeDataDescriptor2(_dataDescriptor).getHierarchicalCollectionAdaptor(
tmpCollection != null ? tmpCollection : _rootModel,
itemToUID,
_openItems) :
new HierarchicalCollectionView(
tmpCollection != null ? tmpCollection : _rootModel,
_dataDescriptor,
itemToUID,
_openItems);
Эта красотиЩа в mx.controls.Tree например, а имплементить ITreeDataDescriptor2 - просто не реально потому что он не использует иерахрхические данные, он нужен только для того, чтобы представить иерархическую структуру в виде одноуровневой. Но на этом плач Ярославны не заканчивается... в ListBase есть одно приятное место, которое сейчас влом искать, где делается примерно следующее:

Код AS3:
var collection:ICollectionView = ICollectionView(whoKnowsWhat);
for (i; ...; ...) collection[i] = somethingElse;
После чего автора, конечно хочется, потому что дико бесит

Но а пока - приходится от прокси наследоваться...