<div id="__MailbirdStyleContent" style="font-size: 12pt;font-family: calibri;color: #000000">
                                        
                                        
                                            
                                        
                                        
                                        Well, on the one hand, we do want to avoid the need for parentheses:<div><br></div><div>self color: (self themed: #color)</div><div><br></div><div>...which we did not manage because of the default values:</div><div><br></div><div>self color: (self userInterfaceTheme color ifNil: [Color yellow]).</div><div><br></div><div>So, that option is still on the table, Chris, right?</div><div><br></div><div>Just for the record: There was an idea to fully get rid of the parentheses by falling back to an object's message:</div><div><br></div><div>Tree >> defaultLeafColor</div><div>   ^ Color green</div><div><br></div><div>Tree >> initialize</div><div>   self leafColor: self userInterfaceTheme leafColor</div><div><br></div><div>But the current tools in Squeak would make editing all related artifacts a hassle.</div><div><br></div><div>Best,</div><div>Marcel</div><div class="mb_sig"></div>
                                        
                                        <blockquote class="history_container" type="cite" style="border-left-style: solid;border-width: 1px;margin-top: 20px;margin-left: 0px;padding-left: 10px;min-width: 500px">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 19.09.2017 11:43:56 schrieb Stéphane Rollandin <lecteur@zogotounga.net>:</p>> First quick thought: What about renaming #userInterfaceTheme to 
<br>> #scopedInTheme or something similar that does not look like an accessor?
<br>
<br>It is certainly better.
<br>
<br>Now, since #userInterfaceTheme must always be followed by another 
<br>selector (else bad things may happen), it seems to me that it should not 
<br>be a unary method, but a binary one.
<br>
<br>So what about
<br>
<br>Object>>themed: aSelector
<br>  ^ self userInterfaceTheme perform: aSelector
<br>
<br>... which of course could be simplified so what we get rid of 
<br>#userInterfaceTheme altogether (and actually of the full scoping mechanism):
<br>
<br>Object>>themed: aSelector
<br>  ^ UserInterfaceTheme current get: self class -> aSelector
<br>
<br>
<br>The usage would be
<br>
<br>BalloonMorph new themed: #color
<br>
<br>where we now have
<br>
<br>BalloonMorph new userInterfaceTheme color
<br>
<br>I understand the latest looks better, but I do not think it is worth all 
<br>the DNU shenanigans it requires the end user to be aware of...
<br>
<br>
<br>
<br>Best,
<br>
<br>Stef
<br>
                        </blockquote></div>