[ruby-gnome2-doc-cvs] [Hiki] update - tut-gtk-signaux-plus

Back to archive index

ruby-****@sourc***** ruby-****@sourc*****
2003年 8月 20日 (水) 23:27:47 JST


-------------------------
REMOTE_ADDR = 81.51.53.4
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/fr?tut-gtk-signaux-plus
-------------------------
- = Plus sur les gestionnaires de signaux
+ = Compl駑ent sur les gestionnaires de signaux
  
  Jetons un autre coup d'oeil GLib::Instantiatable#signal_connect:
  
    % irb --simple-prompt
    >> require 'gtk2'
    => true
    >> b = Gtk::Button.new("hoge")
    => #<Gtk::Button:0x40a2a858 ptr=0x8237df8>
    >> b.signal_connect("clicked") { puts 1 }
    => 1
    >> b.signal_connect("clicked") { puts 2 }
    => 2
    >>
  
  Avez-vous remarqule nombre entier retourn
  
  Il s'agit d'une marque identifiant votre bloc de code de rappel.  Comme vous pouvez le constater
  plus haut, vous pouvez installer autant de gestionnaires de signaux que vous voulez sur un objet, 
  et ils seront tous ex馗ut駸 dans l'ordre de leur installation.
  
  Nous allons maintenant 駑ettre un signal manuellement.  La m騁hode 
  GLib::Instantiatable#emit_signal va envoyer un signal sp馗ifipar un nom de signal passen argument.
  
  Nous pouvons observer ici que nos blocs de code sont appel駸 dans l'ordre de leur installation:
  
    >> b.signal_emit("clicked")
    1 
    2
    => nil
    >>
  
  GLib::Instantiatable#signal_handler_disconnect est utilispour retirer un gestionnaire de signal pr饌lablement install en se basant sur une marque retourn馥 par GLib::Instantiatable#signal_connect:
  
    >> b.signal_handler_disconnect 1
    => #<Gtk::Button:0x40a2a858 ptr=0x8237df8>
    >> b.signal_emit("clicked")
    2
    => nil
    >>
  
  Vous pouvez temporairement d駸activer un bloc de code de rappel avec 
  GLib::Instantiatable#signal_handler_block et GLib::Instantiatable#signal_handler_unblock:
  
    >> b.signal_handler_block 2
    => #<Gtk::Button:0x40a2a858 ptr=0x8237df8>
    >> b.signal_emit("clicked")
    => nil
    >> b.signal_handler_unblock 2
    => #<Gtk::Button:0x40a2a858 ptr=0x8237df8>
    >> b.signal_emit("clicked")
    2
    => nil
    >>





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