Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-mt.955.mcz ==================== Summary ==================== Name: Tools-mt.955 Author: mt Time: 5 March 2020, 3:19:50.650454 pm UUID: c6edc6b3-361b-1c40-ba50-686fe7cb3e3d Ancestors: Tools-mt.954 Complete the "#classHierarchy -> #browseClassHierarchy" rename-method refactoring, which was started in 2018 for the ObjectExplorer. =============== Diff against Tools-mt.954 =============== Item was added: + ----- Method: Browser>>browseClassHierarchy (in category 'multi-window support') ----- + browseClassHierarchy + "Overridden to consider multi-window state and hierarchy browser." + + | behavior newBrowser | + (behavior := self selectedClassOrMetaClass) isNil ifTrue: + [^self]. + + (self isPackage "PackageBrowser panes can't support a hierarchy browser; not sure why." + or: [self multiWindowState isNil]) ifTrue: + [^super browseClassHierarchy]. + + (newBrowser := HierarchyBrowser new initHierarchyForClass: behavior) + selectMessageCategoryNamed: self selectedMessageCategoryName; + selectMessageNamed: self selectedMessageName; + editSelection: editSelection. + + self multiWindowState addWindow: newBrowser! Item was removed: - ----- Method: Browser>>classHierarchy (in category 'multi-window support') ----- - classHierarchy - | behavior newBrowser | - (behavior := self selectedClassOrMetaClass) isNil ifTrue: - [^self]. - - (self isPackage "PackageBrowser pains can't support a hierarchy browser; not sure why." - or: [self multiWindowState isNil]) ifTrue: - [^super classHierarchy]. - - (newBrowser := HierarchyBrowser new initHierarchyForClass: behavior) - selectMessageCategoryNamed: self selectedMessageCategoryName; - selectMessageNamed: self selectedMessageName; - editSelection: editSelection. - - self multiWindowState addWindow: newBrowser - ! Item was changed: ----- Method: Browser>>mainMessageListMenu: (in category 'message functions') ----- mainMessageListMenu: aMenu <messageListMenuShifted: false> ^ aMenu addList: #( ('what to show...' offerWhatToShowMenu) ('toggle break on entry' toggleBreakOnEntry) - ('browse full (b)' browseMethodFull) + ('browse hierarchy (h)' browseClassHierarchy) - ('browse hierarchy (h)' classHierarchy) ('browse protocol (p)' browseFullProtocol) - ('fileOut' fileOutMessage) ('printOut' printOutMessage) ('copy selector (c)' copySelector) ('copy reference (C)' copyReference) - ('senders of... (n)' browseSendersOfMessages) ('implementors of... (m)' browseMessages) ('inheritance (i)' methodHierarchy) ('versions (v)' browseVersions) - ('references... (r)' browseVariableReferences) ('assignments... (a)' browseVariableAssignments) ('class refs (N)' browseClassRefs) - ('remove method (x)' removeMessage) ('explore method' exploreMethod) ('inspect method' inspectMethod)); yourself ! Item was changed: ----- Method: CodeHolder>>messageListKey:from: (in category 'message list menu') ----- messageListKey: aChar from: view "Respond to a Command key. I am a model with a code pane, and I also have a listView that has a list of methods. The view knows how to get the list and selection." | sel class | aChar == $D ifTrue: [^ self toggleDiffing]. sel := self selectedMessageName. aChar == $m ifTrue: "These next two put up a type in if no message selected" [^ self useSelector: sel orGetSelectorAndSendQuery: #browseAllImplementorsOf: to: self ]. aChar == $n ifTrue: [^ self useSelector: sel orGetSelectorAndSendQuery: #browseAllCallsOn: to: self ]. aChar == $d ifTrue: [^ self removeMessageFromBrowser]. "The following require a class selection" (class := self selectedClassOrMetaClass) ifNil: [^ self arrowKey: aChar from: view]. aChar == $b ifTrue: [^ ToolSet browse: class selector: sel]. aChar == $N ifTrue: [^ self browseClassRefs]. aChar == $i ifTrue: [^ self methodHierarchy]. + aChar == $h ifTrue: [^ self browseClassHierarchy]. - aChar == $h ifTrue: [^ self classHierarchy]. aChar == $p ifTrue: [^ self browseFullProtocol]. aChar == $r ifTrue: [^ self browseVariableReferences]. aChar == $a ifTrue: [^ self browseVariableAssignments]. (aChar == $Y and: [self canShowMultipleMessageCategories]) ifTrue: [^ self showHomeCategory]. "The following require a method selection" sel ifNotNil: [aChar == $o ifTrue: [^ self fileOutMessage]. aChar == $c ifTrue: [^ self copySelector]. aChar == $v ifTrue: [^ self browseVersions]. aChar == $x ifTrue: [^ self removeMessage]. aChar == $C ifTrue: [ self copyReference ]]. ^ self arrowKey: aChar from: view! Item was changed: ----- Method: CodeHolder>>optionalButtonPairs (in category 'controls') ----- optionalButtonPairs "Answer a tuple (formerly pairs) defining buttons, in the format: button label selector to send help message" | aList | aList := #( ('browse' browseMethodFull 'view this method in a browser') ('senders' browseSendersOfMessages 'browse senders of...') ('implementors' browseMessages 'browse implementors of...') ('versions' browseVersions 'browse versions')), (Preferences decorateBrowserButtons ifTrue: [{#('inheritance' methodHierarchy 'browse method inheritance green: sends to super tan: has override(s) mauve: both of the above pink: is an override but doesn''t call super pinkish tan: has override(s), also is an override but doesn''t call super' )}] ifFalse: [{#('inheritance' methodHierarchy 'browse method inheritance')}]), #( + ('hierarchy' browseClassHierarchy 'browse class hierarchy') - ('hierarchy' classHierarchy 'browse class hierarchy') ('vars' browseVariableReferences 'references...')). ^ aList! Item was added: + ----- Method: Debugger>>browseClassHierarchy (in category 'toolbuilder') ----- + browseClassHierarchy + "Create and schedule a class list browser on the receiver's hierarchy." + + (self selectedMessageName = #doesNotUnderstand: and: [ self selectedClassOrMetaClass = Object ]) + ifTrue: + [ self systemNavigation + spawnHierarchyForClass: self receiverClass + selector: self selectedMessageName ] + ifFalse: [ super browseClassHierarchy ]! Item was removed: - ----- Method: Debugger>>classHierarchy (in category 'toolbuilder') ----- - classHierarchy - "Create and schedule a class list browser on the receiver's hierarchy." - (self selectedMessageName = #doesNotUnderstand: and: [ self selectedClassOrMetaClass = Object ]) - ifTrue: - [ self systemNavigation - spawnHierarchyForClass: self receiverClass - selector: self selectedMessageName ] - ifFalse: [ super classHierarchy ]! Item was changed: ----- Method: Debugger>>shiftedContextStackMenu: (in category 'context stack menu') ----- shiftedContextStackMenu: aMenu "Set up the menu appropriately for the context-stack-list, shifted" <contextStackMenuShifted: true> ^ aMenu addList: #( + ('browse class hierarchy' browseClassHierarchy) - ('browse class hierarchy' classHierarchy) ('browse class' browseClass) ('implementors of sent messages' browseAllMessages) ('change sets with this method' findMethodInChangeSets) - ('inspect instances' inspectInstances) ('inspect subinstances' inspectSubInstances) - ('revert to previous version' revertToPreviousVersion) ('remove from current change set' removeFromCurrentChanges) ('revert & remove from changes' revertAndForget)); yourself ! Item was changed: ----- Method: Inspector>>inspectorKey:from: (in category 'menu commands') ----- inspectorKey: aChar from: view "Respond to a Command key issued while the cursor is over my field list" aChar == $i ifTrue: [^ self selection inspect]. aChar == $I ifTrue: [^ self selection explore]. aChar == $b ifTrue: [^ self browseClass]. + aChar == $h ifTrue: [^ self browseClassHierarchy]. - aChar == $h ifTrue: [^ self classHierarchy]. aChar == $c ifTrue: [^ self copyName]. aChar == $p ifTrue: [^ self browseFullProtocol]. aChar == $N ifTrue: [^ self browseClassRefs]. aChar == $t ifTrue: [^ self tearOffTile]. aChar == $v ifTrue: [^ self viewerForValue]. ^ self arrowKey: aChar from: view! Item was changed: ----- Method: Inspector>>mainFieldListMenu: (in category 'menu commands') ----- mainFieldListMenu: aMenu "Arm the supplied menu with items for the field-list of the receiver" <fieldListMenu> "gets overriden by subclasses, _whithout_ the <fieldListMenu>" aMenu addStayUpItemSpecial. aMenu addList: #( ('inspect (i)' inspectSelection) ('explore (I)' exploreSelection)). self addCollectionItemsTo: aMenu. aMenu addList: #( - ('method refs to this inst var' referencesToSelection) ('methods storing into this inst var' defsOfSelection) ('objects pointing to this value' objectReferencesToSelection) ('chase pointers' chasePointers) ('explore pointers' explorePointers) - ('browse full (b)' browseClass) + ('browse hierarchy (h)' browseClassHierarchy) - ('browse hierarchy (h)' classHierarchy) ('browse protocol (p)' browseFullProtocol) - ('references... (r)' browseVariableReferences) ('assignments... (a)' browseVariableAssignments) ('class refs (N)' browseClassRefs) - ('copy name (c)' copyName) ('basic inspect' inspectBasic)). Smalltalk isMorphic ifTrue: [aMenu addList: #( - ('tile for this value (t)' tearOffTile) ('viewer for this value (v)' viewerForValue))]. ^ aMenu " - ('alias for this value' aliasForValue) ('watcher for this slot' watcherForSlot)" ! Item was changed: ----- Method: MessageSet>>mainMessageListMenu: (in category 'message list') ----- mainMessageListMenu: aMenu "Answer the message-list menu" <messageListMenuShifted: false> aMenu addList: #( ('what to show...' offerWhatToShowMenu) ('toggle break on entry' toggleBreakOnEntry) - ('browse full (b)' browseMethodFull) + ('browse hierarchy (h)' browseClassHierarchy) - ('browse hierarchy (h)' classHierarchy) ('browse protocol (p)' browseFullProtocol) - ('fileOut' fileOutMessage) ('printOut' printOutMessage) ('copy selector (c)' copySelector) ('copy reference (C)' copyReference) - ('senders of... (n)' browseSendersOfMessages) ('implementors of... (m)' browseMessages) ('inheritance (i)' methodHierarchy) ('versions (v)' browseVersions) - ('references... (r)' browseVariableReferences) ('assignments... (a)' browseVariableAssignments) ('class refs (N)' browseClassRefs) - ('remove method (x)' removeMessage) ('explore method' exploreMethod) ('inspect method' inspectMethod)). ^ aMenu! Item was changed: ----- Method: ObjectExplorer>>browseClassHierarchy (in category 'menus - actions') ----- browseClassHierarchy "Create and schedule a class list browser on the receiver's hierarchy." self systemNavigation spawnHierarchyForClass: self selectedClass + selector: nil.! - selector: nil - ! Item was added: + ----- Method: StringHolder>>browseClassHierarchy (in category '*Tools') ----- + browseClassHierarchy + "Create and schedule a class list browser on the receiver's hierarchy." + + self systemNavigation + spawnHierarchyForClass: self selectedClassOrMetaClass "OK if nil" + selector: self selectedMessageName! Item was removed: - ----- Method: StringHolder>>classHierarchy (in category '*Tools') ----- - classHierarchy - "Create and schedule a class list browser on the receiver's hierarchy." - - self systemNavigation - spawnHierarchyForClass: self selectedClassOrMetaClass "OK if nil" - selector: self selectedMessageName - ! Item was changed: ----- Method: StringHolder>>messageListKey:from: (in category '*Tools') ----- messageListKey: aChar from: view "Respond to a Command key. I am a model with a code pane, and I also have a listView that has a list of methods. The view knows how to get the list and selection." | sel class | aChar == $D ifTrue: [^ self toggleDiffing]. sel := self selectedMessageName. aChar == $m ifTrue: "These next two put up a type in if no message selected" [^ self useSelector: sel orGetSelectorAndSendQuery: #browseAllImplementorsOf: to: self systemNavigation]. aChar == $n ifTrue: [^ self useSelector: sel orGetSelectorAndSendQuery: #browseAllCallsOn: to: self systemNavigation]. "The following require a class selection" (class := self selectedClassOrMetaClass) ifNil: [^ self arrowKey: aChar from: view]. aChar == $b ifTrue: [^ ToolSet browse: class selector: sel]. aChar == $N ifTrue: [^ self browseClassRefs]. aChar == $i ifTrue: [^ self methodHierarchy]. + aChar == $h ifTrue: [^ self browseClassHierarchy]. - aChar == $h ifTrue: [^ self classHierarchy]. aChar == $p ifTrue: [^ self browseFullProtocol]. "The following require a method selection" sel ifNotNil: [aChar == $o ifTrue: [^ self fileOutMessage]. aChar == $c ifTrue: [^ self copySelector]. aChar == $C ifTrue: [^ self copyReference]. aChar == $v ifTrue: [^ self browseVersions]. aChar == $x ifTrue: [^ self removeMessage]]. ^ self arrowKey: aChar from: view! |
Free forum by Nabble | Edit this page |