Nicolas Cellier uploaded a new version of MorphicExtras to project The Trunk:
http://source.squeak.org/trunk/MorphicExtras-nice.66.mcz ==================== Summary ==================== Name: MorphicExtras-nice.66 Author: nice Time: 3 January 2010, 3:47:59 am UUID: d15c89aa-952f-47df-a9bb-b4b22d339d9d Ancestors: MorphicExtras-nice.64 move #basicType to EToys remove some #or:or: #and:and: sends =============== Diff against MorphicExtras-nice.64 =============== Item was changed: ----- Method: CanvasCharacterScanner>>displayLine:offset:leftInRun: (in category 'scanning') ----- displayLine: textLine offset: offset leftInRun: leftInRun "largely copied from DisplayScanner's routine" + | nowLeftInRun startLoc startIndex stopCondition | - | nowLeftInRun done startLoc startIndex stopCondition | line := textLine. foregroundColor ifNil: [foregroundColor := Color black]. leftMargin := (line leftMarginForAlignment: alignment) + offset x. rightMargin := line rightMargin + offset x. lineY := line top + offset y. lastIndex := textLine first. nowLeftInRun := leftInRun <= 0 ifTrue: [self setStopConditions. "also sets the font" text runLengthFor: lastIndex] ifFalse: [leftInRun]. runX := destX := leftMargin. runStopIndex := lastIndex + (nowLeftInRun - 1) min: line last. spaceCount := 0. + [ + "remember where this portion of the line starts" - done := false. - [done] whileFalse: - ["remember where this portion of the line starts" - startLoc := destX @ destY. startIndex := lastIndex. "find the end of this portion of the line" stopCondition := self scanCharactersFrom: lastIndex to: runStopIndex in: text string rightX: rightMargin stopConditions: stopConditions kern: kern. "displaying: false" "display that portion of the line" canvas drawString: text string from: startIndex to: lastIndex at: startLoc font: font color: foregroundColor. "handle the stop condition" + self perform: stopCondition + ] whileFalse. - done := self perform: stopCondition]. ^runStopIndex - lastIndex! Item was changed: ----- Method: CommandHistory>>undoMenuWording (in category 'menu') ----- undoMenuWording "Answer the wording to be used in an 'undo' menu item" (lastCommand isNil + or: [Preferences useUndo not + or: [(Preferences infiniteUndo not and: [lastCommand phase == #undone]) + or: [self nextCommandToUndo isNil]]]) - or: [Preferences useUndo not] - or: [Preferences infiniteUndo not and: [lastCommand phase == #undone]] - or: [self nextCommandToUndo isNil]) ifTrue: [^ 'can''t undo' translated]. ^ String streamContents: [:aStream | aStream nextPutAll: 'undo' translated. aStream nextPutAll: ' "'. aStream nextPutAll: (self nextCommandToUndo cmdWording truncateWithElipsisTo: 20). aStream nextPut: $". lastCommand phase == #done ifTrue: [aStream nextPutAll: ' (z)']].! Item was changed: ----- Method: PostscriptCharacterScanner>>displayLine:offset:leftInRun: (in category 'displaying') ----- displayLine: line offset: baseOffset leftInRun: leftInRun + | offset aText string doJustified | - | offset aText string doJustified drawFont | self setTextStylesForOffset: ((line first) + 1). " sets up various instance vars from text styles " - drawFont := self font. offset := baseOffset. + offset := offset + (line left @ (line top + line baseline - self font ascent )). - offset := offset + (line left @ (line top + line baseline - drawFont ascent )). offset := offset + ((self textStyle alignment caseOf:{ [Centered] -> [ line paddingWidth /2 ]. [RightFlush] -> [ line paddingWidth ] } otherwise:[0]) @ 0). canvas moveto: offset. aText := paragraph text copyFrom: line first to: line last. doJustified := (paragraph textStyle alignment = Justified) and: [ (paragraph text at:line last) ~= Character cr and: [aText runs runs size = 1]]. string := aText string. + aText runs withStartStopAndValueDo: [:start :stop :attributes | | s drawFont | - aText runs withStartStopAndValueDo: [:start :stop :attributes | | s | self setTextStylesForOffset: (start + line first - 1). " sets up inst vars from text styles " s := string copyFrom: start to: stop. drawFont := self font. canvas setFont: drawFont. canvas textStyled: s at: offset "<--now ignored" font: drawFont "<--now ignored" color: foregroundColor justified: doJustified "<-can't do this now for multi-styles" parwidth: line right - line left. ]. ! Item was changed: ----- Method: Flaps class>>positionVisibleFlapsRightToLeftOnEdge:butPlaceAtLeftFlapsWithIDs: (in category 'shared flaps') ----- positionVisibleFlapsRightToLeftOnEdge: edgeSymbol butPlaceAtLeftFlapsWithIDs: idList "Lay out flaps along the designated edge right-to-left, while laying left-to-right any flaps found in the exception list Flaps positionVisibleFlapsRightToLeftOnEdge: #bottom butPlaceAtLeftFlapWithIDs: {'Navigator' translated. 'Supplies' translated} Flaps sharedFlapsAlongBottom" | leftX flapList flapsOnRight flapsOnLeft | + flapList := self globalFlapTabsIfAny select: - flapList _ self globalFlapTabsIfAny select: [:aFlapTab | aFlapTab isInWorld and: [aFlapTab edgeToAdhereTo == edgeSymbol]]. + flapsOnLeft := flapList select: [:fl | idList includes: fl flapID]. - flapsOnLeft _ flapList select: [:fl | idList includes: fl flapID]. flapList removeAll: flapsOnLeft. + flapsOnRight := flapList asSortedCollection: - flapsOnRight _ flapList asSortedCollection: [:f1 :f2 | f1 left > f2 left]. + leftX := ActiveWorld width - 15. - leftX _ ActiveWorld width - 15. flapsOnRight do: [:aFlapTab | aFlapTab right: leftX - 3. + leftX := aFlapTab left]. - leftX _ aFlapTab left]. + leftX := ActiveWorld left. + flapsOnLeft := flapsOnLeft asSortedCollection: - leftX _ ActiveWorld left. - flapsOnLeft _ flapsOnLeft asSortedCollection: [:f1 :f2 | f1 left > f2 left]. flapsOnLeft do: [:aFlapTab | aFlapTab left: leftX + 3. + leftX := aFlapTab right]. - leftX _ aFlapTab right]. (flapsOnLeft asOrderedCollection, flapsOnRight asOrderedCollection) do: [:ft | ft computeEdgeFraction. ft flapID = 'Navigator' translated ifTrue: [ft referent left: (ft center x - (ft referent width//2) max: 0)]] ! |
Free forum by Nabble | Edit this page |