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

Back to archive index

ruby-****@sourc***** ruby-****@sourc*****
2004年 5月 15日 (土) 05:26:56 JST


-------------------------
REMOTE_ADDR = 217.255.29.32
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/de/?tips_signals
-------------------------
{{link nil, "Ruby-GNOME2+Tips", nil, nil}}

= Das Verhalten von Signalen erkunden
Wie finden Sie heraus, welche Signale Sie benigen?

Einige repr舖entative Signale knen in vielen Beispielen gefunden werden, aber andere werden nicht einmal in den GTK+ API-Dokumentationen beschrieben.

Hier wird beschrieben, wie man diese findet.

== 1. Probieren Sie alle Signale eines verwendeten Widgets aus
Wenn Sie das Verhalten von Signalen kennen wollen, schreiben Sie Testskripte wie das folgende.

Versuchen Sie, das Widget anzuklicken, Tasten auf der Tastatur zu drken, das Widget zu bewegen. Dann knen Sie herausfinden, welche Signale wann gesendet werden.

 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} is occured."
   end
 end
 Gtk::Window.new.set_default_size(100, 100).add(widget).show_all
 Gtk.main

Das ist ein Beispiel, in dem ein Gtk::Button benutzt wird. Sie knen aber selbstverst舅dlich andere Widgets und Signale untersuchen, indem Sie (1) und (2) anpassen.

Wenn Sie wissen msen, welche Signale die Superklasse enth舁t, weisen Sie GLib::MetaInterface.signals auf true.

== 2. Ein Signal genauer untersuchen
Im zweiten Schritt, wenn Sie Details er Signale benigen, probieren Sie das folgende Skript:

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

Ver舅dern Sie (1) und (2), je nach Ihren Bedfnissen.

== ChangeLog
:08.07.2003 Masao Mutoh
 Initial Release





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