シグナルハンドラ
前回、「イベントくっつける」とか言ったけど、違うな。
イベントに対して処理をくっつけるんだな。
でもって、その処理はひとつのシグナルにいくつもくっつくそーな。
require 'gtk2' button = Gtk::Button.new('Hello World') one_callback_block_tag = button.signal_connect(:clicked){ puts 'One' } two_callback_block_tag = button.signal_connect(:clicked){ puts 'Two' } three_callback_block_tag = button.signal_connect(:clicked){ puts 'Three' } button.signal_emit(:clicked) puts '='*60 button.signal_handler_disconnect(two_callback_block_tag) button.signal_emit(:clicked) puts '='*60 button.signal_emit(:clicked) puts '-'*50 button.signal_handler_block(one_callback_block_tag) button.signal_emit(:clicked) puts '-'*50 button.signal_handler_unblock(one_callback_block_tag) button.signal_emit(:clicked) puts '='*60 button.signal_handler_unblock(three_callback_block_tag) #=> Gtk Warning