The Trunk: Tools-dtl.906.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Tools-dtl.906.mcz

commits-2
David T. Lewis uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-dtl.906.mcz

==================== Summary ====================

Name: Tools-dtl.906
Author: dtl
Time: 9 October 2019, 8:53:09.229915 am
UUID: c1e23515-8b8e-44d3-98e8-a79039245bc7
Ancestors: Tools-eem.901, Tools-ct.901, Tools-ct.903, Tools-ct.905

Merge Tools-ct.905, Tools-ct.903,  Tools-ct.901.
Remove old package postscript, no longer required.
Note: An open InspectorBrowser in the current world will raise a stepping error after this update. The error does not affect the update process.

=============== Diff against Tools-eem.901 ===============

Item was added:
+ ----- Method: Browser class>>fullOnCategory: (in category 'instance creation') -----
+ fullOnCategory: aCategory
+ "Open a new full browser set to the system category."
+
+ ^ self new
+ selectSystemCategory: aCategory asSymbol;
+ buildAndOpenFullBrowser!

Item was changed:
  Inspector subclass: #InspectorBrowser
+ instanceVariableNames: 'browser'
- instanceVariableNames: 'fieldList msgList msgListIndex'
  classVariableNames: ''
  poolDictionaries: ''
  category: 'Tools-Inspector'!
 
  !InspectorBrowser commentStamp: 'tcj 3/12/2018 07:55' prior: 0!
  I am an inspector that also shows all messages the inspected objects can understand. I combine inspector and code browser.
 
  InspectorBrowser openOn: Smalltalk!

Item was added:
+ ----- Method: InspectorBrowser>>browser (in category 'initialize-release') -----
+ browser
+
+ ^ browser ifNil: [browser := Browser new]!

Item was changed:
+ ----- Method: InspectorBrowser>>buildWith: (in category 'toolbuilder') -----
- ----- Method: InspectorBrowser>>buildWith: (in category 'tool builder') -----
  buildWith: builder
 
+ | windowSpec |
+ windowSpec := self buildWindowWith: builder specs: {
+ (0@0 corner: 0.3@0.3) -> [self buildFieldListWith: builder].
+ (0.3@0 corner: 1.0@0.3) -> [self buildValuePaneWith: builder].
+ (0@0.3 corner: 0.3@1.0) -> [browser buildMessageListWith: builder].
+ (0.3@0.3 corner: 1.0@1.0) -> [browser buildCodePaneWith: builder].
+ }.
+ ^ builder build: windowSpec!
- | window fieldSpec valueSpec msgSpec codeSpec |
-
- window := builder pluggableWindowSpec new
- model: self;
- children: OrderedCollection new;
- yourself.
-
- fieldSpec := builder pluggableListSpec new
- model: self;
- list: #fieldList;
- getIndex: #selectionIndex;
- setIndex: #toggleIndex:;
- menu: #fieldListMenu:;
- frame: (0@0 corner: 0.3@0.5).
-
- valueSpec := builder pluggableTextSpec new
- model: self;
- getText: #contents;
- setText: #accept:;
- menu: #codePaneMenu:shifted:;
- frame: (0.3@0 corner: 1.0@0.5).
-
- msgSpec := builder pluggableListSpec new
- model: self;
- list: #msgList;
- getIndex: #msgListIndex;
- setIndex: #msgListIndex:;
- menu: #msgListMenu;
- frame: (0@0.5 corner: 0.3@1.0).
-
- codeSpec := builder pluggableTextSpec new
- model: self;
- getText: #msgText;
- setText: #msgAccept:from:;
- menu: #msgPaneMenu:shifted:;
- frame: (0.3@0.5 corner: 1.0@1.0).
-
- window children addAll: {fieldSpec. valueSpec. msgSpec. codeSpec}.
- ^ builder build: window!

Item was removed:
- ----- Method: InspectorBrowser>>fieldList (in category 'accessing') -----
- fieldList
- fieldList ifNotNil: [^ fieldList].
- ^ (fieldList := super fieldList)!

