Etoys: Etoys-Richo.104.mcz

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

Etoys: Etoys-Richo.104.mcz

commits-2
Ricardo Moran uploaded a new version of Etoys to project Etoys:
http://source.squeak.org/etoys/Etoys-Richo.104.mcz

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

Name: Etoys-Richo.104
Author: Richo
Time: 7 February 2012, 6:16:45 pm
UUID: 5b7e1ee7-c39c-3745-85c2-89d0f66caaf3
Ancestors: Etoys-Richo.103

* Fixed bug when adding a new variable and not selecting a type.

=============== Diff against Etoys-Richo.103 ===============

Item was changed:
  ----- Method: Player>>addInstanceVariable (in category 'slots-user') -----
  addInstanceVariable
  "Offer the user the opportunity to add an instance variable, and if he goes through with it, actually add it."
 
  | itsName initialValue typeChosen usedNames initialAnswer setterSelector originalString |
  usedNames := self class instVarNames.
 
  initialAnswer := Utilities keyLike: ('var' translated, (usedNames size + 1) asString)  satisfying: [:aKey | (usedNames includes: aKey) not].
 
  originalString := FillInTheBlank request: 'name for new variable: ' translated initialAnswer: initialAnswer.
  Cursor wait showWhile: [
  originalString isEmptyOrNil ifTrue: [^ self].
  itsName := ScriptingSystem acceptableSlotNameFrom: originalString forSlotCurrentlyNamed: nil asSlotNameIn: self world: self costume world.
 
    itsName size == 0 ifTrue: [^ self].
  self assureUniClass.
+ typeChosen := (self askUserForNewTypeFor: itsName) ifNil: [#Number].
- typeChosen := self askUserForNewTypeFor: itsName.
  self slotInfo at: itsName put: (SlotInformation new initialize type: typeChosen).
  initialValue := self initialValueForSlotOfType: typeChosen.
  self addInstanceVarNamed: itsName withValue: initialValue.
  self compileInstVarAccessorsFor: itsName.
  setterSelector := Utilities setterSelectorFor: itsName.
  ((self class allSubInstances copyWithout: self) reject: [:e | e isSequentialStub]) do:
  [:anInstance | anInstance perform: setterSelector with: initialValue].
  self regenerateScripts.
  self updateAllViewersAndForceToShow: ScriptingSystem nameForInstanceVariablesCategory.
  ]!

_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev