ruby-****@sourc*****
ruby-****@sourc*****
2012年 10月 27日 (土) 11:29:21 JST
------------------------- REMOTE_ADDR = 74.14.158.59 REMOTE_HOST = URL = http://ruby-gnome2.sourceforge.jp/hiki.cgi?tut-gtk2-mnstbs-statb ------------------------- @@ -216,4 +216,4 @@ When working with signals we usually have to be concerned about the callback block parameters that are passed along when a callback is invoked. Namely, if we use a single callback method for two different signals, like in our ((*statusbar_hint*)) method, we should rely on these parameters to identify which event occurred, and most likely which device (in our case menu item) emitted it. Both ((*'enter-notify-event'*)) and ((*'leave-notify-event'*)) pass the signal emitting widget, and the Gdk::EventCrossing object which is a descendant of Gdk::Event object that will provide us with the needed info, namely whether we are dealing with an entering or leaving cursor. For that we use the Gdk::Event#event_type accessor method retrieving either Gdk::Event::ENTER_NOTIFY or Gdk::Event::LEAVE_NOTIFY event id value. -To identify the menu item in our 'create_popup_menu' and finally in the signal handler 'statusbar_hint' method, we had to do some preparation work at the time when menu items were created. We assigned them the name by calling Gtk::Widget#name=. We use this name in two places: (1) to store status messages in a hash where this widget's (menu item's) name is the key, and (2) in callback method where we use this menu item's name as a key to retrieve the appropriate message. +To identify the menu item in our 'create_popup_menu' and finally in the callback 'statusbar_hint' method, we had to do some preparation work at the time when menu items were created. We assigned them the name by calling Gtk::Widget#name=. We use this name in two places: (1) to store status messages in a hash where this widget's (menu item's) name is the key, and (2) in callback - signal handler method (statusbar_hint), where we use this menu item's name as a key to retrieve the appropriate message.