Marcel Taeumel uploaded a new version of Graphics to project The Trunk:
http://source.squeak.org/trunk/Graphics-mt.512.mcz
==================== Summary ====================
Name: Graphics-mt.512
Author: mt
Time: 21 April 2022, 12:49:56.027671 pm
UUID: 979e8e5d-eb07-fb47-9aef-e77c9cd11bbc
Ancestors: Graphics-mt.511
In Color, complement #setRGB: and #setRgb:alpha: with #setAlpha: for consistency and STON compatibility.
=============== Diff against Graphics-mt.511 ===============
Item was added:
+ ----- Method: TranslucentColor>>setAlpha: (in category 'private') -----
+ setAlpha: alphaValue
+
+ alpha := (255.0 * alphaValue) asInteger min: 255 max: 0.!
Marcel Taeumel uploaded a new version of Graphics to project The Trunk:
http://source.squeak.org/trunk/Graphics-mt.511.mcz
==================== Summary ====================
Name: Graphics-mt.511
Author: mt
Time: 21 April 2022, 12:46:46.247671 pm
UUID: a87224f9-b95c-c14a-b370-6b8aff31ab70
Ancestors: Graphics-tpr.510
In Color, complement #named:put: with #named:, which is also beneficial for STON compatibility.
Note that #fromString: is still more powerful as it supports hex notation and rgb tuples.
=============== Diff against Graphics-tpr.510 ===============
Item was added:
+ ----- Method: Color class>>named: (in category 'instance creation') -----
+ named: colorName
+
+ | colorSym result |
+ (colorSym := Symbol lookup: colorName) ifNil: [^ nil].
+ result := (self class canUnderstand: colorSym)
+ ifTrue: [self perform: colorSym]
+ ifFalse: [self classPool at: colorSym ifAbsent: nil].
+ ^ result isColor ifTrue: [result]!
Marcel Taeumel uploaded a new version of MonticelloConfigurations to project The Trunk:
http://source.squeak.org/trunk/MonticelloConfigurations-mt.177.mcz
==================== Summary ====================
Name: MonticelloConfigurations-mt.177
Author: mt
Time: 21 April 2022, 10:18:16.293598 am
UUID: 2723a40f-c5dd-6f4d-8e43-1cf7b39b173d
Ancestors: MonticelloConfigurations-mt.176
And another one ... :-) Basically all #chooseFrom:values: sends with arrays of literal strings as argument.
=============== Diff against MonticelloConfigurations-mt.176 ===============
Item was changed:
----- Method: MCConfigurationBrowser>>updateMenu (in category 'actions') -----
updateMenu
| action |
+ action := Project uiManager
+ chooseOptionFrom: #('update all from image' 'update all from repositories')
- action := UIManager default
- chooseFrom: #('update all from image' 'update all from repositories')
values: #(#updateFromImage #updateFromRepositories).
action ifNotNil: [self perform: action].!
Marcel Taeumel uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-mt.1458.mcz
==================== Summary ====================
Name: Kernel-mt.1458
Author: mt
Time: 21 April 2022, 10:02:59.674461 am
UUID: f6c653af-39cf-6a4b-adb8-532953ba4c77
Ancestors: Kernel-tpr.1457
Fixes regerssion in choose-var dialog. Use list not buttons bc. there can be quite many instVars in a class.
=============== Diff against Kernel-tpr.1457 ===============
Item was changed:
----- Method: ClassDescription>>chooseVarThenDo: (in category 'instance variables') -----
chooseVarThenDo: aBlock
"Put up a menu of all the instance variables in the receiver, and when
the user chooses one, evaluate aBlock with the chosen variable as its
parameter."
| lines labelStream allVars index |
(self allInstVarNames size + self theNonMetaClass allClassVarNames size) = 0 ifTrue: [ ^ self inform: 'There are no variables.' ].
allVars := OrderedCollection new.
lines := OrderedCollection new.
labelStream := WriteStream on: (String new: 200).
self withAllSuperclasses do:
[ : class | | vars |
vars := class instVarNames , class theNonMetaClass classVarNames.
vars do:
[ : var | labelStream
nextPutAll: var ;
cr.
allVars add: var ].
vars isEmpty ifFalse: [ lines add: allVars size ] ].
labelStream skip: -1.
"cut last CR"
(lines size > 0 and: [ lines last = allVars size ]) ifTrue: [ lines removeLast ].
"dispense with inelegant line beneath last item"
index := Project uiManager
+ chooseFrom: (labelStream contents lines)
- chooseOptionFrom: (labelStream contents lines)
lines: lines
title: 'Variables in ' , self name.
index = 0 ifTrue: [ ^ self ].
aBlock value: (allVars at: index)!
Levente Uzonyi uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-ul.1001.mcz
==================== Summary ====================
Name: Collections-ul.1001
Author: ul
Time: 29 March 2022, 12:00:19.112855 pm
UUID: ed96df47-774b-4db9-88e9-24926cd4a290
Ancestors: Collections-ul.1000, Collections-ct.999
- merged
=============== Diff against Collections-ul.1000 ===============
Marcel Taeumel uploaded a new version of Sound to project The Trunk:
http://source.squeak.org/trunk/Sound-mt.89.mcz
==================== Summary ====================
Name: Sound-mt.89
Author: mt
Time: 20 April 2022, 11:39:39.081902 am
UUID: 9ae530a1-a45a-974e-8cde-2fabc26a4be7
Ancestors: Sound-ct.88
Complements ToolBuilder-Kernel-mt.158
=============== Diff against Sound-ct.88 ===============
Item was changed:
----- Method: AbstractSound class>>storeFiledInSound:named: (in category 'sound library-file in/out') -----
storeFiledInSound: snd named: sndName
"Store the given sound in the sound library. Use the given name if it isn't in use, otherwise ask the user what to do."
| choice i |
(Sounds includesKey: sndName) ifFalse: [ "no name clash"
Sounds at: sndName put: snd.
^ self].
(Sounds at: sndName) == UnloadedSnd ifTrue: [
"re-loading a sound that was unloaded to save space"
Sounds at: sndName put: snd.
^ self].
"the given sound name is already used"
+ choice := Project uiManager
+ chooseOptionFrom: #('replace the existing sound' 'rename the new sound' 'skip it')
- choice := UIManager default
- chooseFrom: #('replace the existing sound' 'rename the new sound' 'skip it')
values: #('replace the existing sound' 'rename the new sound' 'skip it')
title: '"', sndName, '" has the same name as an existing sound'.
(choice beginsWith: 'replace') ifTrue: [
Sounds at: sndName put: snd.
^ self].
(choice beginsWith: 'rename') ifTrue: [
i := 2.
[Sounds includesKey: (sndName, ' v', i printString)] whileTrue: [i := i + 1].
Sounds at: (sndName, ' v', i printString) put: snd].
!
Marcel Taeumel uploaded a new version of ReleaseBuilder to project The Trunk:
http://source.squeak.org/trunk/ReleaseBuilder-mt.233.mcz
==================== Summary ====================
Name: ReleaseBuilder-mt.233
Author: mt
Time: 20 April 2022, 11:39:24.328902 am
UUID: 04844e48-97f1-824a-965a-2fd08492ba08
Ancestors: ReleaseBuilder-tpr.232
Complements ToolBuilder-Kernel-mt.158
=============== Diff against ReleaseBuilder-tpr.232 ===============
Item was changed:
----- Method: ReleaseBuilder class>>requestNextReleaseVersion (in category 'manual') -----
requestNextReleaseVersion
"self requestNextReleaseVersion"
| nextMinor nextMajor current next |
current := {
SystemVersion current majorVersionNumber.
SystemVersion current minorVersionNumber}.
nextMinor := {
current first.
current second + 1}.
nextMajor := {
current first + 1.
0}.
next := Project uiManager
+ chooseOptionFromLabeledValues: (OrderedDictionary new
- chooseFromLabeledValues: (OrderedDictionary new
at: ('{1}.{2}' format: {nextMinor first. nextMinor second}) put: nextMinor;
at: ('{1}.{2}' format: {nextMajor first. nextMajor second}) put: nextMajor;
yourself)
title: 'Please Choose Next Version' translated.
next ifNil: [^ self requestNextReleaseVersion].
NextMajorVersion := next first.
NextMinorVersion := next second.!