code cleanup - now a subclass of MessageSend - thats what it is really
authorClaus Gittinger <cg@exept.de>
Tue, 05 Sep 2000 21:14:50 +0200
changeset 3295 84de6d18b9d1
parent 3294 6bcc3e052d34
child 3296 fb69ad59287d
code cleanup - now a subclass of MessageSend - thats what it is really
WindowEvent.st
--- a/WindowEvent.st	Tue Sep 05 20:29:50 2000 +0200
+++ b/WindowEvent.st	Tue Sep 05 21:14:50 2000 +0200
@@ -12,8 +12,8 @@
 
 "{ Package: 'stx:libview' }"
 
-Object subclass:#WindowEvent
-	instanceVariableNames:'view type arguments delegatedFrom consumed'
+MessageSend subclass:#WindowEvent
+	instanceVariableNames:'delegatedFrom consumed'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'Interface-Support'
@@ -26,20 +26,6 @@
 	privateIn:WindowEvent
 !
 
-WindowEvent subclass:#ClientEvent
-	instanceVariableNames:'eventData'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:WindowEvent
-!
-
-WindowEvent::InputEvent subclass:#ButtonEvent
-	instanceVariableNames:''
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:WindowEvent
-!
-
 WindowEvent subclass:#UserEvent
 	instanceVariableNames:''
 	classVariableNames:''
@@ -54,6 +40,20 @@
 	privateIn:WindowEvent
 !
 
+WindowEvent::InputEvent subclass:#ButtonEvent
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:WindowEvent
+!
+
+WindowEvent subclass:#DamageEvent
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:WindowEvent
+!
+
 WindowEvent::InputEvent subclass:#FocusEvent
 	instanceVariableNames:''
 	classVariableNames:''
@@ -61,6 +61,13 @@
 	privateIn:WindowEvent
 !
 
+WindowEvent subclass:#ClientEvent
+	instanceVariableNames:'eventData'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:WindowEvent
+!
+
 !WindowEvent class methodsFor:'documentation'!
 
 copyright
@@ -243,16 +250,10 @@
 
 !WindowEvent methodsFor:'accessing'!
 
-arguments
-    "return the arguments of the event"
-
-    ^ arguments
-!
-
 arguments:anArray
     "set the arguments"
 
-    arguments := anArray
+    args := anArray
 !
 
 delegatedFrom
@@ -277,25 +278,37 @@
 rectangle
     "return the damage rectangle"
 
-    ^ arguments "consider this a kludge"
+    ^ args "consider this a kludge"
+!
+
+target
+    "return the target, for which the event is for"
+
+    ^ receiver
+!
+
+target:anObject
+    "set the target, for which the event is for"
+
+    receiver := anObject
 !
 
 type
     "return the type of the event"
 
-    ^ type
+    ^ selector
 !
 
 view
     "return the view, for which the event is for"
 
-    ^ view
+    ^ receiver
 !
 
 view:aView
     "set the view, for which the event is for"
 
-    view := aView
+    receiver := aView
 !
 
 x
@@ -306,7 +319,8 @@
 !
 
 x:ignoredInteger
-    ^ nil
+    "set the x coordinate - ignored here.
+     only for button- and keyEvents"
 !
 
 y
@@ -317,7 +331,8 @@
 !
 
 y:ignoredInteger
-    ^ nil
+    "set the y coordinate - ignored here.
+     only for button- and keyEvents"
 ! !
 
 !WindowEvent methodsFor:'dispatching'!
@@ -325,22 +340,21 @@
 dispatchTo:anObject
     "send this event to anObject"
 
-    ^ anObject perform:type withArguments:arguments
+    ^ anObject perform:selector withArguments:args
 !
 
 dispatchWithViewArgumentTo:anObject
     "send this event to anObject, and pass an additional view argument"
 
