Keoma,

é bem o que o Mario explicou, não tem segredo nenhum.

Deixei o meu PresentationModel no Beans como Prototype, acredito que pode
deixar normal se não precisar de lazy-loading nele, e na implementação do
meu PresentationModel simplesmente coloquei um método publico com a Metadata
[ViewAdded] e com o tipo da view que ele precise guardar a referência, algo
mais ou menos assim:

public class UserPresentationModel {
 private var view:UserView;
  [Dispatcher]
 public var dispatcher:IEventDispatcher;
 [ViewAdded]
 public function setView(value:UserView):void {
view = value;
 }
 public function addNewUserTab():void {
 var uf:UserForm = new UserForm();
 uf.visible = true;
 uf.includeInLayout = true;
 view.viewStack.addElement(uf);
 view.viewStack.selectedChild = uf;
}
}

Tudo acontece automagicamente e o código da View fica extremamente limpo :)


2011/6/28 Mário Júnior <[email protected]>

> Mas é tao simples q nem precisa de exemplo... basta usar as metadatas em
> qualquer método (desde q sejam public) e em qualquer classe (recomendado
> usar em PresentationModels, mas nada impede de usar num Controller, por
> exemplo).
>
> Toda vez q a view (fortemente tipada no argumento do método) aparecer na
> tela, o método será executado.
> A mesma coisa para o ViewRemoved, para quando a view "sair" da tela.
>
>
> Enquanto o SpringAS e o Parsley tem lentas atualizações/correçoes, o
> RobotLegs ainda te obriga a escrever Mediators inuteis e o Mate continuando
> hibernando no limbo, o Swiz continua em franco desenvolvimento e mantém-se
> muito mais leve q os demais fws :)
>
> gogogo Swiz!
>
>
> []'s
>
>
>
>
> Em 28 de junho de 2011 09:35, Keoma Cherulli <[email protected]>escreveu:
>
> Eles ainda não postaram nenhum exemplo prático com a nova funcionalidade
>> vide ( https://github.com/swiz/swiz-examples)
>>
>> se alguém tiver um projetinho desses poderia colocar online/blog/github
>> etc
>>
>>
>>
>> 2011/6/27 Fredy Gadotti <[email protected]>
>>
>>> Testei aqui e funcionou perfeitamente com o jeito que explica no link:
>>> http://swizframework.jira.com/wiki/display/SWIZ/View+Mediator
>>>
>>> Obrigado novamente :)
>>>
>>>
>>> 2011/6/27 Fredy Gadotti <[email protected]>
>>>
>>>> Muito obrigado Mário!
>>>> Vou dar uma lida e verificar a melhor maneira de adaptar o meu código.
>>>>
>>>>
>>>>
>>>> Fredy.
>>>>
>>>>
>>>> 2011/6/27 Mário Júnior <[email protected]>
>>>>
>>>>> Antigamente faziamos assim:
>>>>>
>>>>> Na View:
>>>>>
>>>>> [PostConstruct]
>>>>> public function postConstructHandler():void
>>>>> {
>>>>>     pm.view = this;
>>>>>     //e la dentro do pm vc pode manipular a view livremente.
>>>>> }
>>>>>
>>>>>
>>>>> Depois, o Brian Kotek criou um Custom Metadata Processor q faz isso
>>>>> automaticamente:
>>>>> https://github.com/brian428/swiz-viewmediatorlib/wiki
>>>>>
>>>>>
>>>>> E, desde 2 semanas atrás, foi lançado o swiz 1.2 já com o View Mediator
>>>>> Pattern implementado:
>>>>> http://swizframework.jira.com/wiki/display/SWIZ/View+Mediator
>>>>>
>>>>>
>>>>>
>>>>> []'s
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Em 27 de junho de 2011 22:38, Fredy Gadotti <[email protected]>escreveu:
>>>>>
>>>>>> Hello List<Pessoas>,
>>>>>>
>>>>>> qual a melhor maneira de trabalhar com Swiz e PresentationModel,
>>>>>> quando eu preciso interagir diretamente com a View, e não uma View 
>>>>>> Passiva,
>>>>>> como demonstra a maioria dos exemplos de PresentationModel.
>>>>>>
>>>>>> Tenho uma View com uma TabBar e um ViewStack e preciso adicionar um
>>>>>> novo NavigatorContent ao meu ViewStack.
>>>>>>
>>>>>> Fico no aguardo, desde já obrigado! :)
>>>>>>
>>>>>>
>>>>>> Att,
>>>>>>
>>>>>>
>>>>>> Fredy.
>>>>>>
>>>>>> --
>>>>>> 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
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Mario Junior
>>>>> http://blog.mariojunior.com/
>>>>> @mariojunior
>>>>>
>>>>> --
>>>>> 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
>>>>
>>>>
>>>>
>>>  --
>>> 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
>>>
>>
>>  --
>> 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
>>
>
>
>
> --
> Mario Junior
> http://blog.mariojunior.com/
> @mariojunior
>
> --
> 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
>

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