ruby-****@sourc*****
ruby-****@sourc*****
2003年 8月 16日 (土) 00:09:29 JST
------------------------- REMOTE_ADDR = 217.117.54.155 REMOTE_HOST = URL = http://ruby-gnome2.sourceforge.jp/fr?tut-gtk2-evenements ------------------------- = Ev駭ements Les 騅駭ements du serveur X Window sont 馮alement propag駸 dans GTK, de la m麥e fa輟n que les signaux dont nous venons de voir. Voici une liste exhaustive des 騅駭ements pouvant 黎re intercept駸 dans GTK: * 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 Vous pouvez connecter un bloc de code un signal X11 sp馗ifique exactement de la m麥e mani鑽e que nous venons de voir avec les signaux GTK. Il suffit simplement de procurer un des noms d'騅駭ements cit駸 plus haut la place de "nom du signal": GLib::Instantiatable#signal_connect("nom de l'騅駭ement") do # Code 騙馗uter la r馗eption de "nom de l'騅駭ement". end Le code de callback peut accepter 2 param黎res, comme ceci: GLib::Instantiatable#signal_connect("nom de l'騅駭ement") do |c, e| # ... end (dans ce cas, c pointera sur le widget, et e sur l'騅駭ement). En fonction de la valeur de retour du bloc de code, GTK d馗idera si l'騅駭ement doit-黎re propagou non: * vrai (((*true*))), GTK consid駻era que l'騅駭ement a 騁traitici, et arr黎era sa propagation; * faux (((*false*))), GTK continuera de propager l'騅駭ement. De la m麥e fa輟n, les s駘ections et le glisser-d駱oser((-En anglais, ((*drag-and-drop*)).-)) GDK sont aussi disponibles: * selection_received * selection_get * drag_begin_event * drag_end_event * drag_data_delete * drag_motion * drag_drop * drag_data_get * drag_data_received