The Trunk: Tools-mt.567.mcz

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

The Trunk: Tools-mt.567.mcz

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