Old code:
Smalltalk isMorphic
ifTrue:
[self buildMorphicViewOn: aSyntaxError.
CurrentProjectRefactoring newProcessIfUI: Processor activeProcess.
^ Processor activeProcess suspend].
I started with:
self buildViewOn: aSyntaxError. "Using Polymorph?"
UIManager default spawnNewProcessIfThisIsUI: Processor activeProcess.
^ Processor activeProcess suspend.
But #spawnNewProcessIfThisIsUI: is only defined for MorphicUIManager, which delegates to Project (I didn't know Project was even still in the image). It seems the UIManager hierarchy needs to be cleaned, but I don't understand it well enough. Some questions:
* why does Project still exist? It doesn't seem very useful...
* does Project play well with UIManager e.g. if DummyUIManager is active, does Project answer nil to #uiProcess?
* is it reasonable to have a default UIManager>>#spawnNewProcessIfThisIsUI: that doesn't do anything, and override in UIManagers with UIs?
Sean
Cheers,
Sean