Opa galera... queria uma luz aqui...

Estou com o seguinte problema. Tenho uma tree renderizada e lá na classe
renderer que criei (ArvoreItemRenderer), eu agrego um linkButton ao lado do
label. Ex:

public class ArvoreItemRenderer extends TreeItemRenderer {

        [Bindable]
        public var layoutArquivoEdicao: LayoutArquivoEdicao;

        private var btn: LinkButton;

        private static const INCLUIR_NOVA_LINHA: String = "Incluir Nova
Linha";
        private static const INCLUIR_NOVO_ATRIBUTO: String = "Incluir Novo
Atributo";

        public function ArvoreItemRenderer() {
            super();
        }

        override protected function updateDisplayList(unscaledWidth:Number,
unscaledHeight:Number):void {
            super.updateDisplayList(unscaledWidth, unscaledHeight);

            if (listData != null) {
                label.text =  listData.label;
                if (btn != null) {
                    btn.x = label.width - 120;
                }
            }
        }

        override public function set data(value:Object):void {
            if(value != null) {
                super.data = value;
                if(TreeListData(super.listData).hasChildren) {
                    var tempObj: Object = TreeListData(super.listData).item;
                    btn = new LinkButton();
                    btn.width = 150;
                    btn.height = 20;

                    if (tempObj instanceof Layout) {
                        btn.label = INCLUIR_NOVA_LINHA
                    } else {
                        btn.label = INCLUIR_NOVO_ATRIBUTO;
                    }

                    this.addChild(btn);
                }
            }
         }
    }

Observem que lá na declaração dos atributos eu tenho o atributo
layoutArquivoEdicao. É ele que possui a tree. Nele contém os métodos que
quero disparar quando for clicado no linkButton.

Como faço isso? Porque eu tinha pensado em criar esse meu atributo
layoutArquivoEdicao na classe renderer e lá eu setar a instância que tô
trabalhando. Ex:

private static var arvoreRenderer: ArvoreItemRenderer = new
ArvoreItemRenderer();

arvoreRenderer.layoutArquivoEdicao = this;

e ai depois eu adicionaria essa minha classe renderer (ArvoreItemRenderer) a
minha tree. Ex:

arvore.itemRenderer = new ClassFactory(arvoreRenderer);

Mas o flex não aceita a instância. Só aceita a Classe. Ex:

arvore.itemRenderer = new ClassFactory(ArvoreItemRenderer);

Como eu consigo chamar um método na classe renderizada?

-- 
Att,
Thiago R. Fernandes

--~--~---------~--~----~------------~-------~--~----~
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