The Trunk: EToys-nice.37.mcz

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

The Trunk: EToys-nice.37.mcz

commits-2
Nicolas Cellier uploaded a new version of EToys to project The Trunk:
http://source.squeak.org/trunk/EToys-nice.37.mcz

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

Name: EToys-nice.37
Author: nice
Time: 20 October 2009, 9:30:13 am
UUID: 4a1de39f-c516-47c3-919c-01969df2fc32
Ancestors: EToys-nice.36

Track selectors usage, use #includesSelector: #selectorsDo: and #includesKey: where due

=============== Diff against EToys-nice.36 ===============

Item was changed:
  ----- Method: ButtonProperties>>editButtonsScript: (in category 'events') -----
  editButtonsScript: evt
  "The user has touched my Scriptor halo-handle.  Bring up a Scriptor on the script of the button."
 
  | cardsPasteUp cardsPlayer anEditor scriptSelector |
 
  cardsPasteUp := self pasteUpMorph.
  (cardsPlayer := cardsPasteUp assuredPlayer) assureUniClass.
  scriptSelector := self figureOutScriptSelector.
  scriptSelector ifNil: [
  scriptSelector := cardsPasteUp scriptSelectorToTriggerFor: self.
  anEditor := cardsPlayer newTextualScriptorFor: scriptSelector.
  evt hand attachMorph: anEditor.
  ^self
  ].
 
+ (cardsPlayer class includesSelector: scriptSelector) ifTrue: [
- (cardsPlayer class selectors includes: scriptSelector) ifTrue: [
  anEditor := cardsPlayer scriptEditorFor: scriptSelector.
  evt hand attachMorph: anEditor.
  ^self
  ].
  "Method somehow got removed; I guess we start aftresh"
  scriptSelector := nil.
  ^ self editButtonsScript!

Item was changed:
  ----- Method: Player>>newTextualScriptorFor: (in category 'scripts-kernel') -----
  newTextualScriptorFor: aSelector
  "Sprout a scriptor for aSelector, opening up in textual mode.  Rather special-purpose, consult my lone sender"
 
  | aMethodWithInterface aScriptEditor |
+ (self class includesSelector: aSelector) ifTrue: [self error: 'selector already exists'].
- (self class selectors includes: aSelector) ifTrue: [self error: 'selector already exists'].
 
  aMethodWithInterface := self class permanentUserScriptFor: aSelector player: self.
  aScriptEditor := aMethodWithInterface instantiatedScriptEditorForPlayer: self.
  aScriptEditor install.
  aScriptEditor showSourceInScriptor.
  aMethodWithInterface selector numArgs == 0 ifTrue:
  [self class allSubInstancesDo: [:anInst | anInst scriptInstantiationForSelector: aMethodWithInterface selector]].
  "The above assures the presence of a ScriptInstantiation for the new selector in all siblings"
 
  self updateAllViewersAndForceToShow: #scripts.
  ^ aScriptEditor!

Item was changed:
  ----- Method: ScriptableButton>>editButtonsScript (in category 'script') -----
  editButtonsScript
  "The user has touched my Scriptor halo-handle.  Bring up a Scriptor on the script of the button."
 
  | cardsPasteUp cardsPlayer anEditor |
  cardsPasteUp := self pasteUpMorph.
  (cardsPlayer := cardsPasteUp assuredPlayer) assureUniClass.
  anEditor := scriptSelector ifNil:
  [scriptSelector := cardsPasteUp scriptSelectorToTriggerFor: self.
  cardsPlayer newTextualScriptorFor: scriptSelector.
  cardsPlayer scriptEditorFor: scriptSelector
  ]
  ifNotNil:
+ [(cardsPlayer class includesSelector: scriptSelector)
- [(cardsPlayer class selectors includes: scriptSelector)
  ifTrue: [cardsPlayer scriptEditorFor: scriptSelector]
  ifFalse:
  ["Method somehow got removed; I guess we start afresh"
 
  scriptSelector := nil.
  ^self editButtonsScript]].
  anEditor showingMethodPane ifTrue: [anEditor toggleWhetherShowingTiles].
  self currentHand attachMorph: anEditor!

Item was changed:
  ----- Method: KedamaMorph>>makeTurtles:examplerPlayer:color:ofPrototype:turtles:randomize: (in category 'turtles') -----
  makeTurtles: count examplerPlayer: tp color: c ofPrototype: prototype turtles: turtles randomize: randomizeFlag
 
  | array inst |
  array := tp turtles.
+ (turtlesDict includesKey: tp) ifFalse: [
- (turtlesDict keys includes: tp) ifFalse: [
  self addToTurtleDisplayList: tp.
  turtlesDict at: tp put: (array := turtles).
  ].
 
  inst := prototype ifNil: [self makePrototypeOfExampler: tp color: c].
 
  turtlesDictSemaphore critical: [array setTurtlesCount: count prototype: inst for: self randomize: randomizeFlag].
  self calcTurtlesCount.
  self changed.
  !

Item was changed:
  ----- Method: SyntaxMorph class>>testAll (in category 'as yet unclassified') -----
  testAll
 
  | source tree total count systNav|
  "
  SyntaxMorph testAll
  "
  systNav := self systemNavigation.
  count := total := 0.
  systNav allBehaviorsDo: [ :aClass | total := total + 1].
  'Testing all behaviors'
  displayProgressAt: Sensor cursorPoint
  from: 0 to: total
  during: [ :bar |
  systNav allBehaviorsDo: [ :aClass |
  bar value: (count := count + 1).
+ aClass selectorsDo: [ :aSelector |
- aClass selectors do: [ :aSelector |
  source := (aClass compiledMethodAt: aSelector) getSourceFromFile.
  tree := Compiler new
  parse: source
  in: aClass
  notifying: nil.
  tree asMorphicSyntaxUsing: SyntaxMorph.
  ].
  ]. ].
 
 
  !