Item was added:
+ ----- Method: InspectorBrowser>>initialExtent (in category 'toolbuilder') -----
+ initialExtent
+
+ ^ super initialExtent * 3/2!

Item was removed:
- ----- Method: InspectorBrowser>>initialize (in category 'initialize-release') -----
- initialize
-
- super initialize.
- fieldList := nil.
- msgListIndex := 0.
- self changed: #msgText
- !

Item was changed:
  ----- Method: InspectorBrowser>>inspect: (in category 'initialize-release') -----
  inspect: anObject
  "Initialize the receiver so that it is inspecting anObject. There is no current selection.
  Overriden so that my class is not changed to 'anObject inspectorClass'."
 
  object := anObject.
+ self browser selectClass: anObject class.
  self initialize
  !

Item was removed:
- ----- Method: InspectorBrowser>>msgAccept:from: (in category 'messages') -----
- msgAccept: newText from: editor
- | category |
- category := msgListIndex = 0
- ifTrue: [ClassOrganizer default]
- ifFalse: [object class organization categoryOfElement: (msgList at: msgListIndex)].
- ^ (object class compile: newText classified: category notifying: editor) ~~ nil!

Item was removed:
- ----- Method: InspectorBrowser>>msgList (in category 'messages') -----
- msgList
-
- ^msgList ifNil: [ msgList := object class selectors sort ]!

Item was removed:
- ----- Method: InspectorBrowser>>msgListIndex (in category 'messages') -----
- msgListIndex
- ^msgListIndex!

Item was removed:
- ----- Method: InspectorBrowser>>msgListIndex: (in category 'messages') -----
- msgListIndex: anInteger
- "A selection has been made in the message pane"
-
- msgListIndex := anInteger.
- self changed: #msgText.!

Item was removed:
- ----- Method: InspectorBrowser>>msgListMenu: (in category 'messages') -----
- msgListMenu: aMenu
- ^ aMenu labels: 'Not yet implemented' lines: #(0) selections: #(flash)!

Item was removed:
- ----- Method: InspectorBrowser>>msgPaneMenu:shifted: (in category 'messages') -----
- msgPaneMenu: aMenu shifted: shifted
- ^ aMenu labels:
- 'find... (f)
- find again (g)
- find and replace...
- do/replace again (j)
- undo (z)
- redo (Z)
- copy (c)
- cut (x)
- paste (v)
- do it (d)
- print it (p)
- inspect it (i)
- accept (s)
- cancel (l)'
- lines: #(0 4 6 9 12)
- selections: #(find findAgain findReplace again undo redo copySelection cut paste doIt printIt inspectIt accept cancel)!

Item was removed:
- ----- Method: InspectorBrowser>>msgText (in category 'messages') -----
- msgText
- msgListIndex = 0 ifTrue: [^ nil].
- ^ object class sourceCodeAt: (msgList at: msgListIndex)!

