ruby-****@sourc*****
ruby-****@sourc*****
2003年 10月 20日 (月) 19:42:34 JST
------------------------- REMOTE_ADDR = 62.10.96.29 REMOTE_HOST = URL = http://ruby-gnome2.sourceforge.jp/it?tut-gtk-events ------------------------- = Eventi In aggiunta al meccanismo di segnali sopra, gli eventi dal X Window Server rispecchiano anche quelli in GTK. Sotto una lista completa degli eventi intercettati: * event * button_press_event * button_release_event * scroll_event * motion_notify_event * delete_event * destroy_event * expose_event * key_press_event * key_release_event * enter_notify_event * leave_notify_event * configure_event * focus_in_event * focus_out_event * map_event * unmap_event * property_notify_event * selection_clear_event * selection_request_event * selection_notify_event * proximity_in_event * proximity_out_event * visibility_notify_event * client_event * no_expose_event * window_state_event Si pucollegare del codice a uno specifico evento X11 esattamente nello stesso modo come si visto con i segnali GTK; basta fornire un "nome evento" visto sopra, invece di "nome segnale": GLib::Instantiatable#signal_connect("event name") do # Codice da eseguire per la ricezione di "nome evento". end Il codice callback puaccettare 2 parametri, come i seguenti: GLib::Instantiatable#signal_connect("event name") do |w, e| # ... end (in questo caso, 'w' si riferisce al widget e 'e' all'evento). In base al valore restituito dal codice blocco, GTK deciderse l'evento dovrpropagarsi o no: * se vero, GTK fermerl'esecuzione dell'evento; * se falso, GTK continuera propagare l'evento [xxx significa pi Anche le selezioni GDK e molti eventi drag-and-drop, ma questi sono riferiti ai segnali GTK: * selection_received * selection_get * drag_begin_event * drag_end_event * drag_data_delete * drag_motion * drag_drop * drag_data_get * drag_data_received