ExternalTopView.st
author Claus Gittinger <cg@exept.de>
Mon, 15 Feb 1999 18:47:38 +0100
changeset 1099 7e51aa0a78f3
parent 1098 bcd7b099bac8
child 1101 712810d0e8a9
permissions -rw-r--r--
checkin from browser

"
 COPYRIGHT (c) 1999 by eXept Software AG
              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.
"


TopView subclass:#ExternalTopView
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'Graphics-Support'
!

!ExternalTopView class methodsFor:'documentation'!

copyright
"
 COPYRIGHT (c) 1999 by eXept Software AG
              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.
"

!

documentation
"
    Represents a view as created by some other application.
    This is a support-class to allow ST/X views to be created
    inside other applications.

    A simple demoApplication is found in goodies/stxInExternalWindow.

    [author:]
        Claus Gittinger (cg@exept.de)

    [see also:]

    [instance variables:]
        none added here

    [class variables:]
        none added here
"
! !

!ExternalTopView class methodsFor:'instance creation'!

newWithID:anAlienWindowID
    ^ self new setWindowID:anAlienWindowID
! !

!ExternalTopView methodsFor:'private'!

checkWindowStillAlive
    "/ check for a destroyed topView (since we do not get any events from X)

    Transcript showCR:'check ...'.
    Processor 
        addTimedBlock:[self sensor pushUserEvent:#checkWindowStillAlive for:self]
        afterMilliseconds:2000
! !

!ExternalTopView methodsFor:'private accessing'!

setWindowID:aWindowID
    drawableId := aWindowID.
    realized := shown := true.
! !

!ExternalTopView methodsFor:'queries'!

isExternalTopView
    "return true, if this is an external topView - always true here"

    ^ true
! !

!ExternalTopView methodsFor:'redefined'!

destroyView
    "never destroyed by ST/X - instead, the view is under
     control of the host application ..."

    realized := false.
    drawableId := nil.
!

open
    "redefined to start a watch timeout for closed windows;
     this is required, since we wont get any closeRequest event for
     external windows (as all of its events are handled by the alien
     application)"

    super open.
    self checkWindowStillAlive
!

unmap
    "redefined as a noop;
     ExternalTopViews are never unmapped by ST/X - instead, the view is under
     control of the host application ..."


! !

!ExternalTopView class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/libview2/ExternalTopView.st,v 1.7 1999-02-15 17:47:38 cg Exp $'
! !