[squeak-dev] Finding a UIManager
Frank Shearar
frank.shearar at gmail.com
Sat Dec 7 19:23:12 UTC 2013
At the moment, "UIManager default" delegates to Project current
uiManager, which looks like this:
Project >> uiManager
"Answer the manager that provides user interface services for this project "
^ uiManager
ifNil: [uiManager := Smalltalk
at: #UIManager
ifPresent: [:mgr | uiManager := mgr getDefault]]
I'm not sure why we do this. I guess it's to let different Projects
use their own UIManager. What I don't like is that this makes
ToolBuilder-Kernel depend on System (which depends on
ToolBuilder-Kernel). If I made UIManager default _not_ delegate to
Project, I could break this dependency. (ToolBuilder would then be
conceptually lower level than System.)
For instance,
UIManager class >> #default
^ Default ifNil: [Default := self getDefault].
Another option would be to push Project into Kernel, but I'm reluctant
to do that.
Thoughts? Alternatives?
frank
More information about the Squeak-dev
mailing list
|