<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Hi Marcel,</p>
<p><br>
</p>
<p>no problem if these commits are not moved to Trunk until next year! Just wanted to clean up my local changes :-)</p>
<p><br>
</p>
<p>> <span style="font-size: 12pt;">Also, such classes are in Deprecated categories and thus easy to distinguish in all kinds of browsers.</span></p>
<div>You mean hints like the window title in inheritance browsers?</div>
<div><img size="90602" contenttype="image/png" id="img577037" style="max-width: 99.9%; user-select: none;" contextid="img351060" tabindex="0" src="cid:fb1432b2-a98a-4e16-a6cf-303b018abcdd"><br>
</div>
<div><br>
</div>
<div>Okay, this is a hint, but actually, I would prefer a visible highlight.</div>
<div>Also yes, all deprecated <span style="font-size: 12pt;">Trunk classes are in deprecation packages, but sometimes I like to override #isDeprecated in other projects to quickly note a class as deprecated, without the overhead of creating a separate "MyProject-Deprecated"
 package.</span></div>
<div><span style="font-size: 12pt;"><br>
</span></div>
<div><span style="font-size: 12pt;">By the way, as you can see in the screenshot above: I forget that several other #classList implementations such as in hierarchy browser, test runner or selector browser would also need to be updated. Yes, the complexity of
 our browsers :) Maybe it would be a good idea to add a new #formattedClassList that wraps #classList and performs the formatting on it.</span></div>
<div><span style="font-size: 12pt;"><br>
</span></div>
<div><span style="font-size: 12pt;">Best,</span></div>
<div><span style="font-size: 12pt;">Christoph</span></div>
<p></p>
<div id="Signature">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Taeumel, Marcel<br>
<b>Gesendet:</b> Sonntag, 8. Dezember 2019 15:46:29<br>
<b>An:</b> John Pfersich via Squeak-dev<br>
<b>Betreff:</b> Re: [squeak-dev] The Inbox: Tools-ct.923.mcz</font>
<div> </div>
</div>
<div>
<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
Hi Christoph,
<div><br>
</div>
<div>nice idea, but given the (often hidden) complexity of our browsers, -1 for the 5.3 release. Also, such classes are in Deprecated categories and thus easy to distinguish in all kinds of browsers.</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;">
<p style="color: #AAAAAA; margin-top: 10px;">Am 07.12.2019 16:42:27 schrieb commits@source.squeak.org <commits@source.squeak.org>:</p>
<div style="font-family:Arial,Helvetica,sans-serif">A new version of Tools was added to project The Inbox:<br>
http://source.squeak.org/inbox/Tools-ct.923.mcz<br>
<br>
==================== Summary ====================<br>
<br>
Name: Tools-ct.923<br>
Author: ct<br>
Time: 7 December 2019, 4:42:14.945219 pm<br>
UUID: 011debad-5545-ed47-b9b8-6118d0c2c79d<br>
Ancestors: Tools-mt.922<br>
<br>
Display deprecated classes gray and struck-out as selectors are.<br>
<br>
=============== Diff against Tools-mt.922 ===============<br>
<br>
Item was changed:<br>
----- Method: Browser>>classList (in category 'class list') -----<br>
classList<br>
<br>
+ ^ (self class listClassesHierarchically<br>
- ^ self class listClassesHierarchically<br>
ifTrue: [self hierarchicalClassList]<br>
+ ifFalse: [self defaultClassList])<br>
+ collect: [:each | self formattedClassLabel: each]!<br>
- ifFalse: [self defaultClassList].!<br>
<br>
Item was changed:<br>
----- Method: ClassCommentVersionsBrowser class>>browseCommentOf: (in category 'instance creation') -----<br>
browseCommentOf: class<br>
Cursor read showWhile:<br>
[| changeList |<br>
changeList := self new scanVersionsOf: class.<br>
+ changeList ifNil: [^ self inform: 'No versions available'].<br>
+ self open: changeList name: 'Recent versions of ',class name,'''s comments' multiSelect: false ]<br>
- changeList ifNil: [^ self inform: 'No versions available'].<br>
- self open: changeList name: 'Recent versions of ',class name,'''s comments' multiSelect: false ]<br>
!<br>
<br>
Item was added:<br>
+ ----- Method: CodeHolder>>formattedClassLabel: (in category 'message list') -----<br>
+ formattedClassLabel: aString<br>
+ <br>
+ ^ self<br>
+ formattedClassLabel: aString<br>
+ inClass: (self environment at: aString withBlanksTrimmed asSymbol)!<br>
<br>
Item was added:<br>
+ ----- Method: CodeHolder>>formattedClassLabel:inClass: (in category 'message list') -----<br>
+ formattedClassLabel: aString inClass: aClass<br>
+ <br>
+ ^ aClass isDeprecated<br>
+ ifFalse: [aString]<br>
+ ifTrue: [self formattedDeprecatedLabel: aString]!<br>
<br>
Item was added:<br>
+ ----- Method: CodeHolder>>formattedDeprecatedLabel: (in category 'message list') -----<br>
+ formattedDeprecatedLabel: aString<br>
+ <br>
+ ^ aString asText<br>
+ addAllAttributes: (self userInterfaceTheme deprecatedMessageAttributes<br>
+ ifNil: [{TextColor gray. TextEmphasis struckOut}]);<br>
+ yourself!<br>
<br>
Item was changed:<br>
----- Method: CodeHolder>>formattedLabel:forSelector:inClass: (in category 'message list') -----<br>
formattedLabel: aString forSelector: aSymbol inClass: aClass<br>
"Show deprecated messages differently so that users recognize them quickly to avoid them. This is a performance critical method in the user interface."<br>
<br>
- | formattedLabel |<br>
self flag: #investigate. "mt: aClass must never be nil!! Faulty tools should override this call themselves or fix the caller site."<br>
aClass ifNil: [^ aString].<br>
<br>
(aSymbol = #Definition or: [aSymbol = #Comment])<br>
ifTrue: [aClass isDeprecated<br>
ifFalse: [^ aString]]<br>
ifFalse: [(aClass isDeprecated or: [(aClass compiledMethodAt: aSymbol ifAbsent: [^ aString]) isDeprecated])<br>
ifFalse: [^ aString]].<br>
<br>
+ ^ self formattedDeprecatedLabel: aString!<br>
- formattedLabel := aString asText.<br>
- <br>
- (self userInterfaceTheme deprecatedMessageAttributes ifNil: [{TextColor gray. TextEmphasis struckOut}]) do: [:textAttribute |<br>
- formattedLabel addAttribute: textAttribute].<br>
- <br>
- ^ formattedLabel.!<br>
<br>
<br>
</div>
</blockquote>
</div>
</div>
</body>
</html>