[squeak-dev] Abusing #userInterfaceTheme
H. Hirzel
hannes.hirzel at gmail.com
Wed Sep 27 09:20:16 UTC 2017
The scope mechanism now seems to be gone through the update The Trunk:
System-mt.963.mcz
Removes "scope" from UI themes. Encapsulates look-up for properties in
the current theme into short-living a request object.
Thank you Marcel for the update
If I now do the first example of Stephane (initial mail in this thread).
| m uit |
m := Morph new.
uit := m userInterfaceTheme.
an UserInterfaceThemeRequest
The UserInterfaceThemeRequest object has the following instance variables
1. a properties dictionary (323 entries for the Squeak theme)
2. name (which is 'SqueakTheme')
3. ignoreApply boolean
4. next (which is nil)
5. lastScaleFactor (which is nil).
Questions:
a) I do not see when and how the properties dictionary is initialized
UserInterfactTheme just has
initialize
super initialize.
name := 'unnamed'.
properties := Dictionary new.
There is a method SqueakTheme create [1]
b) What are instance variables 3..5 used for?
c) UserInterfaceTheme subclasses {CommunityTheme . MonokaiTheme .
SolarizedTheme . SqueakTheme . EtoysTheme}
Are there other themes in addition? One like a traditional OS uses?
--Hannes
[1] SqueakTheme create
"This is the default theme for Squeak.
self create apply. "
^ (self named: 'Squeak') in: [:theme |
"General morph stuff."
theme
set: #keyboardFocusColor for: #Morph to: (TranslucentColor r: 0.3
g: 0.5 b: 0.5 alpha: 0.5);
set: #keyboardFocusWidth for: #Morph to: 3;
set: #softShadowColor for: #Morph to: (Color black alpha: 0.01);
set: #softShadowOffset for: #Morph to: (10 at 8 corner: 10 at 12);
set: #hardShadowColor for: #Morph to: (Color black alpha: 0.5);
set: #hardShadowOffset for: #Morph to: 1 at 1.
theme set: #background for: #MorphicProject to: self linenblue.
self
addFonts: theme;
addWindowColors: theme;
addSyntaxHighlighting: theme;
addMenusAndDockingBars: theme;
addDialogs: theme;
addButtons: theme;
addScrollables: theme;
addToolColors: theme;
addMVC: theme.
theme]
On 9/22/17, Stéphane Rollandin <lecteur at zogotounga.net> wrote:
>> Stéphane
>>
>> Could you please summarize in one mail which changes to the
>> UserInterface theme mechanism you propose and why you think that
>> should be done?
>
> I do not have a definite mechanism in mind; I just did some quick
> brainstorming with Marcel...
>
> I do think we should get rid of the scope mechanism though (see my
> initial post in this thread for details).
>
>
> Stef
>
More information about the Squeak-dev
mailing list
|