<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>