[squeak-dev] The Trunk: Morphic-pre.1192.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Jul 20 21:03:46 UTC 2016


Patrick Rein uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-pre.1192.mcz

==================== Summary ====================

Name: Morphic-pre.1192
Author: pre
Time: 20 July 2016, 11:03:12.063382 pm
UUID: bd2a03f6-120a-d543-af91-d4535051c547
Ancestors: Morphic-mt.1191

Removing code from the TextMorph which copied text attributes from the old content to the new content in certain cases.

=============== Diff against Morphic-mt.1191 ===============

Item was changed:
  ----- Method: TextMorph>>newContents: (in category 'accessing') -----
  newContents: stringOrText 
  	"Accept new text contents."
  	| newText embeddedMorphs oldSelection |
  	"If my text is all the same font, use the font for my new contents"
+ 	newText := stringOrText isString 
+ 		ifTrue: [Text fromString: stringOrText copy ]
+ 		ifFalse: [ stringOrText copy asText.	"should be veryDeepCopy?" ].
- 	newText := stringOrText isString ifTrue: [ | textSize |
- 		(text notNil
- 		  and: [ (textSize := text size) > 0
- 		    and: [ (text runLengthFor: 1) = textSize ]]) ifTrue: [ | attribs |
- 			attribs := text attributesAt: 1 forStyle: textStyle.
- 			Text string: stringOrText copy attributes: attribs.
- 		]
- 		ifFalse: [ Text fromString: stringOrText copy ]
- 	]
- 	ifFalse: [ stringOrText copy asText.	"should be veryDeepCopy?" ].
  
  	(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