[ruby-gnome2-doc-cvs] [Hiki] create - astuces_signaux

Back to archive index

ruby-****@sourc***** ruby-****@sourc*****
2003年 8月 12日 (火) 06:41:01 JST


-------------------------
REMOTE_ADDR = 217.117.54.155
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/fr?astuces_signaux
-------------------------
= Investiguer le comportement des signaux
Comment trouvez-vous les signaux dont vous avez besoin dans vos programmes?

Certains signaux importants peuvent se trouver en lisant des programmes d'exemples, mais d'autres ne sont m麥e pas r馭駻enc駸 dans la documentation de l'API GTK+.

Voici une petite astuce pour directement trouver le signal ad駲uat.

== 1 Tester tous les signaux d'un widget
Lorsque j'ai besoin de tester le comportement de tous les signaux pour un widget en particulier, j'馗ris tout d'abord un petit script de test comme ci-dessous.

Essayez de cliquer sur le widget, d'appuyer sur les touches du clavier, de d駱lacer le widget, etc... afin d'investiguer la nature et le moment de l'駑ission des signaux.

 require 'gtk2'
 Gtk.init
 widget = Gtk::Button.new("click")        #(1)
 Gtk::Button.signals(false).each do |v|   #(2)
   p v
   widget.signal_connect(v) do
     p "#{v} a 騁駑is!"
   end
 end
 Gtk::Window.new.set_default_size(100, 100).add(widget).show_all
 Gtk.main

Cet exemple utilise Gtk::Button, mais vous pouvez tester d'autres widgets en modifiant (1) et (2).

Pour conna〓re la classe m鑽e des signaux, affectez ((*true*)) GLib::MetaInterface.signals.

== 2 Tester un signal en particulier
Pour tester un signal en particulier, essayez le script suivant:

 require 'gtk2'
 Gtk.init
 v = "clicked"                            #(1)
 widget = Gtk::Button.new("click")        #(2)
 widget.signal_connect(v) do
   p "#{v} a 騁駑is!"
 end
 Gtk::Window.new.set_default_size(100, 100).add(widget).show_all
 Gtk.main

Modifiez (1) et (2) en cons駲uence.

== Modifications
:2003-07-08 Masao Mutoh
 Premi鑽e version

Traduction de la page anglaise par Laurent Sansonetti.





ruby-gnome2-cvs メーリングリストの案内
Back to archive index