Karl Ramberg uploaded a new version of Etoys to project Etoys: http://source.squeak.org/etoys/Etoys-kfr.18.mcz
==================== Summary ====================
Name: Etoys-kfr.18 Author: kfr Time: 6 June 2010, 6:48:55 pm UUID: d472d925-5bd5-2c46-b222-f2b574a19750 Ancestors: Etoys-kfr.17
Try once again to get to changes right. Do not add info to slotInfo, just change it if it's there....
=============== Diff against Etoys-kfr.17 ===============
Item was changed: ----- Method: Player>>noteDecimalPlaces:forGetter: (in category 'misc') ----- noteDecimalPlaces: aNumber forGetter: aGetter "Note the given preference of decimal places for the given getter" + | slotInfo | + slotInfo := self slotInfoForGetter: aGetter. + slotInfo ifNotNil:[ slotInfo floatPrecision: (Utilities floatPrecisionForDecimalPlaces: aNumber)]. - | | - "slotInfo _ self slotInfoAt: (Utilities inherentSelectorForGetter: aGetter). - slotInfo floatPrecision: (Utilities floatPrecisionForDecimalPlaces: aNumber)." costume noteDecimalPlaces: aNumber forGetter: aGetter!
Item was changed: ----- Method: Player>>setPrecisionFor: (in category 'slots-user') ----- setPrecisionFor: slotName "Set the precision for the given slot name"
| aList aMenu reply val aGetter places | aGetter := Utilities getterSelectorFor: slotName. + places := Utilities + decimalPlacesForFloatPrecision: (self defaultFloatPrecisionFor: aGetter). - places := Utilities decimalPlacesForFloatPrecision: (self getPrecisionFor: slotName). aList := #('0' '1' '2' '3' '4' '5' '6' '7' '8' '9' '10'). aMenu := SelectionMenu labels: aList selections: (aList collect: [:m | m asNumber]). reply := aMenu startUpWithCaption: ('How many decimal places? (currently {1})' translated format: {places}). reply ifNotNil: [(self slotInfo includesKey: slotName) ifTrue: ["it's a user slot"
(self slotInfoAt: slotName) floatPrecision: (Utilities floatPrecisionForDecimalPlaces: reply). self class allInstancesDo: [:anInst | reply == 0 ifFalse: [((val := anInst instVarNamed: slotName asString) isInteger) ifTrue: [anInst instVarNamed: slotName asString put: val asFloat]]. anInst updateAllViewers]] ifFalse: ["it's specifying a preference for precision on a system-defined numeric slot"
self noteDecimalPlaces: reply forGetter: aGetter. self updateAllViewers]]!
etoys-dev@lists.squeakfoundation.org