The Trunk: Tools-fbs.453.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-fbs.453.mcz

commits-2
Frank Shearar uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-fbs.453.mcz

==================== Summary ====================

Name: Tools-fbs.453
Author: fbs
Time: 8 March 2013, 8:50:08.04 am
UUID: ad8bee49-70a9-443a-80ac-8020d148dc2b
Ancestors: Tools-fbs.452

Using #isKindOf: here (a) ties our hands to a particular representation when we should only care about the protocol an object speaks/requires and (b) forces a hard dependency on Morphic.

#respondsTo: serves the same intent, without the nastiness.

=============== Diff against Tools-fbs.452 ===============

Item was changed:
  ----- Method: Inspector>>inspectElement (in category 'menu commands') -----
  inspectElement
  | sel selSize countString count nameStrs |
  "Create and schedule an Inspector on an element of the receiver's model's currently selected collection."
 
  self selectionIndex = 0 ifTrue: [^ self changed: #flash].
  ((sel := self selection) isKindOf: SequenceableCollection) ifFalse:
+ [(sel respondsTo: #inspectElement) ifTrue: [^ sel inspectElement].
- [(sel isKindOf: MorphExtension) ifTrue: [^ sel inspectElement].
  ^ sel inspect].
  (selSize := sel size) = 1 ifTrue: [^ sel first inspect].
  selSize <= 20 ifTrue:
  [nameStrs := (1 to: selSize) asArray collect: [:ii |
  ii printString, '   ', (((sel at: ii) printStringLimitedTo: 25) replaceAll: Character cr with: Character space)].
  count := UIManager default chooseFrom: (nameStrs substrings) title: 'which element?'.
  count = 0 ifTrue: [^ self].
  ^ (sel at: count) inspect].
 
  countString := UIManager default request: 'Which element? (1 to ', selSize printString, ')' initialAnswer: '1'.
  countString isEmptyOrNil ifTrue: [^ self].
  count := Integer readFrom: (ReadStream on: countString).
  (count > 0 and: [count <= selSize])
  ifTrue: [(sel at: count) inspect]
  ifFalse: [Beeper beep]!