é isso aí resolvido com o Loader customizado:

package Modulos.Financeiro.Componentes.CmpLoaderCustomizado{
        import flash.display.Loader;
        public class LoaderCustomizado extends Loader{
                //apenas adicionei um parâmetro customizado
                public var paramCustom:Object = new Object();
                public function LoaderCustomizado(){
                        super();
                }
        }
}

private function
setarIconesRecursivo(dataProvider:ArrayCollection):void{
        for(var i:uint=0; i<dataProvider.length;i++){
                if(dataProvider[i].icone != null){
                        loaderCustomizado = new LoaderCustomizado();
                        //passo o parâmetro para o loader
                        loaderCustomizado.paramCustom = dataProvider[i];
        
loaderCustomizado.contentLoaderInfo.addEventListener(Event.COMPLETE,
getBitmapData);
                        loaderCustomizado.loadBytes(dataProvider[i].icone);
                }
                if(dataProvider[i].children != null){
                        
setarIconesRecursivo(ArrayCollection(dataProvider[i].children));
                        return;
                }
        }
}

private function getBitmapData(evt:Event):void{
        //recupero a imagem e o parâmetro no evt.target
        var conteudo:* = evt.target.content;
        bitmapData = new BitmapData(conteudo.width,conteudo.height,true,
0x00000000);
        var matrix:Matrix = new Matrix();
        bitmapData.draw(conteudo, matrix,null,null,null,true);
        var icone:Class = RuntimeBitmapAsset.getClass(bitmapData);
        _menuTree.setItemIcon(evt.target.loader.paramCustom, icone, null);
}

Bruno, vou ver o Swiz quando tiver um tempo. Fredy, a solução sugerida
por você pode ser muito útil em outra ocasião. Obrigado aos dois.

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a