[squeak-dev] The Trunk: Morphic-mt.2100.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Mar 29 09:44:51 UTC 2023
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.2100.mcz
==================== Summary ====================
Name: Morphic-mt.2100
Author: mt
Time: 29 March 2023, 11:44:49.143107 am
UUID: 4c032757-c84e-d945-87eb-eeb6124849b3
Ancestors: Morphic-mt.2099
Complement Collections-mt.1031
=============== Diff against Morphic-mt.2099 ===============
Item was changed:
----- Method: TextMorph>>newContents: (in category 'accessing') -----
newContents: stringOrText
"Accept new text contents."
| newText embeddedMorphs oldSelection |
newText := stringOrText isString
ifTrue: [Text fromString: stringOrText copy ]
ifFalse: [ stringOrText copy asText. "should be veryDeepCopy?" ].
+ self plainTextOnly ifTrue: [ newText removeAttributesForPlainText ].
- self plainTextOnly ifTrue: [ newText removeAttributesThat: [:att | att isTextAlignment not] ].
(text = newText and: [text runs = newText runs]) ifTrue: [^ self]. "No substantive change"
text ifNotNil: [(embeddedMorphs := text embeddedMorphs)
ifNotNil:
[self removeAllMorphsIn: embeddedMorphs.
embeddedMorphs do: [:m | m delete]]].
oldSelection := editor ifNotNil: [:ed | ed selectionInterval].
text := newText.
"add all morphs off the visible region; they'll be moved into the right
place when they become visible. (this can make the scrollable area too
large, though)"
newText embeddedMorphs do:
[:m |
self addMorph: m.
m position: -1000 @ 0].
self releaseParagraph.
"update the paragraph cache"
self paragraph.
oldSelection ifNotNil: [:sel | self selectFrom: sel first to: sel last].
"re-instantiate to set bounds"
self world ifNotNil: [self world startSteppingSubmorphsOf: self]!
More information about the Squeak-dev
mailing list
|