Squeak Class Documentation category index | class index  
 
ControlManager
  category: Kernel-ST80 Remnants
  superclass: Object
  subclasses:

I represent the top level control over scheduling which controller of a view on the screen the user is actively using. ScheduledControllers is the global reference to an instance of me, the one attached to the Project currently being used.

instance methods
  accessing
  activeController
activeController:
activeControllerNoTerminate:andProcess:
activeControllerProcess
controllerSatisfying:
controllerWhoseModelSatisfies:
controllersSatisfying:
includes:
noteNewTop
removeAllControllersSatisfying:
scheduledControllers
scheduledWindowControllers
screenController
windowOriginsInUse

  displaying
  backgroundForm:
restore
restore:
restore:below:without:
restore:without:
updateGray

  initialize-release
  initialize
release

  private
  nextActiveController
scheduled:from:
unCacheWindows

  scheduling
  activateController:
activateTranscript
findWindow
findWindowSatisfying:
inActiveControllerProcess
interruptName:
promote:
resetActiveController
scheduleActive:
scheduleActiveNoTerminate:
scheduleOnBottom:
schedulePassive:
searchForActiveController
unschedule:
windowFromUser

class methods
  exchange
  newScheduler:

  instance creation
  new

  snapshots
  shutDown
startUp

instance methods
  accessing top  
 

activeController

Answer the currently active controller.


 

activeController:

Set aController to be the currently active controller. Give the user
control in it.


 

activeControllerNoTerminate:andProcess:

Set aController to be the currently active controller and aProcess to be
the the process that handles controller scheduling activities in the
system. This message differs from activeController:andProcess: in that it
does not send controlTerminate to the currently active controller.


 

activeControllerProcess

Answer the process that is currently handling controller scheduling
activities in the system.


 

controllerSatisfying:

Return the first scheduled controller which satisfies the 1-argument boolean-valued block, or nil if none. 7/25/96 sw


 

controllerWhoseModelSatisfies:

Return the first scheduled controller whose model satisfies the 1-argument boolean-valued block, or nil if none. 5/6/96 sw


 

controllersSatisfying:

Return a list of scheduled controllers satisfying aBlock


 

includes:


 

noteNewTop


 

removeAllControllersSatisfying:

Unschedule and delete all controllers satisfying aBlock. May not leave the screen exactly right sometimes.


 

scheduledControllers

Answer a copy of the ordered collection of scheduled controllers.


 

scheduledWindowControllers

Same as scheduled controllers, but without ScreenController.
Avoids null views just after closing, eg, a debugger.


 

screenController


 

windowOriginsInUse

Answer a collection of the origins of windows currently on the screen in the current project. 5/21/96 sw


  displaying top  
 

backgroundForm:


 

restore

Clear the screen to gray and then redisplay all the scheduled views. Try to be a bit intelligent about the view that wants control and not display it twice if possible.


 

restore:

Restore all windows visible in aRectangle


 

restore:below:without:

Restore all windows visible in aRectangle, but without aView


 

restore:without:

Restore all windows visible in aRectangle


 

updateGray

From Georg Gollmann - 11/96. tell the Screen Controller's model to use the currently-preferred desktop color.


  initialize-release top  
 

initialize

Initialize the receiver to refer to only the background controller.


 

release

Refer to the comment in Object|release.


  private top  
 

nextActiveController

Answer the controller that would like control.
If there was a click outside the active window, it's the top window
that now has the mouse, otherwise it's just the top window.


 

scheduled:from:


 

unCacheWindows


  scheduling top  
 

activateController:

Make aController, which must already be a scheduled controller, the active window. 5/8/96 sw


 

activateTranscript

There is known to be a Transcript open in the current project; activate it. 2/5/96 sw


 

findWindow

Present a menu of window titles, and activate the one that gets chosen.


 

findWindowSatisfying:

Present a menu of window titles, and activate the one that gets chosen


 

inActiveControllerProcess

Answer whether the active scheduling process is the actual active
process in the system.


 

interruptName:

Create a Notifier on the active scheduling process with the given label. Make the Notifier the active controller.


 

promote:

Make aController be the first scheduled controller in the ordered
collection.


 

resetActiveController

When saving a morphic project whose parent is mvc, we need to set this up first


 

scheduleActive:

Make aController be scheduled as the active controller. Presumably the
active scheduling process asked to schedule this controller and that a
new process associated this controller takes control. So this is the last act
of the active scheduling process.


 

scheduleActiveNoTerminate:

Make aController be the active controller. Presumably the process that
requested the new active controller wants to keep control to do more
activites before the new controller can take control. Therefore, do not
terminate the currently active process.


 

scheduleOnBottom:

Make aController be scheduled as a scheduled controller, but not the
active one. Put it at the end of the ordered collection of controllers.


 

schedulePassive:

Make aController be scheduled as a scheduled controller, but not the
active one. Put it at the beginning of the ordered collection of
controllers.


 

searchForActiveController

Find a scheduled controller that wants control and give control to it. If
none wants control, then see if the System Menu has been requested.


 

unschedule:

Remove the view, aController, from the collection of scheduled
controllers.


 

windowFromUser

Present a menu of window titles, and returns the StandardSystemController belonging to the one that gets chosen, or nil if none


class methods
  exchange top  
 

newScheduler:

When switching projects, the control scheduler has to be exchanged. The
active one is the one associated with the current project.


  instance creation top  
 

new

Answer a new instance of the receiver (which is a class) with no indexable variables. Fail if the class is indexable.


  snapshots top  
 

shutDown

Saves space in snapshots


 

startUp

This message is sent to registered classes when the system is coming up.