InputView.st
author claus
Fri, 03 Jun 1994 02:54:13 +0200
changeset 22 24b4aff428c0
parent 21 66b31c91177f
child 23 11c422f6d825
permissions -rw-r--r--
Initial revision

"
 COPYRIGHT (c) 1990 by Claus Gittinger
              All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"

View subclass:#InputView
       instanceVariableNames:'eventReceiver'
       classVariableNames:   ''
       poolDictionaries:     ''
       category:'Views-Basic'
!

InputView comment:'
COPYRIGHT (c) 1990 by Claus Gittinger
              All Rights Reserved
'!

!InputView class methodsFor:'documentation'!

copyright
"
 COPYRIGHT (c) 1990 by Claus Gittinger
              All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"
!

version
"
$Header: /cvs/stx/stx/libview2/InputView.st,v 1.4 1994-06-03 00:53:18 claus Exp $
"
!

documentation
"
    a view for input only - forwarding all events to another object.
    This kind of view can be used to be laid ontop of another view to catch all
    input. (Interface builder)
    NOTICE: the event forwarding is a leftover from times when not delegation mechanism
            existed - it will vanish - use delegates for new code.
"
! !

!InputView methodsFor:'initialization'!

initialize
    super initialize.
    borderWidth := 0
! !

!InputView methodsFor:'accessing'!

inputOnly
    ^ true
!

eventReceiver:aView
    eventReceiver := aView
! !

!InputView methodsFor:'redefined dummy'!

setViewBackground
    "inputviews have no background"

    ^ self
! !

!InputView methodsFor:'event handling'!

exposeX:x y:y width:w height:h
    "will never be received"
    ^ self
!

keyPress:key x:x y:y
    "redefined to forward event"

    eventReceiver notNil ifTrue:[
        eventReceiver keyPress:key x:x y:y
    ]
!

keyRelease:key x:x y:y
    "redefined to forward event"

    eventReceiver notNil ifTrue:[
        eventReceiver keyRelease:key x:x y:y
    ]
!

buttonShiftPress:button x:x y:y
    "redefined to forward event"

    eventReceiver notNil ifTrue:[
        eventReceiver buttonShiftPress:button x:x y:y
    ]
!

buttonPress:button x:x y:y
    "redefined to forward event"

    eventReceiver notNil ifTrue:[
        eventReceiver buttonPress:button x:x y:y
    ]
!

buttonRelease:button x:x y:y
    "redefined to forward event"

    eventReceiver notNil ifTrue:[
        eventReceiver buttonRelease:button x:x y:y
    ]
!

buttonMotion:state x:x y:y
    "redefined to forward event"

    eventReceiver notNil ifTrue:[
        eventReceiver buttonMotion:state x:x y:y
    ]
!

focusIn
    "redefined to forward event"

    eventReceiver notNil ifTrue:[
        eventReceiver focusIn
    ]
!

focusOut
    "redefined to forward event"

    eventReceiver notNil ifTrue:[
        eventReceiver focusOut
    ]
!

pointerEnter:state x:x y:y
    "redefined to forward event"

    eventReceiver notNil ifTrue:[
        eventReceiver pointerEnter:state x:x y:y
    ]
!

pointerLeave:state
    "redefined to forward event"

    eventReceiver notNil ifTrue:[
        eventReceiver pointerLeave:state
    ]
! !