Dismiss
InnovationQ will be updated on Tuesday, September 18, from 8-9pm ET. You may experience brief service interruptions during this time. See here for details on our Australian patent collection updates.
Browse Prior Art Database

Window Saving Technique to Improve Smalltalk/V PM Responses time

IP.com Disclosure Number: IPCOM000105454D
Original Publication Date: 1993-Aug-01
Included in the Prior Art Database: 2005-Mar-19
Document File: 2 page(s) / 65K

Publishing Venue

IBM

Related People

Eisen, IR: AUTHOR [+1]

Abstract

Windows which require many subpanes and extensive processing are frequently very slow to come up in Smalltalk/V* PM. This article describes a technique which greatly speeds up this processing.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 53% of the total text.

Window Saving Technique to Improve Smalltalk/V PM Responses time

      Windows which require many subpanes and extensive processing
are frequently very slow to come up in Smalltalk/V* PM.  This article
describes a technique which greatly speeds up this processing.

      Smalltalk/V PM applications which use windows that require many
subpanes and extensive processing are frequently very slow to create
the window and make it visible.  This article describes a technique
for creating the window and saving it so that the window creation
time for an application is greatly reduced.

      The technique is for the ViewManager subclass to create a class
variable in which to store the window.  The ViewManager subclass also
creates a class variable to determine if the window is in use.  A
typical class definition for this type of application would be:

ViewManager subclass: #MyApplication
  instanceVariableNames: 'var1 var2 var3'
  classVariableNames:
    'SavedWindowInUse SavedWindow '
  poolDictionaries:
    'NLSText WBConstants '

The class then provides an openOn: method which will use the saved
window if it is available.  The openOn: method would work in
conjunction with an open method which actually builds the window.  A
typical openOn: method follows:
openOn: anObject

(SavedWindow isNil)
  ifTrue: [
        self open.                   -there is no saved window so
                                      create one
        SavedWindow:= views at: 1.   -save the created window
        SavedWindowInUse := true.  ]  -set the flag to indicate the
saved
                                          -window is in use
  ifFalse: [
  (SavedWindowInUse)
    ifTrue: [  self open ]        -the saved window is in use so
creat
 another

    fFalse: [
        views add: SavedWindow.        -use the saved window for this
instance
        (SavedWindow owner) become: self.  -reset the saved window's
owner
                                             -to be this instance
        PMWindowLibrary                           -make the window a
child of
          setParent: (SavedWindow parent handle)  -the desktop so
that
                         ...