The Trunk: MorphicExtras-nice.66.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: MorphicExtras-nice.66.mcz

commits-2
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)]]
  !