<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
{margin-top:0;
margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<p>Thanks for merging!</p>
<p><br>
</p>
<p>> <span style="font-size:12pt">Note: An open InspectorBrowser in the current world will raise a stepping error after this update. The error does not affect the update process.</span></p>
<div>Do you think this would be worth the effort writing a preamble that migrates all current instances?
<span>Or is it too late for that now?</span></div>
<p></p>
<div id="x_Signature">
<div name="x_divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von commits@source.squeak.org <commits@source.squeak.org><br>
<b>Gesendet:</b> Mittwoch, 9. Oktober 2019 14:53:12<br>
<b>An:</b> squeak-dev@lists.squeakfoundation.org; packages@lists.squeakfoundation.org<br>
<b>Betreff:</b> [squeak-dev] The Trunk: Tools-dtl.906.mcz</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">David T. Lewis uploaded a new version of Tools to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/Tools-dtl.906.mcz">http://source.squeak.org/trunk/Tools-dtl.906.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Tools-dtl.906<br>
Author: dtl<br>
Time: 9 October 2019, 8:53:09.229915 am<br>
UUID: c1e23515-8b8e-44d3-98e8-a79039245bc7<br>
Ancestors: Tools-eem.901, Tools-ct.901, Tools-ct.903, Tools-ct.905<br>
<br>
Merge Tools-ct.905, Tools-ct.903, Tools-ct.901.<br>
Remove old package postscript, no longer required.<br>
Note: An open InspectorBrowser in the current world will raise a stepping error after this update. The error does not affect the update process.<br>
<br>
=============== Diff against Tools-eem.901 ===============<br>
<br>
Item was added:<br>
+ ----- Method: Browser class>>fullOnCategory: (in category 'instance creation') -----<br>
+ fullOnCategory: aCategory<br>
+ "Open a new full browser set to the system category."<br>
+ <br>
+ ^ self new<br>
+ selectSystemCategory: aCategory asSymbol;<br>
+ buildAndOpenFullBrowser!<br>
<br>
Item was changed:<br>
Inspector subclass: #InspectorBrowser<br>
+ instanceVariableNames: 'browser'<br>
- instanceVariableNames: 'fieldList msgList msgListIndex'<br>
classVariableNames: ''<br>
poolDictionaries: ''<br>
category: 'Tools-Inspector'!<br>
<br>
!InspectorBrowser commentStamp: 'tcj 3/12/2018 07:55' prior: 0!<br>
I am an inspector that also shows all messages the inspected objects can understand. I combine inspector and code browser.<br>
<br>
InspectorBrowser openOn: Smalltalk!<br>
<br>
Item was added:<br>
+ ----- Method: InspectorBrowser>>browser (in category 'initialize-release') -----<br>
+ browser<br>
+ <br>
+ ^ browser ifNil: [browser := Browser new]!<br>
<br>
Item was changed:<br>
+ ----- Method: InspectorBrowser>>buildWith: (in category 'toolbuilder') -----<br>
- ----- Method: InspectorBrowser>>buildWith: (in category 'tool builder') -----<br>
buildWith: builder<br>
<br>
+ | windowSpec |<br>
+ windowSpec := self buildWindowWith: builder specs: {<br>
+ (0@0 corner: 0.3@0.3) -> [self buildFieldListWith: builder].<br>
+ (0.3@0 corner: 1.0@0.3) -> [self buildValuePaneWith: builder].<br>
+ (0@0.3 corner: 0.3@1.0) -> [browser buildMessageListWith: builder].<br>
+ (0.3@0.3 corner: 1.0@1.0) -> [browser buildCodePaneWith: builder].<br>
+ }.<br>
+ ^ builder build: windowSpec!<br>
- | window fieldSpec valueSpec msgSpec codeSpec |<br>
- <br>
- window := builder pluggableWindowSpec new<br>
- model: self;<br>
- children: OrderedCollection new;<br>
- yourself.<br>
- <br>
- fieldSpec := builder pluggableListSpec new<br>
- model: self;<br>
- list: #fieldList;<br>
- getIndex: #selectionIndex;<br>
- setIndex: #toggleIndex:;<br>
- menu: #fieldListMenu:;<br>
- frame: (0@0 corner: 0.3@0.5).<br>
- <br>
- valueSpec := builder pluggableTextSpec new<br>
- model: self;<br>
- getText: #contents;<br>
- setText: #accept:;<br>
- menu: #codePaneMenu:shifted:;<br>
- frame: (0.3@0 corner: 1.0@0.5).<br>
- <br>
- msgSpec := builder pluggableListSpec new<br>
- model: self;<br>
- list: #msgList;<br>
- getIndex: #msgListIndex;<br>
- setIndex: #msgListIndex:;<br>
- menu: #msgListMenu;<br>
- frame: (0@0.5 corner: 0.3@1.0).<br>
- <br>
- codeSpec := builder pluggableTextSpec new<br>
- model: self;<br>
- getText: #msgText;<br>
- setText: #msgAccept:from:;<br>
- menu: #msgPaneMenu:shifted:;<br>
- frame: (0.3@0.5 corner: 1.0@1.0).<br>
- <br>
- window children addAll: {fieldSpec. valueSpec. msgSpec. codeSpec}.<br>
- ^ builder build: window!<br>
<br>
Item was removed:<br>
- ----- Method: InspectorBrowser>>fieldList (in category 'accessing') -----<br>
- fieldList<br>
- fieldList ifNotNil: [^ fieldList].<br>
- ^ (fieldList := super fieldList)!<br>
<br>
Item was added:<br>
+ ----- Method: InspectorBrowser>>initialExtent (in category 'toolbuilder') -----<br>
+ initialExtent<br>
+ <br>
+ ^ super initialExtent * 3/2!<br>
<br>
Item was removed:<br>
- ----- Method: InspectorBrowser>>initialize (in category 'initialize-release') -----<br>
- initialize<br>
- <br>
- super initialize.<br>
- fieldList := nil.<br>
- msgListIndex := 0.<br>
- self changed: #msgText<br>
- !<br>
<br>
Item was changed:<br>
----- Method: InspectorBrowser>>inspect: (in category 'initialize-release') -----<br>
inspect: anObject <br>
"Initialize the receiver so that it is inspecting anObject. There is no current selection.<br>
Overriden so that my class is not changed to 'anObject inspectorClass'."<br>
<br>
object := anObject.<br>
+ self browser selectClass: anObject class.<br>
self initialize<br>
!<br>
<br>
Item was removed:<br>
- ----- Method: InspectorBrowser>>msgAccept:from: (in category 'messages') -----<br>
- msgAccept: newText from: editor<br>
- | category |<br>
- category := msgListIndex = 0<br>
- ifTrue: [ClassOrganizer default]<br>
- ifFalse: [object class organization categoryOfElement: (msgList at: msgListIndex)].<br>
- ^ (object class compile: newText classified: category notifying: editor) ~~ nil!<br>
<br>
Item was removed:<br>
- ----- Method: InspectorBrowser>>msgList (in category 'messages') -----<br>
- msgList<br>
- <br>
- ^msgList ifNil: [ msgList := object class selectors sort ]!<br>
<br>
Item was removed:<br>
- ----- Method: InspectorBrowser>>msgListIndex (in category 'messages') -----<br>
- msgListIndex <br>
- ^msgListIndex!<br>
<br>
Item was removed:<br>
- ----- Method: InspectorBrowser>>msgListIndex: (in category 'messages') -----<br>
- msgListIndex: anInteger<br>
- "A selection has been made in the message pane"<br>
- <br>
- msgListIndex := anInteger.<br>
- self changed: #msgText.!<br>
<br>
Item was removed:<br>
- ----- Method: InspectorBrowser>>msgListMenu: (in category 'messages') -----<br>
- msgListMenu: aMenu <br>
- ^ aMenu labels: 'Not yet implemented' lines: #(0) selections: #(flash)!<br>
<br>
Item was removed:<br>
- ----- Method: InspectorBrowser>>msgPaneMenu:shifted: (in category 'messages') -----<br>
- msgPaneMenu: aMenu shifted: shifted<br>
- ^ aMenu labels: <br>
- 'find... (f)<br>
- find again (g)<br>
- find and replace...<br>
- do/replace again (j)<br>
- undo (z)<br>
- redo (Z)<br>
- copy (c)<br>
- cut (x)<br>
- paste (v)<br>
- do it (d)<br>
- print it (p)<br>
- inspect it (i)<br>
- accept (s)<br>
- cancel (l)' <br>
- lines: #(0 4 6 9 12)<br>
- selections: #(find findAgain findReplace again undo redo copySelection cut paste doIt printIt inspectIt accept cancel)!<br>
<br>
Item was removed:<br>
- ----- Method: InspectorBrowser>>msgText (in category 'messages') -----<br>
- msgText<br>
- msgListIndex = 0 ifTrue: [^ nil].<br>
- ^ object class sourceCodeAt: (msgList at: msgListIndex)!<br>
<br>
Item was removed:<br>
- ----- Method: InspectorBrowser>>step (in category 'stepping and presenter') -----<br>
- step<br>
- | list fieldString msg |<br>
- (list := super fieldList) = fieldList ifFalse:<br>
- [fieldString := selectionIndex > 0 ifTrue: [fieldList at: selectionIndex] ifFalse: [nil].<br>
- fieldList := list.<br>
- selectionIndex := fieldList indexOf: fieldString.<br>
- self changed: #fieldList.<br>
- self changed: #selectionIndex].<br>
- list := msgList. msgList := nil. "force recomputation"<br>
- list = self msgList ifFalse:<br>
- [msg := msgListIndex > 0 ifTrue: [list at: msgListIndex] ifFalse: [nil].<br>
- msgListIndex := msgList indexOf: msg.<br>
- self changed: #msgList.<br>
- self changed: #msgListIndex].<br>
- super step!<br>
<br>
Item was added:<br>
+ ----- Method: InspectorBrowser>>stepAt:in: (in category 'stepping and presenter') -----<br>
+ stepAt: millisecondClockValue in: aWindow<br>
+ <br>
+ super stepAt: millisecondClockValue in: aWindow.<br>
+ browser stepAt: millisecondClockValue in: aWindow.!<br>
<br>
Item was removed:<br>
- ----- Method: InspectorBrowser>>wantsSteps (in category 'accessing') -----<br>
- wantsSteps<br>
- ^ true!<br>
<br>
Item was added:<br>
+ ----- Method: PackageInfo>>browse (in category '*Tools-Browsing') -----<br>
+ browse<br>
+ <br>
+ ^ StandardToolSet browseSystemCategory: self packageName!<br>
<br>
Item was changed:<br>
----- Method: PasteUpMorph>>defaultDesktopCommandKeyTriplets (in category '*Tools') -----<br>
defaultDesktopCommandKeyTriplets<br>
"Answer a list of triplets of the form<br>
<key> <receiver> <selector> [+ optional fourth element, a <description> for use in desktop-command-key-help]<br>
that will provide the default desktop command key handlers. If the selector takes an argument, that argument will be the command-key event"<br>
+ "World initializeDesktopCommandKeySelectors"<br>
<br>
| noviceKeys expertKeys |<br>
<br>
noviceKeys := {<br>
{ $o. ActiveWorld. #activateObjectsTool. 'Activate the "Objects Tool"'}.<br>
{ $r. ActiveWorld. #restoreMorphicDisplay. 'Redraw the screen'}.
<br>
{ $z. self. #undoOrRedoCommand. 'Undo or redo the last undoable command'}.<br>
{ $F. Project current. #toggleFlapsSuppressed. 'Toggle the display of flaps'}.<br>
{ $N. self. #toggleClassicNavigatorIfAppropriate. 'Show/Hide the classic Navigator, if appropriate'}.<br>
{ $M. self. #toggleShowWorldMainDockingBar. 'Show/Hide the Main Docking Bar'}.<br>
{ $]. Smalltalk. #saveSession. 'Save the image.'}.<br>
}.<br>
<br>
Preferences noviceMode ifTrue:[^ noviceKeys].<br>
<br>
expertKeys := {<br>
{ $b. SystemBrowser. #defaultOpenBrowser. 'Open a new System Browser'}.<br>
{ $k. StringHolder. #open. 'Open a new, blank Workspace'}.<br>
{ $m. self. #putUpNewMorphMenu. 'Put up the "New Morph" menu'}.<br>
{ $O. self. #findAMonticelloBrowser. 'Bring a Monticello window into focus.'}.<br>
{ $t. self. #findATranscript:. 'Make a System Transcript visible'}.<br>
{ $w. SystemWindow. #closeTopWindow. 'Close the topmost window'}.<br>
{ Character escape. SystemWindow. #closeTopWindow. 'Close the topmost window'}.<br>
<br>
{ $C. self. #findAChangeSorter:. 'Make a Change Sorter visible'}.<br>
<br>
{ $L. self. #findAFileList:. 'Make a File List visible'}.<br>
{ $P. self. #findAPreferencesPanel:. 'Activate the Preferences tool'}.<br>
{ $R. Utilities. #browseRecentSubmissions. 'Make a Recent Submissions browser visible'}.<br>
<br>
{ $W. self. #findAMessageNamesWindow:. 'Make a MessageNames tool visible'}.<br>
{ $Z. ChangeList. #browseRecentLog. 'Browse recently-logged changes'}.<br>
<br>
{ $\. SystemWindow. #sendTopWindowToBack. 'Send the top window to the back'}.<br>
{ $_. Smalltalk. #quitPrimitive. 'Quit the image immediately.'}.<br>
<br>
{ $-. Preferences. #decreaseFontSize. 'Decrease all font sizes'}.<br>
{ $+. Preferences. #increaseFontSize. 'Increase all font sizes'}.<br>
}.<br>
<br>
^ noviceKeys, expertKeys<br>
!<br>
<br>
Item was added:<br>
+ ----- Method: StandardToolSet class>>browseSystemCategory: (in category 'browsing') -----<br>
+ browseSystemCategory: aCategory<br>
+ <br>
+ ^ SystemBrowser default<br>
+ fullOnCategory: aCategory!<br>
<br>
Item was removed:<br>
- (PackageInfo named: 'Tools') postscript: 'Debugger classPool<br>
- at: #SavedExtent<br>
- put: Debugger new initialExtent'!<br>
<br>
<br>
</div>
</span></font>
</body>
</html>