[Pkg] The Trunk: Morphic-pre.1193.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Jul 21 06:01:40 UTC 2016
Patrick Rein uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-pre.1193.mcz
==================== Summary ====================
Name: Morphic-pre.1193
Author: pre
Time: 21 July 2016, 8:01:01.282686 am
UUID: a5a927f6-7084-0a4d-be19-dc32eeeb31e8
Ancestors: Morphic-pre.1192
Fixing the comment of TextMorph>>#newContents: and while being on it improving code readability of some methods.
=============== Diff against Morphic-pre.1192 ===============
Item was changed:
----- Method: TextMorph>>fixUponLoad:seg: (in category 'objects from disk') -----
fixUponLoad: aProject seg: anImageSegment
+ "We are in an old project that is being loaded from disk. Fix up conventions that have changed."
- "We are in an old project that is being loaded from disk.
- Fix up conventions that have changed."
| substituteFont |
+ substituteFont := aProject projectParameters at: #substitutedFont ifAbsent: [#none].
+ (substituteFont ~~ #none and: [self textStyle fontArray includes: substituteFont])
- substituteFont := aProject projectParameters at:
- #substitutedFont ifAbsent: [#none].
- (substituteFont ~~ #none and: [self textStyle fontArray
- includes: substituteFont])
ifTrue: [ self fit ].
^ super fixUponLoad: aProject seg: anImageSegment!
Item was changed:
----- Method: TextMorph>>getAllButFirstCharacter (in category 'scripting access') -----
getAllButFirstCharacter
"Obtain all but the first character from the receiver; if that would be empty, return a black dot"
| aString |
+ ^ (aString := text string) size > 1
+ ifTrue: [aString copyFrom: 2 to: aString size]
+ ifFalse: ['·']!
- ^ (aString := text string) size > 1 ifTrue: [aString copyFrom: 2 to: aString size] ifFalse: ['·']!
Item was changed:
----- Method: TextMorph>>getLastCharacter (in category 'accessing') -----
getLastCharacter
"obtain the last character from the receiver if it is empty, return a black dot"
| aString |
+ ^ (aString := text string) size > 0
+ ifTrue: [aString last asString]
+ ifFalse: ['·']!
- ^ (aString := text string) size > 0 ifTrue: [aString last asString] ifFalse: ['·']!
Item was changed:
----- Method: TextMorph>>getMenu: (in category 'event handling') -----
getMenu: shiftKeyState
+ ^ (shiftKeyState not or: [Preferences noviceMode])
- ^ (shiftKeyState not
- or: [Preferences noviceMode])
ifTrue: [TextEditor yellowButtonMenu]
ifFalse: [TextEditor shiftedYellowButtonMenu]!
Item was changed:
----- Method: TextMorph>>hasTranslucentColor (in category 'accessing') -----
hasTranslucentColor
"Overridden from BorderedMorph to test backgroundColor instead of (text) color."
+ ^ backgroundColor isNil
+ or: [backgroundColor isColor and: [backgroundColor isTranslucentColor]]
+ or: [borderColor isColor and: [borderColor isTranslucentColor]]!
- backgroundColor ifNil: [^ true].
- (backgroundColor isColor and: [backgroundColor isTranslucentColor]) ifTrue: [^ true].
- (borderColor isColor and: [borderColor isTranslucentColor]) ifTrue: [^ true].
- ^ false
- !
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?" ].
(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]!
Item was changed:
----- Method: TextMorph>>predecessorChanged (in category 'private') -----
predecessorChanged
| newStart oldStart |
(self hasProperty: #CreatingParagraph) ifTrue: [^self].
newStart := predecessor isNil
ifTrue: [1]
ifFalse: [predecessor lastCharacterIndex + 1].
(self paragraph adjustedFirstCharacterIndex ~= newStart
or: [newStart >= text size])
ifTrue:
[paragraph composeAllStartingAt: newStart.
self fit]
ifFalse:
["If the offset to end of text has not changed, just slide"
-
oldStart := self firstCharacterIndex.
self withSuccessorsDo: [:m | m adjustLineIndicesBy: newStart - oldStart]]!
Item was changed:
----- Method: TextMorph>>recognizerArena (in category 'containment') -----
recognizerArena
"Answer the rectangular area, in world coordinates, that the character recognizer should regard as its tablet"
| outer |
^ (outer := self ownerThatIsA: PluggableTextMorph)
+ ifNotNil: [outer boundsInWorld]
+ ifNil: [self boundsInWorld]!
- ifNotNil:
- [outer boundsInWorld]
- ifNil:
- [self boundsInWorld]!
Item was changed:
----- Method: TextMorph>>resetBlinkCursor (in category 'blinking') -----
resetBlinkCursor
"Reset the blinking cursor"
| para |
self blinkStart: Time millisecondClockValue + 500.
para := paragraph ifNil: [^self].
para showCaret = para focused ifFalse:[
para caretRect ifNotNil: [ :r | self invalidRect: r].
+ para showCaret: para focused.].
- para showCaret: para focused.
- ].
!
More information about the Packages
mailing list