Não, não são. Confesso que seria uma boa se assim fosse, seria
intuitivo, mas os eventos currentStateChange e currentStateChanging
são disparados quando você modifica específicamente a propriedade
currentState do viewStack ou do Accordion. Caso estenda o componente,
dai sim poderá criar states internos para o seu CustomViewStack ou
CustomAccordion, e modificando a propriedade padrão currentState
disparará estes eventos.

O modelo mental ideal (best case) seria criar states para sua app,
assim você até controla o disparo de outras mensagens e coloca uns
efeitinhos...rs

No mais, da pra usar apenas o evento change(não o currentStateChange)
tanto do viewStack quanto do Accordion como o guilherme sugeriu, que
se componentizado direitinho mantém o acoplamento em ordem.

Abs!

On 15 mar, 14:24, Guilherme Sjlender <guisjlen...@gmail.com> wrote:
> Se não me engano.... a troca de telas com o viewStack e o Accordion são
> utilizando States....
> por isso do evento "currentStateChange"
> Ele será acionado a cada troca de tela!
>
> Outra coisa... Utilizar state é bom mas também é complicado... o código fica
> complicado para trabalhar... mas isso é algo particular meu.
> ^^
>
> Mas é isso... outra forma de resolver um determinado problema.
>
> Fuiii
>
> Em 15 de março de 2010 14:22, Marcos Arruda 
> <marcos.f.arr...@gmail.com>escreveu:
>
>
>
> > Repeti "states" algumas vezes... vício de escrever 
> > rápido.rs<http://xn--rpido-xqa.rs>Enfim,
> > states é a melhor solução e resolverá outros problemas que você nem
> > imagina que possa ter.
>
> > Abs,
>
> > On 15 mar, 14:19, Marcos Arruda <marcos.f.arr...@gmail.com> wrote:
> > > Uma melhor forma de resolver este problema sem usar os eventos CHANGE
> > > dos Navigators(ViewStack, Accordion etc.) é usando states. Usar os
> > > eventos change resolve o problema mas da responsabilidade do form para
> > > o ViewStack e/ou para o Accordion.
> > > Sugiro você definir states para a sua aplicação. Dessa forma, você
> > > colocará o listener apenas em um único lugar: Na mudança do state.
> > > Quando o state mudar, você verifica se o state anterior era o que
> > > possui o form visível (ex: FORM_EDIT_STATE). Se sim, você dispara a
> > > mensagem.
>
> > > Isso possibilita um controle muito melhor do estado da aplicação.
> > > Muitas coisas interessantes podem ser feitas usando states, que no
> > > Flash Builder 4 ficaram melhor ainda.
>
> > > Abs,
>
> > > Marcos Arruda
>
> > > On 15 mar, 12:12, Guilherme Sjlender <guisjlen...@gmail.com> wrote:
>
> > > > Olhe a API do Flex!
>
> > > > Se você olhac lá veria que no Accordion existe os eventos change,
> > > > currentStateChange e currentStateChanging.
> > > > Verá que na viewStack tem os eventos change, childIndexChange,
> > > > currentStateChange e currentStateChanging.
>
> > > > Dependendo a sua necessidade você pode criar um addEventListener
> > referente
> > > > ao evento que você quer tratar...
>
> > > > Boa sorte.
> > > > <
> >http://livedocs.adobe.com/flex/3/langref/mx/core/UIComponent.html#eve...>
> > > > Em 15 de março de 2010 11:59, Bruno Carneiro
> > > > <guimaraescarne...@gmail.com>escreveu:
>
> > > > > Eu conheço eventos.
>
> > > > > Minhas dúvidas:
> > > > > 1- Que evento usar?
> > > > > 2- Se não existe um evento específico, vou ter que criar um evento.
> > > > > Como dispará-lo? Eu conheço o dispatchEvent, não é disso que estou
> > > > > falando. Eu quero saber é como eu vou disparar esse evento antes da
> > > > > modificação ocorrer. Porque a ação acontece no click do viewstack ou
> > > > > do accordion eu vou ter que extender esses componentes para disparar
> > > > > meu evento?
>
> > > > > Acho que a resposta para o meu problema não é trivial.
>
> > > > > On 15 mar, 11:47, Guilherme Sjlender <guisjlen...@gmail.com> wrote:
> > > > > > Cada Ação que você faz em um componente, seja Clicar com o Mouse,
> > Fechar
> > > > > a
> > > > > > tela, Passar o Mouse por cima do componente, etc... tudo isso é
> > disparado
> > > > > um
> > > > > > evento.... a base das ações do Flex é feita por eventos....
>
> > > > > > Para que você conciga trabalhar nessa sua idéia, acredito que vc
> > tenha
> > > > > que
> > > > > > estudar essa parte....
>
> > > > > > Olhe na documentação da API do Flex os eventos do viewStack e do
> > > > > > Accordion... assim você terá uma luz de como fazer isso.
> > > > > > Acho que é melhor você estudar do que ganhar isso pronto, assim
> > você irá
> > > > > > aprender de verdade isso!
>
> > > > > > Boa sorte e qualquer coisa, tenha a bondade =)
>
> > > > > > Em 15 de março de 2010 11:39, Bruno Carneiro
> > > > > > <guimaraescarne...@gmail.com>escreveu:
>
> > > > > > > Eu estava pensando em tratar isso no projeto do meu sistema.
>
> > > > > > > Definir uma classe Tela para todas as telas do meu sistema. Tela
> > seria
> > > > > > > um container que aparece para o usuário como uma tela.
>
> > > > > > > Nessa minha classe eu teria um método fechar que sempre que fosse
> > > > > > > disparado iria disparar o método fechar de todas as telas filho
> > desse
> > > > > > > objeto. Além disso, no hide das minhas telas eu chamo o método
> > fechar.
>
> > > > > > > Assim, quando eu mudar o item do viewstack, o hide do minha tela
> > iria
> > > > > > > disparar e chamar a função fechar. Que chamaria o fechar de todos
> > os
> > > > > > > filhos. Como o meu form é um filho desse componente acabaria por
> > ter
> > > > > > > seu metodo fechar sendo executado. A mesma coisa quando eu mudar
> > o
> > > > > > > index do accordion, como o form é filho acabaria tendo seu fechar
> > > > > > > chamado.
>
> > > > > > > Ai no fechar do form, eu pergunto: "Deseja sair sem salvar?"
>
> > > > > > > Mas se o usuário clicar em "Cancel" como eu iria previnir a
> > mudança?
>
> > > > > > > Opsss.. hehehe minha idéia não deu... preciso melhorá-la =]
>
> > > > > > > On 15 mar, 11:30, Bruno Carneiro <guimaraescarne...@gmail.com>
> > wrote:
> > > > > > > > Não entendi...
>
> > > > > > > > Não conhecia essa variável change, de onde ela vem? Ou é pra eu
> > criar
> > > > > > > > uma variável com esse nome?
>
> > > > > > > > Como vou "ouvir" dentro do meu form os eventos que acontece nos
> > pais
> > > > > > > > dele para poder tratar?
>
> > > > > > > > On 15 mar, 10:38, Guilherme Sjlender <guisjlen...@gmail.com>
> > wrote:
>
> > > > > > > > > Use a variável change e trate os dois componentes no em uma
> > mesma
> > > > > > > função...
>
> > > > > > > > > Consegue compreender?
>
> > > > > > > > > Att.
>
> > > > > > > > > Em 15 de março de 2010 10:26, Bruno Carneiro
> > > > > > > > > <guimaraescarne...@gmail.com>escreveu:
>
> > > > > > > > > > Seguinte, tenho um formulário em um accordion.
>
> > > > > > > > > > E este acordion está dentro de um viewstack.
>
> > > > > > > > > > Eu gostaria que toda vez que o usuário "saísse" do
> > formulário,
> > > > > caso o
> > > > > > > > > > formulário não tenha sido enviado, que uma pergunta fosse
> > feita:
> > > > > > > > > > "Deseja salvar as alterações".
>
> > > > > > > > > > Mas eu não sei exatamente como tratar esse "sair".
>
> > > > > > > > > > Sair seria, ou mudar a aba do accordion, ou mudar o
> > viewstack.
> > > > > > > Existem
> > > > > > > > > > duas formas de sair, eu queria tratar isso dentro do
> > próprio
> > > > > > > > > > formulário, não queria ter que fazer essa verificação no
> > > > > accordion
> > > > > > > nem
> > > > > > > > > > no viewstack pois acho que iria embolar o código.
>
> > > > > > > > > > Alguém saberia uma forma legal de fazer isso?
>
> > > > > > > > > > Obs.: o evento hide do form não serve, pois quando mudo o
> > > > > viewstack o
> > > > > > > > > > visible não muda e não dispara o evento hide do form.
>
> > > > > > > > > > --
> > > > > > > > > > Você recebeu esta mensagem porque está inscrito na lista
> > > > > "flexdev"
> > > > > > > > > > Para enviar uma mensagem, envie um e-mail para
> > > > > > > flexdev@googlegroups.com
> > > > > > > > > > Para sair da lista, envie um email em branco para
> > > > > > > > > > flexdev-unsubscr...@googlegroups.com
> > > > > > > > > > Mais opções estão disponíveis emhttp://
> > > > > > > groups.google.com/group/flexdev
>
> > > > > > > > > --
> > > > > > > > > -----------------------------------------------------------
> > > > > > > > > Guilherme Sjlender                            -
> > > > > > > > > Desenvolvedor RIA - Flex/Java         -http://site.gflex.biz
> > > > > > >           -
> > > > > > > > > ------------------------------------------------
>
> > > > > > > --
> > > > > > > Você recebeu esta mensagem porque está inscrito na lista
> > "flexdev"
> > > > > > > Para enviar uma mensagem, envie um e-mail para
> > > > > flexdev@googlegroups.com
> > > > > > > Para sair da lista, envie um email em branco para
> > > > > > > flexdev-unsubscr...@googlegroups.com
> > > > > > > Mais opções estão disponíveis emhttp://
> > groups.google.com/group/flexdev
>
> > > > > > --
> > > > > > -----------------------------------------------------------
> > > > > > Guilherme Sjlender                            -
> > > > > > Desenvolvedor RIA - Flex/Java         -http://site.gflex.biz
> > > > >           -
> > > > > > ------------------------------------------------
>
> > > > > --
> > > > > Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > > > > Para enviar uma mensagem, envie um e-mail para
> > flexdev@googlegroups.com
> > > > > Para sair da lista, envie um email em branco para
> > > > > flexdev-unsubscr...@googlegroups.com
> > > > > Mais opções estão disponíveis emhttp://
> > groups.google.com/group/flexdev
>
> > > > --
> > > > -----------------------------------------------------------
> > > > Guilherme Sjlender                            -
> > > > Desenvolvedor RIA - Flex/Java         -http://site.gflex.biz
> >           -
> > > > ------------------------------------------------
>
> > --
> > Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> > Para sair da lista, envie um email em branco para
> > flexdev-unsubscr...@googlegroups.com
> > Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev
>
> --
> -----------------------------------------------------------
> Guilherme Sjlender                            -
> Desenvolvedor RIA - Flex/Java         -http://site.gflex.biz                  
>     -
> ------------------------------------------------

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a