Tenho uma aplicacao que estou desenvolvendo e gostaria de deixar nos arquivos mxml apenas os components com seus respectivos id's e fazer toda a programacao separada em classes mas nao to conseguindo acessar o documento superior com o parentDocument
A idéia é se eu tiver um component chamado Teste.mxml teria também uma classe TesteControl.as com o código que manipula essa tela. Assim funciona mas sobe até a raiz: Teste.mxml <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="init()"> <mx:Script> <![CDATA[ [Bindable] private var teste_cl:TesteControl; private function init():void { teste_cl = new TesteControl(); } ]]> </mx:Script> <mx:Button id="botao_btn" label="Clique"/> <mx:Label id="texto_txt" /> </mx:Application> TesteControl.as package { import flash.events.EventDispatcher; import flash.events.MouseEvent; import mx.core.ApplicationGlobals; public class TesteControl extends EventDispatcher { public var raizDaAplicacao:Object = ApplicationGlobals.application; public function TesteControl() { raizDaAplicacao.botao_btn.addEventListener(MouseEvent.CLICK, botaoHandler); } private function botaoHandler(botaoHandler:MouseEvent):void { raizDaAplicacao.texto_txt.text = "Clicou !"; } } } --------------------------------------------------------- Mas se a tela for um component, nao deu certo, tentei assim: 1 - Tenho a aplicacao (Teste2.mxml) <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" initialize="init()" xmlns:local="*"> <local:CompTeste /> </mx:Application> 2 - Que chama o component(CompTeste.mxml): <?xml version="1.0" encoding="utf-8"?> <mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()"> <mx:Script> <![CDATA[ [Bindable] private var teste_cl:TesteControl2; private function init():void { teste_cl = new TesteControl2(); } ]]> </mx:Script> <mx:Button id="botao_btn" label="Clique 2"/> <mx:Label id="texto_txt" /> </mx:VBox> 3 - E tem a classe para controlar ele (TesteControl2.as) package { import flash.events.MouseEvent; import mx.core.UIComponent; public class TesteControl2 extends UIComponent { public function TesteControl2() { trace(parentDocument) trace(this); trace(this.parentDocument); parentDocument.TesteControl2.addEventListener(MouseEvent.CLICK, botaoHandler); } private function botaoHandler(botaoHandler:MouseEvent):void { parentDocument.texto_txt.text = "Clicou !"; } } } O que eu to querendo é acessar os id's dos components do mxml onde eu instanciei a classe... Se alguem puder dar uma luz, agradeço Ricardo --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