Item was removed:
- ----- Method: InspectorBrowser>>step (in category 'stepping and presenter') -----
- step
- | list fieldString msg |
- (list := super fieldList) = fieldList ifFalse:
- [fieldString := selectionIndex > 0 ifTrue: [fieldList at: selectionIndex] ifFalse: [nil].
- fieldList := list.
- selectionIndex := fieldList indexOf: fieldString.
- self changed: #fieldList.
- self changed: #selectionIndex].
- list := msgList.  msgList := nil.  "force recomputation"
- list = self msgList ifFalse:
- [msg := msgListIndex > 0 ifTrue: [list at: msgListIndex] ifFalse: [nil].
- msgListIndex := msgList indexOf: msg.
- self changed: #msgList.
- self changed: #msgListIndex].
- super step!

Item was added:
+ ----- Method: InspectorBrowser>>stepAt:in: (in category 'stepping and presenter') -----
+ stepAt: millisecondClockValue in: aWindow
+
+ super stepAt: millisecondClockValue in: aWindow.
+ browser stepAt: millisecondClockValue in: aWindow.!

Item was removed:
- ----- Method: InspectorBrowser>>wantsSteps (in category 'accessing') -----
- wantsSteps
- ^ true!

Item was added:
+ ----- Method: PackageInfo>>browse (in category '*Tools-Browsing') -----
+ browse
+
+ ^ StandardToolSet browseSystemCategory: self packageName!

Item was changed:
  ----- Method: PasteUpMorph>>defaultDesktopCommandKeyTriplets (in category '*Tools') -----
  defaultDesktopCommandKeyTriplets
  "Answer a list of triplets of the form
  <key> <receiver> <selector>   [+ optional fourth element, a <description> for use in desktop-command-key-help]
  that will provide the default desktop command key handlers.  If the selector takes an argument, that argument will be the command-key event"
+ "World initializeDesktopCommandKeySelectors"
 
  | noviceKeys expertKeys |
 
  noviceKeys := {
  { $o. ActiveWorld. #activateObjectsTool. 'Activate the "Objects Tool"'}.
  { $r. ActiveWorld. #restoreMorphicDisplay. 'Redraw the screen'}.
  { $z. self. #undoOrRedoCommand. 'Undo or redo the last undoable command'}.
  { $F. Project current. #toggleFlapsSuppressed. 'Toggle the display of flaps'}.
  { $N. self. #toggleClassicNavigatorIfAppropriate. 'Show/Hide the classic Navigator, if appropriate'}.
  { $M. self. #toggleShowWorldMainDockingBar. 'Show/Hide the Main Docking Bar'}.
  { $]. Smalltalk. #saveSession. 'Save the image.'}.
  }.
 
  Preferences noviceMode ifTrue:[^ noviceKeys].
 
  expertKeys := {
  { $b. SystemBrowser. #defaultOpenBrowser. 'Open a new System Browser'}.
  { $k. StringHolder. #open. 'Open a new, blank Workspace'}.
  { $m. self. #putUpNewMorphMenu. 'Put up the "New Morph" menu'}.
  { $O. self. #findAMonticelloBrowser. 'Bring a Monticello window into focus.'}.
  { $t. self. #findATranscript:. 'Make a System Transcript visible'}.
  { $w. SystemWindow. #closeTopWindow. 'Close the topmost window'}.
  { Character escape. SystemWindow. #closeTopWindow. 'Close the topmost window'}.
 
  { $C. self. #findAChangeSorter:. 'Make a Change Sorter visible'}.
 
  { $L. self. #findAFileList:. 'Make a File List visible'}.
  { $P. self. #findAPreferencesPanel:. 'Activate the Preferences tool'}.
  { $R. Utilities. #browseRecentSubmissions. 'Make a Recent Submissions browser visible'}.
 
  { $W. self. #findAMessageNamesWindow:. 'Make a MessageNames tool visible'}.
  { $Z. ChangeList. #browseRecentLog. 'Browse recently-logged changes'}.
 
  { $\. SystemWindow. #sendTopWindowToBack. 'Send the top window to the back'}.
  { $_. Smalltalk. #quitPrimitive. 'Quit the image immediately.'}.
 
  { $-. Preferences. #decreaseFontSize. 'Decrease all font sizes'}.
  { $+. Preferences. #increaseFontSize. 'Increase all font sizes'}.
  }.
 
  ^ noviceKeys, expertKeys
  !

Item was added:
+ ----- Method: StandardToolSet class>>browseSystemCategory: (in category 'browsing') -----
+ browseSystemCategory: aCategory
+
+ ^ SystemBrowser default
+ fullOnCategory: aCategory!

Item was removed:
- (PackageInfo named: 'Tools') postscript: 'Debugger classPool
- at: #SavedExtent
- put: Debugger new initialExtent'!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Tools-dtl.906.mcz

Christoph Thiede

Thanks for merging!


Note: An open InspectorBrowser in the current world will raise a stepping error after this update. The error does not affect the update process.

Do you think this would be worth the effort writing a preamble that migrates all current instances? Or is it too late for that now?


Von: Squeak-dev <[hidden email]> im Auftrag von [hidden email] <[hidden email]>
Gesendet: Mittwoch, 9. Oktober 2019 14:53:12
An: [hidden email]; [hidden email]
Betreff: [squeak-dev] The Trunk: Tools-dtl.906.mcz
 
David T. Lewis uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-dtl.906.mcz

==================== Summary ====================

Name: Tools-dtl.906
Author: dtl
Time: 9 October 2019, 8:53:09.229915 am
UUID: c1e23515-8b8e-44d3-98e8-a79039245bc7
Ancestors: Tools-eem.901, Tools-ct.901, Tools-ct.903, Tools-ct.905

Merge Tools-ct.905, Tools-ct.903,  Tools-ct.901.
Remove old package postscript, no longer required.
Note: An open InspectorBrowser in the current world will raise a stepping error after this update. The error does not affect the update process.

=============== Diff against Tools-eem.901 ===============

Item was added:
+ ----- Method: Browser class>>fullOnCategory: (in category 'instance creation') -----
+ fullOnCategory: aCategory
+        "Open a new full browser set to the system category."
+
+        ^ self new
+                selectSystemCategory: aCategory asSymbol;
+                buildAndOpenFullBrowser!

Item was changed:
  Inspector subclass: #InspectorBrowser
+        instanceVariableNames: 'browser'
-        instanceVariableNames: 'fieldList msgList msgListIndex'
         classVariableNames: ''
         poolDictionaries: ''
         category: 'Tools-Inspector'!
 
  !InspectorBrowser commentStamp: 'tcj 3/12/2018 07:55' prior: 0!
  I am an inspector that also shows all messages the inspected objects can understand. I combine inspector and code browser.
 
  InspectorBrowser openOn: Smalltalk!

Item was added:
+ ----- Method: InspectorBrowser>>browser (in category 'initialize-release') -----
+ browser
+
+        ^ browser ifNil: [browser := Browser new]!

Item was changed:
+ ----- Method: InspectorBrowser>>buildWith: (in category 'toolbuilder') -----
- ----- Method: InspectorBrowser>>buildWith: (in category 'tool builder') -----
  buildWith: builder
 
+        | windowSpec |
+        windowSpec := self buildWindowWith: builder specs: {
+                (0@0 corner: 0.3@0.3) -> [self buildFieldListWith: builder].
+                (0.3@0 corner: 1.0@0.3) -> [self buildValuePaneWith: builder].
+                (0@0.3 corner: 0.3@1.0) -> [browser buildMessageListWith: builder].
+                (0.3@0.3 corner: 1.0@1.0) -> [browser buildCodePaneWith: builder].
+        }.
+        ^ builder build: windowSpec!
-        | window fieldSpec valueSpec msgSpec codeSpec |
-       
-        window := builder pluggableWindowSpec new
-                model: self;
-                children: OrderedCollection new;
-                yourself.
-               
-        fieldSpec := builder pluggableListSpec new
-                model: self;
-                list: #fieldList;
-                getIndex: #selectionIndex;
-                setIndex: #toggleIndex:;
-                menu: #fieldListMenu:;
-                frame: (0@0 corner: 0.3@0.5).
-       
-        valueSpec := builder pluggableTextSpec new
-                model: self;
-                getText: #contents;
-                setText: #accept:;
-                menu: #codePaneMenu:shifted:;
-                frame: (0.3@0 corner: 1.0@0.5).
-
-        msgSpec := builder pluggableListSpec new
-                model: self;
-                list: #msgList;
-                getIndex: #msgListIndex;
-                setIndex: #msgListIndex:;
-                menu: #msgListMenu;
-                frame: (0@0.5 corner: 0.3@1.0).
-               
-        codeSpec := builder pluggableTextSpec new
-                model: self;
-                getText: #msgText;
-                setText: #msgAccept:from:;
-                menu: #msgPaneMenu:shifted:;
-                frame: (0.3@0.5 corner: 1.0@1.0).
-       
-        window children addAll: {fieldSpec. valueSpec. msgSpec. codeSpec}.
-        ^ builder build: window!

Item was removed:
- ----- Method: InspectorBrowser>>fieldList (in category 'accessing') -----
- fieldList
-        fieldList ifNotNil: [^ fieldList].
-        ^ (fieldList := super fieldList)!

Item was added:
+ ----- Method: InspectorBrowser>>initialExtent (in category 'toolbuilder') -----
+ initialExtent
+
+        ^ super initialExtent * 3/2!

Item was removed:
- ----- Method: InspectorBrowser>>initialize (in category 'initialize-release') -----
- initialize
-
-        super initialize.
-        fieldList := nil.
-        msgListIndex := 0.
-        self changed: #msgText
- !

Item was changed:
  ----- Method: InspectorBrowser>>inspect: (in category 'initialize-release') -----
  inspect: anObject
         "Initialize the receiver so that it is inspecting anObject. There is no current selection.
         Overriden so that my class is not changed to 'anObject inspectorClass'."
        
         object := anObject.
+        self browser selectClass: anObject class.
         self initialize
  !

Item was removed:
- ----- Method: InspectorBrowser>>msgAccept:from: (in category 'messages') -----
- msgAccept: newText from: editor
-        | category |
-        category := msgListIndex = 0
-                ifTrue: [ClassOrganizer default]
-                ifFalse: [object class organization categoryOfElement: (msgList at: msgListIndex)].
-        ^ (object class compile: newText classified: category notifying: editor) ~~ nil!

Item was removed:
- ----- Method: InspectorBrowser>>msgList (in category 'messages') -----
- msgList
-
-        ^msgList ifNil: [ msgList := object class selectors sort ]!

Item was removed:
- ----- Method: InspectorBrowser>>msgListIndex (in category 'messages') -----
- msgListIndex
-        ^msgListIndex!

Item was removed:
- ----- Method: InspectorBrowser>>msgListIndex: (in category 'messages') -----
- msgListIndex: anInteger
-        "A selection has been made in the message pane"
-
-        msgListIndex := anInteger.
-        self changed: #msgText.!

Item was removed:
- ----- Method: InspectorBrowser>>msgListMenu: (in category 'messages') -----
- msgListMenu: aMenu
-        ^ aMenu labels: 'Not yet implemented' lines: #(0) selections: #(flash)!

Item was removed:
- ----- Method: InspectorBrowser>>msgPaneMenu:shifted: (in category 'messages') -----
- msgPaneMenu: aMenu shifted: shifted
-        ^ aMenu labels:
- 'find... (f)
- find again (g)
- find and replace...
- do/replace again (j)
- undo (z)
- redo (Z)
- copy (c)
- cut (x)
- paste (v)
- do it (d)
- print it (p)
- inspect it (i)
- accept (s)
- cancel (l)'
-                lines: #(0 4 6 9 12)
-                selections: #(find findAgain findReplace again undo redo copySelection cut paste doIt printIt inspectIt accept cancel)!

Item was removed:
- ----- Method: InspectorBrowser>>msgText (in category 'messages') -----
- msgText
-        msgListIndex = 0 ifTrue: [^ nil].
-        ^ object class sourceCodeAt: (msgList at: msgListIndex)!

Item was removed:
- ----- Method: InspectorBrowser>>step (in category 'stepping and presenter') -----
- step
-        | list fieldString msg |
-        (list := super fieldList) = fieldList ifFalse:
-                [fieldString := selectionIndex > 0 ifTrue: [fieldList at: selectionIndex] ifFalse: [nil].
-                fieldList := list.
-                selectionIndex := fieldList indexOf: fieldString.
-                self changed: #fieldList.
-                self changed: #selectionIndex].
-        list := msgList.  msgList := nil.  "force recomputation"
-                list = self msgList ifFalse:
-                [msg := msgListIndex > 0 ifTrue: [list at: msgListIndex] ifFalse: [nil].
-                msgListIndex := msgList indexOf: msg.
-                self changed: #msgList.
-                self changed: #msgListIndex].
-        super step!

Item was added:
+ ----- Method: InspectorBrowser>>stepAt:in: (in category 'stepping and presenter') -----
+ stepAt: millisecondClockValue in: aWindow
+       
+        super stepAt: millisecondClockValue in: aWindow.
+        browser stepAt: millisecondClockValue in: aWindow.!

Item was removed:
- ----- Method: InspectorBrowser>>wantsSteps (in category 'accessing') -----
- wantsSteps
-        ^ true!

Item was added:
+ ----- Method: PackageInfo>>browse (in category '*Tools-Browsing') -----
+ browse
+
+        ^ StandardToolSet browseSystemCategory: self packageName!

Item was changed:
  ----- Method: PasteUpMorph>>defaultDesktopCommandKeyTriplets (in category '*Tools') -----
  defaultDesktopCommandKeyTriplets
         "Answer a list of triplets of the form
                 <key> <receiver> <selector>   [+ optional fourth element, a <description> for use in desktop-command-key-help]
         that will provide the default desktop command key handlers.  If the selector takes an argument, that argument will be the command-key event"
+        "World initializeDesktopCommandKeySelectors"
 
         | noviceKeys expertKeys |
 
         noviceKeys := {
                 { $o.   ActiveWorld.                                            #activateObjectsTool.                                           'Activate the "Objects Tool"'}.
                 { $r.   ActiveWorld.                                            #restoreMorphicDisplay.                                 'Redraw the screen'}.          
                 { $z.   self.                                                           #undoOrRedoCommand.                                     'Undo or redo the last undoable command'}.
                 { $F.   Project current.                                        #toggleFlapsSuppressed.                                 'Toggle the display of flaps'}.
                 { $N.   self.                                                           #toggleClassicNavigatorIfAppropriate.   'Show/Hide the classic Navigator, if appropriate'}.
                 { $M.   self.                                                           #toggleShowWorldMainDockingBar.         'Show/Hide the Main Docking Bar'}.
                 { $].   Smalltalk.                                                      #saveSession.                                                           'Save the image.'}.
         }.
 
         Preferences noviceMode ifTrue:[^ noviceKeys].
 
         expertKeys := {
                 { $b.   SystemBrowser.                                  #defaultOpenBrowser.                                            'Open a new System Browser'}.
                 { $k.   StringHolder.                                   #open.                                                                          'Open a new, blank Workspace'}.
                 { $m.   self.                                                           #putUpNewMorphMenu.                                     'Put up the "New Morph" menu'}.
                 { $O.   self.                                                           #findAMonticelloBrowser.                                        'Bring a Monticello window into focus.'}.
                 { $t.   self.                                                     #findATranscript:.                                                      'Make a System Transcript visible'}.
                 { $w.   SystemWindow.                                   #closeTopWindow.                                                        'Close the topmost window'}.
                 { Character escape.     SystemWindow.   #closeTopWindow.                                                        'Close the topmost window'}.
 
                 { $C.   self.                                                           #findAChangeSorter:.                                            'Make a Change Sorter visible'}.
 
                 { $L.   self.                                                           #findAFileList:.                                                                'Make a File List visible'}.
                 { $P.   self.                                                           #findAPreferencesPanel:.                                        'Activate the Preferences tool'}.
                 { $R.   Utilities.                                                               #browseRecentSubmissions.               'Make a Recent Submissions browser visible'}.
 
                 { $W.   self.                                                            #findAMessageNamesWindow:.                      'Make a MessageNames tool visible'}.
                 { $Z.   ChangeList.                                              #browseRecentLog.                                                       'Browse recently-logged changes'}.
 
                 { $\.   SystemWindow.                                    #sendTopWindowToBack.                                   'Send the top window to the back'}.
                 { $_.   Smalltalk.                                                      #quitPrimitive.                                                         'Quit the image immediately.'}.
 
                 { $-.   Preferences.                                     #decreaseFontSize.                                      'Decrease all font sizes'}.
                 { $+.   Preferences.                                    #increaseFontSize.                                      'Increase all font sizes'}.
         }.
 
         ^ noviceKeys, expertKeys
  !

Item was added:
+ ----- Method: StandardToolSet class>>browseSystemCategory: (in category 'browsing') -----
+ browseSystemCategory: aCategory
+       
+        ^ SystemBrowser default
+                fullOnCategory: aCategory!

Item was removed:
- (PackageInfo named: 'Tools') postscript: 'Debugger classPool
-        at: #SavedExtent
-        put: Debugger new initialExtent'!