Ae mlkao fiz assim:
var
pop1:SelecionarEnderecos=SelecionarEnderecos(PopUpManager.createPopUp(this,
SelecionarEnderecos, true));
PopUpManager.centerPopUp(pop1);
pop1._enderecoList=placemarks;
pop1.addEventListener(CloseEvent.CLOSE,
function():void
{
endereco.text=" aaaa";
});
}
e nada...
na inha SelecionarEnderecos esta assim o evento de fechar :
private function removeMe():void
{
PopUpManager.removePopUp(this);
}
2009/12/7 J.C.Ködel <[email protected]>
> WTF? O.o
>
> Que diabos de IF é esse? He he he...
>
> Closures for the win! Eu creio que você queira continuar teu código após a
> popup estar fechada, é isso?
> Se for, basta adicionar um evento ao popup do tipo close (veja a sintaxe
> correta do evento pq to fazendo de cabeça):
>
> pop1.addEventListener(Event.Close, function():void
> {
> // Código a executar depois da popup ser fechada.
> });
>
> Se quiser que o código apareça depois que a popup estiver criada (para
> evitar problemas com o creation policy), closure for the win também:
>
> PopUpManager.centerPopUp(pop1);
> callLater(function():void
> {
> // Código a executar depois da popup estar devidamente criada (ao
> menos o primeiro nível)
> });
>
> *From:* Fabio Ebner <[email protected]>
> *Sent:* Monday, December 07, 2009 12:22 PM
> *To:* [email protected]
> *Subject:* [flexdev] Re: Alert Customizado
>
> Cara so mais 1 coisa.. eu fiz o seguinte codigo:
> var placemarks:Array=event.response.placemarks;
> if (placemarks.length > 0)
> {
> if (placemarks.length > 1)
> {
> var
> pop1:SelecionarEnderecos=SelecionarEnderecos(PopUpManager.createPopUp(this,
> SelecionarEnderecos, true));
> PopUpManager.centerPopUp(pop1);
> pop1.enderecoList=placemarks;
> pop1.enderecoSelecionado=endereco;
> }
> map.setCenter(placemarks[0].point);
> var marker:Marker=new Marker(placemarks[0].point);
> map.addOverlay(marker);
> marker.addEventListener(MapMouseEvent.CLICK,
> function(event:MapEvent):void
> {
> marker.openInfoWindow(new
> InfoWindowOptions({title: "Geocoded Result", content:
> placemarks[0].address}));
> });
> }
> }
>
> porem queria q ele esperaca o retorno do meu var
> pop1:SelecionarEnderecos=SelecionarEnderecos(PopUpManager.createPopUp(this,
> SelecionarEnderecos, true)); para continuar.. tem como fazer isso??
>
> pq dessa forma ele continua executando o que esta embaixo
>
>
> valeu
>
> 2009/12/7 Fabio Ebner <[email protected]>
>
>> o mlkao foi .. o q acontece q eu estava fazendo dentro de um funcao dentro
>> de outra.. dai ele estava se confundindo.. joguei pra uma funcao simples
>> rodou :D
>>
>>
>> 2009/12/7 Marcel Pigozzi <[email protected]>
>>
>>> ah é verdade ... confusão minha! mals =/
>>>
>>> 2009/12/7 J.C.Ködel <[email protected]>
>>>
>>> this representa o escopo atual, não a classe!
>>>> Principal motivo de confusão em closures (anonymous delegates).
>>>>
>>>> ex.:
>>>>
>>>> public class foo()
>>>> {
>>>> public function bar():void
>>>> {
>>>> var x:Object = this; // x é do tipo foo
>>>>
>>>> callLater(function():void
>>>> {
>>>> var y:Object = this; // y é um delegate anônimo (
>>>> funct...@000000)
>>>> });
>>>> }
>>>> }
>>>>
>>>> *From:* Marcel Pigozzi <[email protected]>
>>>> *Sent:* Monday, December 07, 2009 11:35 AM
>>>> *To:* [email protected]
>>>> *Subject:* [flexdev] Re: Alert Customizado
>>>>
>>>> opa ...
>>>> fiz aqui um teste, colocando um canvas dentro da application .. certo ?
>>>> Quando a application é carregada, ela chama o canvas ... e ele trata do
>>>> PopUp ... aqui funcionou tranquilo ... o this, se não me engano,
>>>> corresponde
>>>> a própria classe ... ;-)
>>>>
>>>> []s
>>>>
>>>> 2009/12/7 Fabio Ebner <[email protected]>
>>>>
>>>>> Entao pelo q eu entendi o q acontece, para dar certo esse meu THIS
>>>>> teria q ser a minha mx:Application porem eu estou chamando ele de dentro
>>>>> de
>>>>> um canvas, logo qdo vou o this ele fala q nao consegue converter o canvas
>>>>> para Application, tentei usar this.parent dentro do canvas, porem ele me
>>>>> retorna null, sabe como eu posso pegar o parent do meu canvas dentro
>>>>> dele??
>>>>>
>>>>> valeu
>>>>>
>>>>>
>>>>> 2009/12/7 Marcel Pigozzi <[email protected]>
>>>>>
>>>>>> Testei aqui e funcionou ...Deve ter alguma coisa errada no seu
>>>>>> application
>>>>>> no entanto, fiz de outra forma ... veja como ficou:
>>>>>>
>>>>>>
>>>>>>
>>>>>> <?xml version="1.0" encoding="utf-8"?>
>>>>>> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
>>>>>> layout="absolute">
>>>>>>
>>>>>>
>>>>>> <mx:Script>
>>>>>> <![CDATA[
>>>>>> import mx.managers.PopUpManager;
>>>>>>
>>>>>> private var _win:SelecionarEnderecos;
>>>>>>
>>>>>> private function onClick():void {
>>>>>> _win = new SelecionarEnderecos();
>>>>>> PopUpManager.addPopUp(_win, this, true);
>>>>>> }
>>>>>>
>>>>>> ]]>
>>>>>> </mx:Script>
>>>>>>
>>>>>> <mx:Button id="btn" click="onClick()" />
>>>>>>
>>>>>> </mx:Application>
>>>>>>
>>>>>>
>>>>>> t+
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2009/12/7 Fabio Ebner <[email protected]>
>>>>>>
>>>>>>> Marcel , esta quase la, eu executo a seguinte linha:
>>>>>>>
>>>>>>> var
>>>>>>> pop1:SelecionarEnderecos=SelecionarEnderecos(PopUpManager.createPopUp(this,
>>>>>>> SelecionarEnderecos, true));
>>>>>>>
>>>>>>> estou recebendo o seguinte erro:
>>>>>>>
>>>>>>>
>>>>>>> TypeError: Error #1034: Falha de coerção de tipo: não é possível
>>>>>>> converter glo...@4016d91 em flash.display.DisplayObject.
>>>>>>>
>>>>>>>
>>>>>>> esse glo...@4016d91 e o meu this. da funcao createPopUp;
>>>>>>>
>>>>>>>
>>>>>>> segue a minha SelecionarEnderecos:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> <?xml version="1.0" encoding="utf-8"?>
>>>>>>> <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
>>>>>>> layout="absolute"
>>>>>>> width="602"
>>>>>>> height="252"
>>>>>>> title="Selecionar Endereço"
>>>>>>> showCloseButton="false"
>>>>>>> visible="true">
>>>>>>>
>>>>>>> <mx:Script>
>>>>>>> <![CDATA[
>>>>>>> import mx.managers.PopUpManager;
>>>>>>> [Bindable]
>>>>>>> public var enderecoList:Array;
>>>>>>>
>>>>>>> private function selectEndereco(evt:Event):void
>>>>>>> {
>>>>>>> removeMe();
>>>>>>> }
>>>>>>>
>>>>>>> private function removeMe():void
>>>>>>> {
>>>>>>> PopUpManager.removePopUp(this);
>>>>>>> }
>>>>>>> ]]>
>>>>>>> </mx:Script>
>>>>>>> <mx:DataGrid x="10"
>>>>>>> y="10"
>>>>>>> width="562"
>>>>>>> height="162"
>>>>>>> id="listaEndereco"
>>>>>>> editable="false"
>>>>>>> enabled="true"
>>>>>>> dataProvider="{enderecoList}">
>>>>>>> <mx:columns>
>>>>>>> <mx:DataGridColumn headerText="Column 1"
>>>>>>> dataField="col1"/>
>>>>>>> <mx:DataGridColumn headerText="Column 2"
>>>>>>> dataField="col2"/>
>>>>>>> <mx:DataGridColumn headerText="Column 3"
>>>>>>> dataField="col3"/>
>>>>>>> </mx:columns>
>>>>>>> </mx:DataGrid>
>>>>>>> <mx:Button x="10"
>>>>>>> y="180"
>>>>>>> label="Selecionar"
>>>>>>> width="243"
>>>>>>> id="botaoSelecionar"
>>>>>>> click="selectEndereco(event)"/>
>>>>>>> <mx:Button x="329"
>>>>>>> y="180"
>>>>>>> label="Cancelar"
>>>>>>> width="243"
>>>>>>> id="botaoCancelar"
>>>>>>> click="removeMe()"/>
>>>>>>>
>>>>>>> </mx:TitleWindow>
>>>>>>>
>>>>>>>
>>>>>>> 2009/12/7 Marcel Pigozzi <[email protected]>
>>>>>>>
>>>>>>>> vc pode utilizar o titleWindow ;-)
>>>>>>>> segue:
>>>>>>>> http://livedocs.adobe.com/flex/3/html/help.html?content=layouts_12.html
>>>>>>>>
>>>>>>>> abraços
>>>>>>>>
>>>>>>>> 2009/12/7 Fabio Ebner <[email protected]>
>>>>>>>>
>>>>>>>> Pessoal e possivel eu abrir um alert customizado?? quero um alert
>>>>>>>>> com uma dataGrid, e dois botoes Cancelar e Selecionar, que o usuario
>>>>>>>>> possa
>>>>>>>>> escolher uma linha do dataGrid e retorne para a minha aplicacao a
>>>>>>>>> linha
>>>>>>>>> selecionada
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> valeu
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Marcel Pigozzi
>>>>>>>>
>>>>>>>> "Procure ser uma pessoa de valor, em vez de procurar ser uma pessoa
>>>>>>>> de sucesso. O sucesso é conseqüência"
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Marcel Pigozzi
>>>>>>
>>>>>> "Procure ser uma pessoa de valor, em vez de procurar ser uma pessoa de
>>>>>> sucesso. O sucesso é conseqüência"
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Marcel Pigozzi
>>>>
>>>> "Procure ser uma pessoa de valor, em vez de procurar ser uma pessoa de
>>>> sucesso. O sucesso é conseqüência"
>>>>
>>>>
>>>
>>>
>>> --
>>> Marcel Pigozzi
>>>
>>> "Procure ser uma pessoa de valor, em vez de procurar ser uma pessoa de
>>> sucesso. O sucesso é conseqüência"
>>>
>>>
>>>
>>
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---