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'! |
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'!
Carpe Squeak!
|
Free forum by Nabble | Edit this page |