Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rochester!cornell!uw-beaver!tektronix!tekcrl!tekchips!allenw From: allenw@tekchips.TEK.COM (Brock) Newsgroups: comp.lang.smalltalk Subject: Re: MVC question Message-ID: <1408@tekchips.TEK.COM> Date: Thu, 2-Jul-87 13:03:14 EDT Article-I.D.: tekchips.1408 Posted: Thu Jul 2 13:03:14 1987 Date-Received: Sat, 4-Jul-87 08:55:57 EDT References: <4282@caip.rutgers.edu> Organization: Tektronix Inc., Beaverton, Or. Lines: 47 Summary: Over-ride either of these methods ... In article <4282@caip.rutgers.edu>, peskin@caip.rutgers.edu (R. L. Peskin) writes: > It appears that on the Sun and Tek versions, when a > view is covered, it is saved as of its last active state; and when re-exposed > it is not actually redrawn. Perhaps the Xerox implementation always redraws? > > Does anyone have the correct explanation for this, and more important, > how to get around the problem? We are doing a full two and three dim. > general graphics utility in smalltalk, and need multiple views that behave > normally even when uncovered. We want to avoid implementation dependant > features. You are correct, the Tektronix (and presumably PPS) images save the image of a view when it is deactivated and use the saved image to redraw the view when it is re-entered. The 1108 image probably doesn't do this. Under the Tektronix image this behavior can be totally disabled by executing the expression: Smalltalk saveSpace: true. or it may be selectively disabled on a per view type basis by over-riding either of the following methods: StandardSystemView>>saveDisplayForm StandardSystemView>>validDisplayForm This would be done by making the top level view of you editor a subclass of StandardSystemView which redefines either or both the these methods. saveDisplayForm is the method which actually saves the image of what is currently on the screen. If this method does nothing then the view will always be completely regenerated when ever it is reactivated. validDisplayForm returns true is there is a valid saved image of the view (usually meaning that saveDisplayForm has done its job). It could be redefined to also check to see if the view has been updated since the last time saveDisplayForm was executed. PPS' version presumably has similar but probably different methods. You could probably define you class so that it over-rode both the Tek methods and the corresponding PPS methods. Allen Wirfs-Brock Tektronix Inc. allenw@spt.Tek.com