Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-mt.567.mcz ==================== Summary ==================== Name: Tools-mt.567 Author: mt Time: 30 March 2015, 11:04:29.662 am UUID: 8188486e-cd12-6b46-825a-9d43c3b3452a Ancestors: Tools-mt.566 Fix the use of inspector in object explorer (i.e., keyboard shortcuts and menus). =============== Diff against Tools-mt.566 =============== Item was removed: - ----- Method: ObjectExplorer>>chasePointers (in category 'menus - callbacks') ----- - chasePointers - "Open a PointerFinder on the selected item" - | path sel savedRoot saved | - path := OrderedCollection new. - sel := currentSelection. - [ sel isNil ] whileFalse: [ path addFirst: sel asString. sel := sel parent ]. - path addFirst: #openPath. - path := path asArray. - savedRoot := self rootObject. - saved := self object. - [ self rootObject: nil. - self changed: #getList. - (Smalltalk includesKey: #PointerFinder) - ifTrue: [PointerFinder on: saved] - ifFalse: [self objectReferencesToSelection ]] - ensure: [ self rootObject: savedRoot. - self changed: #getList. - self changed: path. - ]! Item was removed: - ----- Method: ObjectExplorer>>defsOfSelection (in category 'menus - callbacks') ----- - defsOfSelection - "Open a browser on all defining references to the selected instance variable, if that's what's currently selected." - | aClass sel | - - (aClass := self parentObject class) isVariable ifTrue: [^ self changed: #flash]. - sel := self selector. - self systemNavigation browseAllStoresInto: sel from: aClass! Item was removed: - ----- Method: ObjectExplorer>>doesNotUnderstand: (in category 'error handling') ----- - doesNotUnderstand: aMessage - inspector ifNotNil: [ (inspector respondsTo: aMessage selector) ifTrue: [ ^inspector perform: aMessage selector withArguments: aMessage arguments ]]. - ^super doesNotUnderstand: aMessage! Item was removed: - ----- Method: ObjectExplorer>>explorePointers (in category 'menus - callbacks') ----- - explorePointers - "Open a PointerExplorer on the current selection" - PointerExplorer new openExplorerFor: self object! Item was removed: - ----- Method: ObjectExplorer>>exploreSelection (in category 'menus - callbacks') ----- - exploreSelection - "Open an ObjectExplorer on the current selection" - self object explore! Item was changed: ----- Method: ObjectExplorer>>explorerKey:from:event: (in category 'menus') ----- explorerKey: aChar from: view event: event event anyModifierKeyPressed ifFalse: [^ false]. currentSelection ifNotNil: [ + self updateInspectorForSelection. - inspector ifNil: [inspector := Inspector new]. - inspector - inspect: self parentObject; - object: self object. + aChar == $i ifTrue: [self inspector inspectSelection. ^ true]. + aChar == $I ifTrue: [self inspector exploreSelection. ^ true]. - aChar == $i ifTrue: [self inspectSelection. ^ true]. - aChar == $I ifTrue: [self exploreSelection. ^ true]. + aChar == $b ifTrue: [self inspector browseMethodFull. ^ true]. + aChar == $h ifTrue: [self inspector classHierarchy. ^ true]. - aChar == $b ifTrue: [inspector browseMethodFull. ^ true]. - aChar == $h ifTrue: [inspector classHierarchy. ^ true]. aChar == $c ifTrue: [Clipboard clipboardText: self currentSelection key. ^ true]. + aChar == $p ifTrue: [self inspector browseFullProtocol. ^ true]. + aChar == $N ifTrue: [self inspector browseClassRefs. ^ true]. + aChar == $t ifTrue: [self inspector tearOffTile. ^ true]. + aChar == $v ifTrue: [self inspector viewerForValue. ^ true]]. - aChar == $p ifTrue: [inspector browseFullProtocol. ^ true]. - aChar == $N ifTrue: [inspector browseClassRefs. ^ true]. - aChar == $t ifTrue: [inspector tearOffTile. ^ true]. - aChar == $v ifTrue: [inspector viewerForValue. ^ true]]. ^ false! Item was changed: ----- Method: ObjectExplorer>>genericMenu: (in category 'menus') ----- genericMenu: aMenu "Borrow a menu from my inspector" + - | insideObject menu parentObject | currentSelection + ifNil: [ + aMenu - ifNil: [menu := aMenu. - menu add: '*nothing selected*' target: self selector: #yourself] + ifNotNil: [ + self updateInspectorForSelection. + aMenu defaultTarget: self inspector. + self inspector fieldListMenu: aMenu. + - ifNotNil: [insideObject := self object. - parentObject := self parentObject. - inspector - ifNil: [inspector := Inspector new]. - inspector inspect: parentObject; - object: insideObject. - aMenu defaultTarget: inspector. - inspector fieldListMenu: aMenu. - aMenu items - do: [:i | (#(#inspectSelection #exploreSelection #referencesToSelection #defsOfSelection #objectReferencesToSelection #chasePointers #explorePointers) includes: i selector) - ifTrue: [i target: self]]. aMenu addLine; add: 'monitor changes' target: self selector: #monitor: argument: currentSelection]. monitorList isEmptyOrNil ifFalse: [aMenu addLine; add: 'stop monitoring all' target: self selector: #stopMonitoring]. ^ aMenu! Item was removed: - ----- Method: ObjectExplorer>>inspectSelection (in category 'menus - callbacks') ----- - inspectSelection - "Open an Inspector on the current selection" - self object inspect! Item was added: + ----- Method: ObjectExplorer>>inspector (in category 'accessing - other') ----- + inspector + + ^ inspector ifNil: [inspector := Inspector new]! Item was changed: + ----- Method: ObjectExplorer>>monitor: (in category 'monitoring') ----- - ----- Method: ObjectExplorer>>monitor: (in category 'menus - callbacks') ----- monitor: aBinding "Start stepping and watching the given binding for changes." aBinding ifNil: [ ^self ]. self world ifNil: [ ^self ]. self monitorList add: aBinding. self world startStepping: self at: Time millisecondClockValue selector: #step arguments: #() stepTime: 2000.! Item was removed: - ----- Method: ObjectExplorer>>objectReferencesToSelection (in category 'menus - callbacks') ----- - objectReferencesToSelection - "Open a browser on all references to the selected instance variable, if that's what currently selected. " - self systemNavigation - browseAllObjectReferencesTo: self object - except: (Array with: self parentObject with: currentSelection with: inspector) - ifNone: [:obj | self changed: #flash]. - ! Item was removed: - ----- Method: ObjectExplorer>>referencesToSelection (in category 'menus - callbacks') ----- - referencesToSelection - "Open a browser on all references to the selected instance variable, if that's what's currently selected." - | aClass sel | - - (aClass := self parentObject class) isVariable ifTrue: [^ self changed: #flash]. - sel := self selector. - self systemNavigation browseAllAccessesTo: sel from: aClass! Item was added: + ----- Method: ObjectExplorer>>updateInspectorForSelection (in category 'accessing - other') ----- + updateInspectorForSelection + "Reuse the inspector for some callbacks." + + self inspector inspect: (self parentObject ifNil: [self object]). + + self parentObject + ifNil: [self inspector toggleIndex: 1. "self"] + ifNotNil: [ + self inspector toggleIndex: (self inspector fieldList indexOf: self currentSelection key)]. + self assert: self inspector selection == self object.! |
Free forum by Nabble | Edit this page |