CONTROLANDO EVENTOS

LUIS.HERRERA 31/10/2012 11:13:23
#413254
Bom dia.
Não sei se o título está correto, mas...

Estou criando Notificações via popup para meu sistema. Fiz uma junção de códigos, onde alguns popups serão uma imagen personalizada e outros somente um form otimizado.
Já consegui fazer funcionar como preciso, inclusive com som de abertura.

O problema é que o sistema irá disparar eventos e alguns deles irão ativar a popup para informar ao usuário. O que ocorre é que um evento pode sobrepor a outro e assim duas popups ou mais serem abertas simultaneamente, isso fará com que uma fique soprepondo a outra

Como eu poderia fazer para controlar a abertura das popups em função de sua chamada, ou seja, interceptar a chamada e colocar tipo numa fila de espera, e quando uma fosse fechada, abriria a outra?

Alguma idéia?
KERPLUNK 31/10/2012 11:19:10
#413257
Crie um [Ô]pool[Ô] de mensagens que serão as pop-ups em si. Esse pool, contém dados da mensagem e exibição. Quando for mostrar, verifique no pool se existe alguma mensagem sendo exibida, recalcule o local da exibição, de acordo com o número de pop-ups sendo exibidas no momento
LUIS.HERRERA 31/10/2012 11:24:02
#413258
Kerplunk bom dia.
Não sei como seria crira o [Ô]Pool[Ô], mas não gostaria de ter inúmeros popups pela tela pelas seguintes razões:
- poluiria a tela
- cada uma tem um tempo de visibilidade, e tendo várias o usuário não conseguiria ler todas,
- se perderia com a abertura de algumas em sequência, perdendo a atenção da que estava lendo
- se forem muitas (não é esse o objetivo claro), teria problemas ao atingir o topo da tela do monitor

O que acho mais viável é exibir uma, e quando fechar ter alguma forma de checar uma fila e abrir a próxima. O problema é que não estou sabendo como criar essa fila e fazer seu gerenciamento.
KERPLUNK 31/10/2012 12:20:42
#413265
Então, a fila que você se refere é o pool, que estou falando, é uma list genérica de uma classe que você vai criar, que vai conter os dados do pop-up. A parte do seu código onde a pop-up é exibida, vai consultar dessa lista e vai exibir a mais antiga sempre, pelo tempo que você vai determinar(uma das propriedades da classe que você vai criar) e ao terminar de exibir, exclui essa pop-up da exibição, ou marca como [Ô]já exibida[Ô], e passa para a próxima.
LUIS.HERRERA 31/10/2012 12:25:06
#413268
Você teria um exemplo de como montar essa classe de pool?
KERPLUNK 31/10/2012 13:47:12
#413277
A classe é uma classe simples contendo as propriedades que você precisar. O Pool, é simplesmente um list genérico de objetos dessa classe.
Tópico encerrado , respostas não são mais permitidas