Re: detectando quando o mouse para de se mover duran te uma operação de drag n drop



Ubirajara, 

Determinar que a operação de drag and drop parou sem que o drop aconteça é algo que não faz sentido. Mas você pode checar quando o mouse fica parado por um determinado tempo usando o campo "time" da estrutura GdkEventMotion, e comparando as posições. Se passou um certo tempo (que você pode definir) e as posições não mudaram é porque o mouse está parado naquele ponto.

Abraço!

Bruno Boaventura
brunobol


2013/10/2 Rafael Ferreira <rafael f f1 gmail com>
Prezado Ubirajara,

Eu não poderei ajudá-lo em muito, tendo em vista que meus conhecimentos sobre GNOME ficam em volta da tradução da UI e documentação.
Porém, caso você não obtenha a resposta desejada aqui por outro contribuidor brasileiro, sugiro que tente obter esta pergunta na lista internacional (significa perguntas em inglês) de desenvolvimento de aplicativos em GTK, a 'gtk-app-devel' (https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list).

Abraços e boa sorte.
Rafael Ferreira


Em 2 de outubro de 2013 15:29, Ubirajara Marques da Cruz <biracruz cemig com br> escreveu:

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

 


_______________________________________________
gnome-br-list mailing list
gnome-br-list gnome org
https://mail.gnome.org/mailman/listinfo/gnome-br-list



_______________________________________________
gnome-br-list mailing list
gnome-br-list gnome org
https://mail.gnome.org/mailman/listinfo/gnome-br-list




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