-    arguments size = 0 ifTrue:[
+    args size = 0 ifTrue:[
         ^ anObject 
-            perform:(type , ':') asSymbol
-            with:view
+            perform:(selector , ':') asSymbol
+            with:receiver
     ].
 
     ^ anObject 
-        perform:(type , 'view:') asSymbol
-        withArguments:(arguments copyWith:view)
-
+        perform:(selector , 'view:') asSymbol
+        withArguments:(args copyWith:receiver)
 ! !
 
 !WindowEvent methodsFor:'printing & storing'!
@@ -349,9 +363,9 @@
     "return a string for display in inspectors etc."
 
     ^ self className 
-      , '(' , type storeString 
-      , ' view: ' , view className 
-      , ' args: ' , arguments displayString
+      , '(' , selector storeString 
+      , ' view: ' , receiver className 
+      , ' args: ' , args displayString
       , ')'
 
     "Created: 7.3.1996 / 14:55:50 / cg"
@@ -363,9 +377,9 @@
 for:aView type:aSymbol arguments:argArray
     "set the instance variables of the event"
 
-    view := aView.
-    type := aSymbol.
-    arguments := argArray
+    receiver :=  aView.
+    selector := aSymbol.
+    args := argArray
 ! !
 
 !WindowEvent methodsFor:'queries'!
@@ -405,17 +419,27 @@
 isButtonEvent
     "return true, if this event is a button event"
 
-    ^ (type == #buttonPress:x:y:) 
-      or:[type == #buttonRelease:x:y:
-      or:[type == #'buttonShiftPress:x:y:'
-      or:[type == #'buttonMultiPress:x:y:'
-      or:[type == #'buttonMotion:x:y:']]]]
+    ((selector == #'buttonPress:x:y:') 
+      or:[selector == #'buttonRelease:x:y:'
+      or:[selector == #'buttonShiftPress:x:y:'  "/ soon obsolete
+      or:[selector == #'buttonMultiPress:x:y:'  "/ soon obsolete
+      or:[selector == #'buttonMotion:x:y:']]]])
+
+    ifTrue:[
+        self halt:'should no longer happen'.
+        ^ true.
+    ].
+    ^ false
 !
 
 isButtonMotionEvent
     "return true, if this event is a buttonMotion event"
 
-    ^ (type == #buttonMotion:x:y:)
+    (selector == #'buttonMotion:x:y:') ifTrue:[
+        self halt:'should no longer happen'.
+        ^ true.
+    ].
+    ^ false
 
     "Created: 5.3.1997 / 12:25:43 / cg"
 !
@@ -423,7 +447,12 @@
 isButtonPressEvent
     "return true, if this event is a buttonPress event"
 
-    ^ (type == #buttonPress:x:y:)
+    (selector == #'buttonPress:x:y:')
+    ifTrue:[
+        self halt:'should no longer happen'.
+        ^ true.
+    ].
+    ^ false
 
     "Created: 5.3.1997 / 12:25:43 / cg"
 !
@@ -431,7 +460,12 @@
 isButtonReleaseEvent
     "return true, if this event is a buttonPress event"
 
-    ^ (type == #buttonRelease:x:y:)
+    (selector == #'buttonRelease:x:y:')
+    ifTrue:[
+        self halt:'should no longer happen'.
+        ^ true.
+    ].
+    ^ false
 
     "Created: 5.3.1997 / 12:25:43 / cg"
 !
@@ -439,20 +473,20 @@
 isConfigureEvent
     "return true, if this is a damage event"
 
-    ^ type == #'configureX:y:width:height:'
+    ^ selector == #'configureX:y:width:height:'
 !
 
 isDamage
     "return true, if this is a damage event"
 
-    ^ type == #damage
+    ^ selector == #damage
 !
 
 isDamageForView:aView
     "return true, if this is a damage event"
 
-    type == #damage ifTrue:[
-        view == aView ifTrue:[
+    selector == #damage ifTrue:[
+        receiver == aView ifTrue:[
             ^ true
         ]
     ].
@@ -462,7 +496,12 @@
 isFocusEvent
     "return true, if this event is a focusIn/focusOut event"
 
-    ^ (type == #focusIn) or:[type == #focusOut]
+    ((selector == #focusIn) or:[selector == #focusOut])
+    ifTrue:[
+        self halt:'should no longer happen'.
+        ^ true.
+    ].
+    ^ false
 
     "Created: 5.3.1997 / 12:12:37 / cg"
 !
@@ -470,7 +509,12 @@
 isFocusInEvent
     "return true, if this event is a focusIn event"
 
-    ^ (type == #focusIn)
+    (selector == #focusIn)
+    ifTrue:[
+        self halt:'should no longer happen'.
+        ^ true.
+    ].
+    ^ false
 
     "Created: 5.3.1997 / 12:18:10 / cg"
 !
@@ -511,19 +555,19 @@
 isMapEvent
     "return true, if this is a map event event"
 
-    ^ type == #mapped
+    ^ selector == #mapped
 
     "Created: / 29.1.1998 / 21:52:54 / cg"
 !
 
 isMouseWheelEvent
-    ^ type == #mouseWheelMotion:x:y:amount:deltaTime:
+    ^ selector == #mouseWheelMotion:x:y:amount:deltaTime:
 !
 
 isPointerEnterEvent
     "return true, if this event is a pointer-enter event"
 
-    ^ (type == #'pointerEnter:x:y:')
+    ^ (selector == #'pointerEnter:x:y:')
 
     "Created: 9.1.1996 / 15:51:24 / cg"
     "Modified: 9.1.1996 / 15:51:40 / cg"
@@ -532,8 +576,8 @@
 isPointerEnterLeaveEvent
     "return true, if this event is a pointer-enter/leave event"
 
-    ^ (type == #'pointerEnter:x:y:') 
-      or:[type == #'pointerLeave:']
+    ^ (selector == #'pointerEnter:x:y:') 
+      or:[selector == #'pointerLeave:']
 
     "Created: 9.1.1996 / 15:51:18 / cg"
 !
@@ -541,7 +585,7 @@
 isPointerLeaveEvent
     "return true, if this event is a pointer-leave event"
 
-    ^ type == #'pointerLeave:'
+    ^ selector == #'pointerLeave:'
 
     "Created: 9.1.1996 / 15:51:36 / cg"
 !
@@ -549,7 +593,7 @@
 isUnmapEvent
     "return true, if this is an unmap event event"
 
-    ^ type == #unmapped
+    ^ selector == #unmapped
 
     "Modified: / 29.1.1998 / 21:53:02 / cg"
 !
@@ -557,17 +601,17 @@
 isUserEvent
     "return true, if this event is a user event (i.e. mouse, keyboard or button)"
 
-    (type == #buttonPress:x:y:) ifTrue:[^ true].
-    (type == #buttonRelease:x:y:) ifTrue:[^ true].
-    (type == #buttonShiftPress:x:y:) ifTrue:[^ true].
-    (type == #buttonMultiPress:x:y:) ifTrue:[^ true].
-    (type == #buttonMotion:x:y:) ifTrue:[^ true].
+    (selector == #buttonPress:x:y:) ifTrue:[^ true].
+    (selector == #buttonRelease:x:y:) ifTrue:[^ true].
+    (selector == #buttonShiftPress:x:y:) ifTrue:[^ true].
+    (selector == #buttonMultiPress:x:y:) ifTrue:[^ true].
+    (selector == #buttonMotion:x:y:) ifTrue:[^ true].
 
-    (type == #keyPress:x:y:) ifTrue:[^ true].
-    (type == #keyRelease:x:y:) ifTrue:[^ true].
+    (selector == #keyPress:x:y:) ifTrue:[^ true].
+    (selector == #keyRelease:x:y:) ifTrue:[^ true].
 
-    (type == #pointerEnter:x:y:) ifTrue:[^ true].
-"/    (type == #pointerLeave:) ifTrue:[^ true].
+    (selector == #pointerEnter:x:y:) ifTrue:[^ true].
+"/    (selector == #pointerLeave:) ifTrue:[^ true].
 
     ^ false
 
@@ -726,115 +770,12 @@
     "Created: / 21.5.1999 / 19:49:30 / cg"
 ! !
 
-!WindowEvent::ClientEvent methodsFor:'accessing'!
-
-eventData
-    "return the value of the instance variable 'eventData' (automatically generated)"
-
-    ^ eventData
-
-    "Created: 4.4.1997 / 17:41:50 / cg"
-!
-
-eventData:something
-    "set the value of the instance variable 'eventData' (automatically generated)"
-
-    eventData := something.
-
-    "Created: 4.4.1997 / 17:41:57 / cg"
-! !
-
-!WindowEvent::ButtonEvent methodsFor:'accessing'!
-
-button
-    "return the button nr of the button-event"
-
-    ^ arguments at:1
-!
-
-state
-    "return the button state of the button-event
-     (mouse button bits at the time of the event)."
-
-    ^ arguments at:1
-
-    "Created: / 12.11.1998 / 16:21:18 / cg"
-!
-
-x
-    "return the x coordinate of the button-event
-     (mouse position at the time of the event)."
-
-    ^ arguments at:2
-
-    "Created: 1.8.1997 / 13:58:15 / cg"
-!
-
-x:anInteger
-    "change the x coordinate of the button-event"
-
-    ^ arguments at:2 put:anInteger
-
-    "Created: 1.8.1997 / 13:58:15 / cg"
-!
-
-y
-    "return the y coordinate of the button-event
-     (mouse position at the time of the event)."
-
-    ^ arguments at:3
-
-    "Created: 1.8.1997 / 13:58:07 / cg"
-!
-
-y:anInteger
-    "change the y coordinate of the button-event"
-
-    ^ arguments at:3 put:anInteger
-
-    "Created: 1.8.1997 / 13:58:15 / cg"
-! !
-
-!WindowEvent::ButtonEvent methodsFor:'queries'!
-
-isButtonEvent
-    "return true, if this event is a button event"
-
-    ^ true
-
-    "Created: 4.4.1997 / 13:44:11 / cg"
-!
-
-isButtonMotionEvent
-    "return true, if this event is a buttonMotion event"
-
-    ^ (type == #buttonMotion:x:y:)
-
-    "Created: 4.4.1997 / 13:44:22 / cg"
-!
-
-isButtonPressEvent
-    "return true, if this event is a buttonPress event"
-
-    ^ (type == #buttonPress:x:y:)
-
-    "Created: 4.4.1997 / 13:44:22 / cg"
-!
-
-isButtonReleaseEvent
-    "return true, if this event is a buttonRelease event"
-
-    ^ (type == #buttonRelease:x:y:)
-
-    "Created: 4.4.1997 / 13:44:22 / cg"
-! !
-
 !WindowEvent::KeyboardEvent methodsFor:'accessing'!
 
 key
     "return the key of the key-event."
 
-    ^ arguments at:1
+    ^ args at:1
 
     "Created: 1.8.1997 / 13:55:19 / cg"
 !
@@ -842,7 +783,7 @@
 key:aCharacterOrSymbol
     "change the key of the key-event."
 
-    arguments at:1 put:aCharacterOrSymbol
+    args at:1 put:aCharacterOrSymbol
 
     "Created: 1.8.1997 / 13:55:19 / cg"
 !
@@ -863,7 +804,7 @@
     "return the x coordinate of the key-event
      (mouse position at the time of the key-event)."
 
-    ^ arguments at:2
+    ^ args at:2
 
     "Created: 1.8.1997 / 13:57:27 / cg"
 !
@@ -871,15 +812,14 @@
 xy:anInteger
     "change the x coordinate of the key-event"
 
-    ^ arguments at:2 put:anInteger
-
+    ^ args at:2 put:anInteger
 !
 
 y
     "return the y coordinate of the key-event
      (mouse position at the time of the key-event)."
 
-    ^ arguments at:3
+    ^ args at:3
 
     "Created: 1.8.1997 / 13:55:19 / cg"
     "Modified: 1.8.1997 / 13:57:42 / cg"
@@ -888,8 +828,7 @@
 y:anInteger
     "change the y coordinate of the key-event"
 
-    ^ arguments at:3 put:anInteger
-
+    ^ args at:3 put:anInteger
 ! !
 
 !WindowEvent::KeyboardEvent methodsFor:'queries'!
@@ -905,7 +844,7 @@
 isKeyPressEvent
     "return true, if this event is a keyboard press event"
 
-    ^ (type == #keyPress:x:y:)
+    ^ (selector == #keyPress:x:y:)
 
     "Created: / 28.1.1998 / 00:02:40 / cg"
     "Modified: / 28.1.1998 / 00:02:52 / cg"
@@ -914,11 +853,96 @@
 isKeyReleaseEvent
     "return true, if this event is a keyboard release event"
 
-    ^ (type == #keyRelease:x:y:)
+    ^ (selector == #keyRelease:x:y:)
 
     "Created: / 28.1.1998 / 00:02:48 / cg"
 ! !
 
+!WindowEvent::ButtonEvent methodsFor:'accessing'!
+
+button
+    "return the button nr of the button-event"
+
+    ^ args at:1
+!
+
+state
+    "return the button state of the button-event
+     (mouse button bits at the time of the event)."
+
+    ^ args at:1
+
+    "Created: / 12.11.1998 / 16:21:18 / cg"
+!
+
+x
+    "return the x coordinate of the button-event
+     (mouse position at the time of the event)."
+
+    ^ args at:2
+
+    "Created: 1.8.1997 / 13:58:15 / cg"
+!
+
+x:anInteger
+    "change the x coordinate of the button-event"
+
+    args at:2 put:anInteger
+
+    "Created: 1.8.1997 / 13:58:15 / cg"
+!
+
+y
+    "return the y coordinate of the button-event
+     (mouse position at the time of the event)."
+
+    ^ args at:3
+
+    "Created: 1.8.1997 / 13:58:07 / cg"
+!
+
+y:anInteger
+    "change the y coordinate of the button-event"
+
+    ^ args at:3 put:anInteger
+
+    "Created: 1.8.1997 / 13:58:15 / cg"
+! !
+
+!WindowEvent::ButtonEvent methodsFor:'queries'!
+
+isButtonEvent
+    "return true, if this event is a button event"
+
+    ^ true
+
+    "Created: 4.4.1997 / 13:44:11 / cg"
+!
+
+isButtonMotionEvent
+    "return true, if this event is a buttonMotion event"
+
+    ^ (selector == #buttonMotion:x:y:)
+
+    "Created: 4.4.1997 / 13:44:22 / cg"
+!
+
+isButtonPressEvent
+    "return true, if this event is a buttonPress event"
+
+    ^ (selector == #buttonPress:x:y:)
+
+    "Created: 4.4.1997 / 13:44:22 / cg"
+!
+
+isButtonReleaseEvent
+    "return true, if this event is a buttonRelease event"
+
+    ^ (selector == #buttonRelease:x:y:)
+
+    "Created: 4.4.1997 / 13:44:22 / cg"
+! !
+
 !WindowEvent::FocusEvent methodsFor:'queries'!
 
 isFocusEvent
@@ -932,13 +956,31 @@
 isFocusInEvent
     "return true, if this event is a focusIn event"
 
-    ^ (type == #focusIn)
+    ^ (selector == #focusIn)
 
     "Created: / 21.5.1999 / 19:45:04 / cg"
 ! !
 
+!WindowEvent::ClientEvent methodsFor:'accessing'!
+
+eventData
+    "return the value of the instance variable 'eventData' (automatically generated)"
+
+    ^ eventData
+
+    "Created: 4.4.1997 / 17:41:50 / cg"
+!
+
+eventData:something
+    "set the value of the instance variable 'eventData' (automatically generated)"
+
+    eventData := something.
+
+    "Created: 4.4.1997 / 17:41:57 / cg"
+! !
+
 !WindowEvent class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/WindowEvent.st,v 1.66 2000-09-05 18:29:50 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/WindowEvent.st,v 1.67 2000-09-05 19:14:50 cg Exp $'
 ! !