--- 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 $'
! !