'From etoys3.0 of 24 February 2008 [latest update: #1951] on 29 March 2008 at 12:46:56 pm'! "Change Set: transStarSq-KR Date: 27 March 2008 Author: Korakurider translate StarSqueak. This includes also fix to parameter slider"! !StarSqueakMorph methodsFor: 'menu' stamp: 'KR 3/28/2008 01:49'! makeParameterSlider | menu choice s | menu := CustomMenu new title: 'Parameter?' translated. self sliderParameters do: [:rec | menu add: rec first asString fromCamelCase translated action: rec]. choice := menu startUp. choice ifNil: [^self]. s := self newSliderForParameter: choice first target: self min: (choice second) max: (choice third) description: (choice fourth translated). self world activeHand attachMorph: s! ! !StarSqueakMorph methodsFor: 'menu' stamp: 'KR 3/27/2008 19:56'! setScale | reply | reply _ FillInTheBlank request: 'Set the number of pixels per patch (a number between 1 and 10)?' translated initialAnswer: pixelsPerPatch printString. reply isEmpty ifTrue: [^ self]. pixelsPerPatch _ ((reply asNumber rounded) max: 1) min: 10. self changed. super extent: dimensions * pixelsPerPatch. self clearAll. "be sure this is done once in case setup fails to do it" self setup. self startOver. ! ! !StarSqueakMorph methodsFor: 'menu' stamp: 'KR 3/27/2008 19:57'! sliderParameters "Answer a list of parameters that the user can change via a slider. Each parameter is described by an array of: ." #('evaporation rate' 'diffusion rate') translatedNoop. ^ #((evaporationRate 0 40 'The rate at which chemicals evaporate in this world. Larger numbers give faster evaporation.') (diffusionRate 0 5 'The rate of chemical diffusion. Larger numbers give quicker diffusion.')) translatedNoop ! ! !StarSqueakMorph methodsFor: 'private' stamp: 'KR 3/29/2008 12:45'! newSliderForParameter: parameter target: target min: min max: max description: description | c slider r s | c _ (AlignmentMorph newColumn) color: Color lightBlue; borderWidth: 2; hResizing: #shrinkWrap; vResizing: #shrinkWrap; useRoundedCorners. slider _ SimpleSliderMorph new color: (Color r: 0.065 g: 0.548 b: 0.645); extent: 150@14; target: target; actionSelector: (parameter, ':') asSymbol; minVal: min; maxVal: max; adjustToValue: (target perform: parameter asSymbol). c addMorphBack: slider. r _ (AlignmentMorph newRow) color: Color lightBlue; hResizing: #spaceFill; vResizing: #spaceFill. s _ StringMorph new contents: (parameter asString fromCamelCase translated), ': '. r addMorphBack: s. s _ UpdatingStringMorph new target: target; getSelector: parameter asSymbol; putSelector: (parameter, ':') asSymbol; floatPrecision: (10.0 raisedTo: (((max - min) / 150.0) log: 10) floor); step. r addMorphBack: s. c addMorphBack: r. c setBalloonText: description. ^ c ! ! !StarSqueakAntColony methodsFor: 'menu' stamp: 'KR 3/27/2008 19:58'! sliderParameters "Answer a list of parameters that the user can change via a slider. Each parameter is described by an array of: ." #('ant count') translatedNoop. ^ super sliderParameters, #( (antCount 10 500 'The number of ants searching for food.')) translatedNoop ! ! !StarSqueakDiffusion methodsFor: 'menu' stamp: 'KR 3/27/2008 19:58'! sliderParameters "Answer a list of parameters that the user can change via a slider. Each parameter is described by an array of: ." #('dye count' 'water count') translatedNoop. ^ super sliderParameters, #( (dyeCount 50 1000 'The number of dye particles.') (waterCount 100 4000 'The number of water particles.')) translatedNoop. ! ! !StarSqueakForestFire methodsFor: 'menu' stamp: 'KR 3/27/2008 19:59'! sliderParameters "Answer a list of parameters that the user can change via a slider. Each parameter is described by an array of: ." #('tree percentage') translatedNoop. ^ super sliderParameters, #( (treePercentage 0 100 'The probability of that a given patch has a tree.')) translatedNoop. ! ! !StarSqueakSlimeMold methodsFor: 'menu' stamp: 'KR 3/27/2008 19:59'! sliderParameters "Answer a list of parameters that the user can change via a slider. Each parameter is described by an array of: ." #('cell count') translatedNoop. ^ super sliderParameters, #( (cellCount 50 2000 'The number of slime mold cells.')) translatedNoop. ! !