[squeak-dev] How should one implement a custom window color for a custom window?

Eliot Miranda eliot.miranda at gmail.com
Mon May 8 20:42:07 UTC 2017


Hi Marcel, Hi All,

    at one point I had implemented custom window colors for the VM
simulator window thusly:

InterpreterPrimitives class>>initialize
"Initialize the window color.  This is probably Squeak-specific, so..."
[Preferences
setWindowColorFor: #cogVirtualMachineSimulatorWindowColor
to: (Color colorFrom: InterpreterPrimitives windowColorSpecification
brightColor)]
on: Error
do: [:ex| Transcript show: 'Failed to set window color preference in ',
thisContext method methodReference asString]

SimulatorMorphicModel class>>registerWindowColor
(Preferences windowColorFor: self name) = Color white
ifTrue: [ Preferences setWindowColorFor: self name to: (Color colorFrom:
self windowColorSpecification brightColor) ].

This approach is now deprecated, causing the load script to protest.  But
the deprecation message isn't helpful.  The setter setWindowColorFor:to:
just says the method is deprecated, not suggesting any alternative.  The
getter Preferences class>>#windowColorFor: just says 'Use Model >>
#customWindowColor', but the method isn't implemented in any class.

Where's an example of the right way to do it?  Could the deprecation
warnings be more informative?

thanks
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20170508/383e0576/attachment.html>


More information about the Squeak-dev mailing list