Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-mt.1074.mcz
==================== Summary ====================
Name: Tools-mt.1074
Author: mt
Time: 25 November 2021, 11:44:01.944354 am
UUID: 39954290-b416-f242-a5b0-c7aea0e3c6a6
Ancestors: Tools-mt.1073
Adds a property protocol to Workspace to avoid having to go through #containingWindow to store extra stuff, which does not even work for MVC, just for morphs (i.e., SystemWindow, not StandardSystemView). Reuses a workspace's "bindings" with each property being prefixed with a "_" to not interfere with regular bindings.
Note that such extra properties have already been added to #containingWindow in the past.
=============== Diff against Tools-mt.1073 ===============
Item was added:
+ ----- Method: Workspace>>hasProperty: (in category 'binding - properties') -----
+ hasProperty: aSymbol
+
+ | propertyValue |
+ propertyValue := self valueOfProperty: aSymbol.
+ propertyValue ifNil: [^ false].
+ propertyValue == false ifTrue: [^ false].
+ ^ true!
Item was changed:
----- Method: Workspace>>initialize (in category 'initialize-release') -----
initialize
super initialize.
+ bindings := Dictionary new.
- self initializeBindings.
acceptDroppedMorphs := false.
mustDeclareVariables := self class declareVariablesAutomatically not.
environment := Environment current!
Item was removed:
- ----- Method: Workspace>>initializeBindings (in category 'binding') -----
- initializeBindings
-
- bindings := Dictionary new!
Item was added:
+ ----- Method: Workspace>>removeProperty: (in category 'binding - properties') -----
+ removeProperty: aSymbol
+
+ bindings removeKey: ('_', aSymbol) asSymbol ifAbsent: [].!
Item was added:
+ ----- Method: Workspace>>resetBindings (in category 'binding') -----
+ resetBindings
+ "Remove all bindings that are not prefixed with an $_. See #setProperty:toValue:."
+
+ bindings keysAndValuesRemove: [:key :value | key first ~= $_]!
Item was added:
+ ----- Method: Workspace>>setProperty:toValue: (in category 'binding - properties') -----
+ setProperty: aSymbol toValue: anObject
+
+ anObject ifNil: [^ self removeProperty: aSymbol].
+ bindings at: ('_', aSymbol) asSymbol put: anObject.!
Item was added:
+ ----- Method: Workspace>>valueOfProperty: (in category 'binding - properties') -----
+ valueOfProperty: aSymbol
+
+ ^ self valueOfProperty: aSymbol ifAbsent: nil!
Item was added:
+ ----- Method: Workspace>>valueOfProperty:ifAbsent: (in category 'binding - properties') -----
+ valueOfProperty: aSymbol ifAbsent: aBlock
+
+ ^ bindings at: ('_', aSymbol) asSymbol ifAbsent: aBlock!
Marcel Taeumel uploaded a new version of ToolBuilder-Morphic to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Morphic-mt.279.mcz
==================== Summary ====================
Name: ToolBuilder-Morphic-mt.279
Author: mt
Time: 25 November 2021, 11:31:27.232354 am
UUID: 403c22fe-935b-ed4e-8cfb-556e842edd38
Ancestors: ToolBuilder-Morphic-mt.278
Fixes a minor issue in our file-saver dialog where a fully qualified path was not selected correctly via
Project uiManager saveFilenameRequest: someLabel initialAnswer:fullFilePath
=============== Diff against ToolBuilder-Morphic-mt.278 ===============
Item was changed:
----- Method: FileSaverDialog class>>openOn:initialFilename:label: (in category 'instance creation') -----
openOn: aDirectory initialFilename: aString label: labelString
"Open a modal dialog to save a file. Start the dialog with aDirectory selected
and aString as the suggested file name. Set the user message to labelString.
Note that we set the directory after the initialFilename becuase we want a
specific directory and not neccesarily the directory of the file"
"FileSaverDialog openOn: FileDirectory default initialFilename: 'aSuggestedFileName' label: 'Select a flie and do something with it' "
^self new
- initialFilename: aString;
directory: aDirectory;
+ initialFilename: aString; "Might include a path and thus override aDirectory."
message: labelString;
getUserResponse
!
Item was changed:
----- Method: MorphicUIManager>>edit:label:shouldStyle:accept: (in category 'ui requests') -----
edit: aText label: labelString shouldStyle: aBoolean accept: anAction
+ "Open an editor on the given string/text. Note that we do not send #open but #new to avoid any default actions to be configured."
- "Open an editor on the given string/text"
| workspace |
workspace := Workspace new
shouldStyle: aBoolean;
+ acceptContents: aText;
- acceptContents: aText;
acceptAction: anAction.
^ workspace openLabel: (labelString ifNil: [workspace labelString])!
Marcel Taeumel uploaded a new version of Multilingual to project The Trunk:
http://source.squeak.org/trunk/Multilingual-mt.259.mcz
==================== Summary ====================
Name: Multilingual-mt.259
Author: mt
Time: 25 November 2021, 11:28:53.961354 am
UUID: 6e1246cc-66e2-9140-9e22-49ba1ebad024
Ancestors: Multilingual-ul.258
Adds some backstops to FileStream to avoid having to name "MultiByteFileStream" explicitely in your code. Just use "FileStream fileNamed:do:" etc. and rely on polymorphism.
=============== Diff against Multilingual-ul.258 ===============
Item was added:
+ ----- Method: FileStream>>detectLineEndConvention (in category '*Multilingual-accessing') -----
+ detectLineEndConvention
+ "Backstop. See MultiByteFileStream."
+
+ ^ nil!
Item was added:
+ ----- Method: FileStream>>lineEndConvention (in category '*Multilingual-accessing') -----
+ lineEndConvention
+ "See MultiByteFileStream and also String >> #withSqueakLineEndings."
+
+ ^ #cr!
Item was added:
+ ----- Method: FileStream>>lineEndConvention: (in category '*Multilingual-accessing') -----
+ lineEndConvention: aSymbolOrNil
+ "Ignore here. See MultiByteFileStream."!
Item was added:
+ ----- Method: FileStream>>setConverterForCode (in category '*Multilingual-accessing') -----
+ setConverterForCode
+ "Backstop. See MultiByteFileStream."!
Item was added:
+ ----- Method: FileStream>>wantsLineEndConversion: (in category '*Multilingual-accessing') -----
+ wantsLineEndConversion: aBoolean
+ "Backstop. See MultiByteFileStream."!
Item was changed:
----- Method: MultiByteFileStream>>lineEndConvention: (in category 'accessing') -----
lineEndConvention: aSymbol
+ "#cr, #lf, #crlf"
+
-
(lineEndConvention := aSymbol) ifNotNil: [wantsLineEndConversion := true].
self installLineEndConventionInConverter!
David T. Lewis uploaded a new version of UpdateStream to project The Trunk:
http://source.squeak.org/trunk/UpdateStream-dtl.17.mcz
==================== Summary ====================
Name: UpdateStream-dtl.17
Author: dtl
Time: 23 November 2021, 4:28:37.272797 pm
UUID: 99d2f5a3-2da1-46ab-87a0-a3d21d30ef99
Ancestors: UpdateStream-mt.16
Add a class comment.
=============== Diff against UpdateStream-mt.16 ===============
Item was changed:
Object subclass: #UpdateStreamDownloader
instanceVariableNames: ''
classVariableNames: 'PromptForUpdateServer UpdateDownloader UpdateSavesFile UpdateUrlLists'
poolDictionaries: ''
category: 'UpdateStream'!
+
+ !UpdateStreamDownloader commentStamp: 'dtl 11/23/2021 16:27' prior: 0!
+ UpdateStreamDownloader is a class that hosts methods previously kept in Utilities class>>'fetching updates'. The Utilities class side methods were copied as is to UpdateStreamDownloader class side with original authors/stamps.
+
+ These methods are intended for managing the change set update stream used for Squeak updates prior to the introduction of a Monticello based update stream.
+ !
David T. Lewis uploaded a new version of UpdateStream to project The Trunk:
http://source.squeak.org/trunk/UpdateStream-dtl.17.mcz
==================== Summary ====================
Name: UpdateStream-dtl.17
Author: dtl
Time: 23 November 2021, 4:24:41.161214 pm
UUID: 4cafeecc-728c-4bf3-8076-bd51fc94fed4
Ancestors: UpdateStream-mt.16
Add a class comment.
=============== Diff against UpdateStream-mt.16 ===============
Item was changed:
Object subclass: #UpdateStreamDownloader
instanceVariableNames: ''
classVariableNames: 'PromptForUpdateServer UpdateDownloader UpdateSavesFile UpdateUrlLists'
poolDictionaries: ''
category: 'UpdateStream'!
+
+ !UpdateStreamDownloader commentStamp: 'dtl 11/23/2021 16:22' prior: 0!
+ UpdateStreamDownloader is a class that hosts methods previously kept in Utilities class>>'fetching updates'. The Utilities class side methods were copied as is to UpdateStreamDownloader class side with original authors/stamps.
+
+ These methods are intended for managing the change set update stream used for Squeak updates prior to the introduction of a Montecello based update stream.
+ !