detectando quando o mouse para de se mover durante uma ope ração de drag n drop



Para a lista,

 

Tenho desenvolvido uma aplicação onde tenho a necessidade de saber quando o mouse para de se mover sobre um “drop” site quando estou na operação drag-motion. Este sinal é útil para algumas coisas que preciso fazer nesta aplicação porém já procurei bastante na documentação GDK, GTK , GLIB mas este evento e consequentemente os sinais que poderiam ser ligados ele não estão ainda disponíveis.

 

Sei que posso criar sinais porém não vi na documentação como posso criar novos eventos que podem ser enviados para main-loop e consequentemente ativar os sinais ligados aos widgets.

 

Um exemplo desta situação é a seguinte: O evento GDKEVENTMOTION nada mais é do que uma função que verifica na estrutura do mouse que fornecida pelo sistema operacional se os eixos x e y sofreram alteração deste a última volta do loop dentro da janela da aplicação. Se houve modificação este evento é ativado e enviado para a gtk_main_loop que verifica quais widget usam este evento e por conseguinte emite os sinais que estejam ligados neste evento nos respectivos widgets.

 

Eu estou precisando montar este caminho  para que o evento seja emitido para as seguintes condições:

1)      O botão do mouse ainda está pressionado

2)      Estou na operação de drag and drop (emitindo o sinal drag-motion)

3)      Estou no widget alvo da operação de drop (região válida para o drop)

4)      O ponteiro (mouse) parou ou está parado sobre a região de drop válida

 

Quando o mouse parar deverá ser emitido apenas uma vez o sinal drag-motion-stopped (movimento de arrastar parou)

 

Este sinal deverá ser resetado quando o evento drag-leave for ativado.

 

Gostaria de saber se alguém na lista pode me ajudar a encontrar uma solução para este ponto.

 

Favor responder mesmo que negativamente,

 

Muito obrigado.

 

Ubirajara Marques da Cruz

Engenheiro de Projetos Elétricos

Gerência de Engenharia Eletromecânica de Expansão da Geração e de Fontes Alternativas

Diretoria de Geração e Transmissão
Companhia Energética de Minas Gerais – Cemig

Telefone: 55 (31) 3506-4602

Email: biracruz cemig com br

www.cemig.com.br

Descrição: cid:image002.jpg@01CD973D.26DD29C0

 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]