[Pkg] The Trunk: Tools-mt.567.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Mar 30 09:04:53 UTC 2015


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



More information about the Packages mailing list