change to only expect one single method to be (re)defined:
authorClaus Gittinger <cg@exept.de>
Wed, 29 Jun 2011 19:14:28 +0200
changeset 2913 a3a577a77dc1
parent 2912 f3466ea0810b
child 2914 18cff2d0daff
change to only expect one single method to be (re)defined: processEvent. The others are left for backward compatibility, for now.
EventListener.st
--- a/EventListener.st	Mon Jun 27 15:58:20 2011 +0200
+++ b/EventListener.st	Wed Jun 29 19:14:28 2011 +0200
@@ -61,6 +61,12 @@
 "
 ! !
 
+!EventListener class methodsFor:'others'!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libview2/EventListener.st,v 1.28 2011-06-29 17:14:28 cg Exp $'
+! !
+
 !EventListener methodsFor:'event handling'!
 
 buttonMotion:buttonAndModifierState x:x y:y view:aView
@@ -154,21 +160,60 @@
     "Modified: 23.4.1996 / 21:58:17 / cg"
 ! !
 
+!EventListener methodsFor:'event handling-basic'!
+
+processEvent:ev
+    "process an event; if true is returned, the event is considered to be
+     'eaten' by the listener, and not passed to the view.
+     If false is returned, the event is processed as usual.
+     Here, the event is dispatched into one of the button*/key* etc. methods"
+
+    "/ subclasses may do:
+    "/    |eventHasBeenProcessed|
+    "/
+    "/    eventHasBeenProcessed := false.
+    "/    Error handle:[:ex |
+    "/        ('Listener [info]: error while processing event: ' , ex description) infoPrintCR.
+    "/    ] do:[
+    "/        eventHasBeenProcessed := ev dispatchWithViewArgumentTo:self
+    "/    ].
+    "/    ^ eventHasBeenProcessed
+
+    ^ false
+
+    "Modified: / 29-06-2011 / 19:13:18 / cg"
+! !
+
 !EventListener methodsFor:'events-window creation'!
 
 postCreateView:aView
+    "a synthetic event:
+     some view was created"
+
     ^ self
+
+    "Modified: / 29-06-2011 / 18:55:53 / cg"
 !
 
 preCreateView:aView
+    "a synthetic event:
+     some view is about to be created;
+     gives me a chance to intercept and change size, origin, color, etc."
+
     ^ self
+
+    "Modified: / 29-06-2011 / 18:54:19 / cg"
 !
 
 preCreateView:aView origin:org
-    "invoked right before a view is about to be physically created.
+    "Obsolete now - the system will now send a preCreateView: event (without origin arg).
+     not really an event:
+     invoked right before a view is about to be physically created.
      May return a new origin."
 
     ^ org
+
+    "Modified: / 29-06-2011 / 18:55:23 / cg"
 ! !
 
 !EventListener methodsFor:'listen'!
@@ -188,31 +233,9 @@
     "
 !
 
-processEvent:ev
-    "process an event; if true is returned, the event is considered to be
-     'eaten' by the listener, and not passed to the view.
-     If false is returned, the event is processed as usual.
-     Here, the event is dispatched into one of the button*/key* etc. methods"
-
-    |eventHasBeenProcessed|
-
-    eventHasBeenProcessed := false.
-    Error handle:[:ex |
-        ('Listener [info]: error while processing event: ' , ex description) infoPrintCR.
-    ] do:[
-        eventHasBeenProcessed := ev dispatchWithViewArgumentTo:self
-    ].
-    ^ eventHasBeenProcessed
-!
-
 unlisten
     "uninstall myself as listener"
 
     WindowSensor removeEventListener:self 
 ! !
 
-!EventListener class methodsFor:'documentation'!
-
-version
-    ^ '$Header: /cvs/stx/stx/libview2/EventListener.st,v 1.27 2009-06-01 08:43:48 cg Exp $'
-! !