A opção seguinte, dentro dos meus conhecimentos, seria utilizar um watcher,
mas resolvi de outra forma, embora talvez bastante menos elegante - crio o
canvas por mxml, com tamanho 1x1, com a verificação descrita no post inicial
no visible. Se validar a condição, aumenta o tamanho do canvas.
João Fernandes: tentei com o binding utils, mas inexplicavelmente não faz um
binding correcto, provavelmente por delays de outras funções que tenho
activas, me parece.
João Coelho: Dessa forma a verificação é apenas realizada uma vez, e ainda
antes da propriedade existir.
O problema maior é que a propriedade que pretendo verificar, só existe uns
milisegundos mais tarde, após a criação do canvas e do popup (o canvas
existe num popup).
O quadro maior é o seguinte:
Um popup é criado, inicialmente vazio, apenas com o indicador de um
referência. Essa referência é utilizada num evento (cairngorm) para popular
todos os dados no popup. Daí que o tal canvas maldito ainda não saiba o que
fazer, já que só mais tarde é que tem dados para fazer a tal verificação.
Estranho é a utilização do binding utils não resultar, já que deveria
permanecer activo durante a existência do popup, correcto? Por muito tarde
que a alteração da propriedade "a ouvir" aconteça, o binding deveria ser
executado quando esta acontecesse.
De qualquer forma, parece-me que está a funcionar como descrevi. Se me der
chatices, ou se me enervar, crio um watcher.
Miguel Vaz
2008/9/16 Juliano Feltraco <[EMAIL PROTECTED]>
>
> o que vc pode fazer é criar uma funcao no AS que faça essa validacao e
> retorneum boolean,
> ai vc seta essa funcao no visible do canvas
>
> Abraço
>
>
> 2008/9/16 Miguel Vaz <[EMAIL PROTECTED]>
>
> Boa tarde,
>>
>> É possivel fazer o seguinte por Actionscript?
>>
>>
>> <mx:Canvas visible="{(modelo.ListaAPops.getItemAt(posicao).tabela ==
>> 'prod_term') ? true : false}" x="0" y="130" id="termfog"/>
>>
>> reparem no código dentro do "visible". O que pretendo é activar o canvas
>> apenas quando aquela condição é verdadeira. Por mxml funciona, mas como
>> posso fazê-lo por AS?
>>
>> Isto não funciona:
>>
>> var termfog:Canvas = new Canvas();
>> termfog.x = 0;
>> termfog.y = 130;
>> termfog.id = "termfog";
>> termfog.visible = "{(modelo.ListaAPops.getItemAt(posicao).tabela ==
>> 'prod_term') ? true : false}"; // levo com erro aqui
>> this.addChild(termfog);
>>
>>
>> É possivel de alguma outra forma?
>>
>> Obrigado.
>>
>>
>> Miguel Vaz
>>
>>
>>
>>
>
>
> --
> >> Juliano Feltraco <<
> 9116-1179 - 3526-9786
>
> "A vida é feita de desafios..."
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Mailing List da Comunidade
Portuguesa de Desenvolvimento de RIAs - www.riapt.org" do Grupos Google.
Para enviar mensagens para este grupo, envie um email para
[email protected]
Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED]
Para mais opções, visite este grupo em
http://groups.google.com/group/riapt?hl=pt-PT
-~----------~----~----~----~------~----~------~--~---