Criar  Editar  FrontPage  Índices  Buscar  Alterações  History  RSS  Login

tips_signals

Investigue os comportamentos de sinais (eventos)

Como vcê acha os sinais que precisa ?

Alguns sinais representativos são achados em vários exemplos, mas outros não podem ser achados em lugar nenhum, mesmo nas documentações de "API" do GTK+.

Esta é uma introdução sobre como eu acho.

1 Tentar todos os sinais no componente (widget) que preciso

Quando eu quero saber os comportamentos dos sinais, eu escrevo scripts de teste como abaixo, num primeiro momento.

Tente clicar no componente, pressionar as teclas, mover o componente, então você pode investigar qual/quando os sinais são emitidos.

require 'gtk2'
widget = Gtk::Button.new("clique")        #(1)
Gtk::Button.signals(false).each do |v|   #(2)
  p v
  widget.signal_connect(v) do
    p "#{v} ocorreu."
  end
end
Gtk::Window.new.set_default_size(100, 100).add(widget).show_all
Gtk.main

Este é um exemplo que usa Gtk::Button. Mas você pode investigar outros componentes/sinais ao mudar (1) e (2).

Se você precisa saber os sinais da super-classe, configure para true em GLib::MetaInterface.signals?.

2 Investigar um sinal mais a fundo

Então, você acha alguns sinais para investigar mais a fundo, tente o script abaixo.

require 'gtk2'
v = "clicado"                            #(1)
widget = Gtk::Button.new("clique")        #(2)
widget.signal_connect(v) do
  p "#{v} ocorreu."
end
Gtk::Window.new.set_default_size(100, 100).add(widget).show_all
Gtk.main

Altere (1) e (2) como precisar.

Log de Alterações

2003-07-08 Masao Mutoh
Versão inicial

Autor da Tradução para Português: Joao Pedrosa

Last modified:2006/07/02 15:09:59
Keyword(s):
References:[Ruby-GNOME2 Tips]