[ruby-gnome2-doc-cvs] [Hiki] create - tut-gtk-events

Back to archive index

ruby-****@sourc***** ruby-****@sourc*****
2004年 4月 8日 (木) 02:26:27 JST


-------------------------
REMOTE_ADDR = 80.137.231.102
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/de/?tut-gtk-events
-------------------------
= Ereignisse
{{link "tut-gtk-signals", "tut-gtk-intro", "tut-gtk", "tut-gtk-helloworld-details"}}

Zus舩zlich zu den oben erw臧nten Signal-Mechanismen, werden Ereignisse des XWindow-Systems ebenfalls in GTK wiedergegeben.

Hier ist eine ausfrliche Liste von abfangbaren Ereignissen:

* 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

Sie knen Code mit einem X11-spezifischen Ereignis auf gleiche gleiche Weise verbinden, wie wir gerade anhand der GTK-Signale gesehen haben. Verwenden Sie einfach einen der oben angegebenen Ereignisnamen anstelle von "event name":

  GLib::Instantiatable#signal_connect("event name") do
      # Code, der bei Empfang des Ereignisses "event name" ausgefrt werden soll.
  end

Der Callback-Block kann zwei Parameter annehmen, wie im folgenden Code beschrieben:

  GLib::Instantiatable#signal_connect("event name") do |w, e|
      # ...
  end

(in diesem Fall referenziert w das Widget, welches das Ereignis ausgelt hat und e das Ereignis selber).

In Abh舅gigkeit von dem Rkgabewert des Blocks kann GTK entscheiden, ob das Ereignis weiterverarbeitet werden soll oder nicht:

* wenn true, wird GTK die Ereignisverarbeitung hier beenden;
* wenn false, wird GTK das Ereignis weiter verbreiten [xxx explain more]

Au煥rdem senden GDK-Selektionen und Drag'n'Drop-Aktionen verschiedene Ereignisse, aber diese werden von GTK-Signalen wiedergespiegelt:

* selection_received
* selection_get
* drag_begin_event
* drag_end_event
* drag_data_delete
* drag_motion
* drag_drop
* drag_data_get
* drag_data_received








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