The Trunk: Morphic-cmm.443.mcz

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

The Trunk: Morphic-cmm.443.mcz

commits-2
Chris Muller uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-cmm.443.mcz

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

Name: Morphic-cmm.443
Author: cmm
Time: 14 June 2010, 3:33:51.262 pm
UUID: 19058473-0585-4739-9bbf-e3f2c6fd8ed1
Ancestors: Morphic-cmm.440

Abandon ancestor Morphic-cmm.441.mcz due to, itself, apparently not having correct ancestry.

=============== Diff against Morphic-cmm.440 ===============

Item was changed:
  ----- Method: TheWorldMenu>>changesMenu (in category 'construction') -----
  changesMenu
          "Build the changes menu for the world."
 
          | menu |
          menu := self menu: 'changes...'.
          self fillIn: menu from: {
                  { 'file out current change set' . { ChangeSet current . #verboseFileOut}.
                                  'Write the current change set out to a file whose name reflects the change set name and the current date & time.'}.
                  { 'create new change set...' . { ChangeSet . #newChangeSet}. 'Create a new change set and make it the current one.'}.
                  { 'browse changed methods' . { ChangeSet  . #browseChangedMessages}.  'Open a message-list browser showing all methods in the current change set'}.
                  { 'check change set for slips' . { self  . #lookForSlips}.
                                  'Check the current change set for halts, references to the Transcript, etc., and if any such thing is found, open up a message-list browser detailing all possible slips.'}.
 
                  nil.
                  { 'simple change sorter' . {self. #openChangeSorter1}.  'Open a 3-paned changed-set viewing tool'}.
                  { 'dual change sorter' . {self. #openChangeSorter2}.
                                  'Open a change sorter that shows you two change sets at a time, making it easy to copy and move methods and classes between them.'}.
                 { 'find a change sorter (C)' . { #myWorld . #findAChangeSorter: }. 'Brings an open change sorter to the front, creating one if necessary, and makes it the active window'}.
                  nil.
+                 { 'browse recent submissions (R)' . { Utilities . #browseRecentSubmissions}.
-                 { 'browse recent submissions' . { Utilities . #browseRecentSubmissions}.
                                  'Open a new recent-submissions browser.  A recent-submissions browser is a message-list browser that shows the most recent methods that have been submitted.  If you submit changes within that browser, it will keep up-to-date, always showing the most recent submissions.'}.
 
-                 { 'find recent submissions (R)' . { #myWorld . #openRecentSubmissionsBrowser:}.
-                                 'Make an open recent-submissions browser be the front-window, expanding a collapsed one or creating a new one if necessary.  A recent-submissions browser is a message-list browser that shows the most recent methods that have been submitted, latest first.  If you submit changes within that browser, it will keep up-to-date, always showing the most recent submissions at the top of the browser.'}.
-
  nil.
                  { 'recently logged changes...' . { self . #browseRecentLog}.'Open a change-list browser on the latter part of the changes log.  You can use this browser to recover logged changes which were not saved in your image, in the event of a crash or other interruption.'}.
 
                  { 'recent log file...' . { Smalltalk . #writeRecentToFile}.
                                  'Create a file holding the logged changes (going as far back as you wish), and open a window on that file.'}.
 
                  nil.
                  { 'save world as morph file' . {self. #saveWorldInFile}. 'Save a file that, when reloaded, reconstitutes the current World.'}.
                  nil.
          }.
          ^ menu!

Item was changed:
  ----- Method: TextComposer>>composeLinesFrom:to:delta:into:priorLines:atY:textStyle:text:container:wantsColumnBreaks: (in category 'as yet unclassified') -----
  composeLinesFrom: argStart to: argStop delta: argDelta into: argLinesCollection priorLines: argPriorLines atY: argStartY textStyle: argTextStyle text: argText container: argContainer wantsColumnBreaks: argWantsColumnBreaks
 
  wantsColumnBreaks := argWantsColumnBreaks.
  lines := argLinesCollection.
  theTextStyle := argTextStyle.
  theText := argText.
  theContainer := argContainer.
  deltaCharIndex := argDelta.
  currCharIndex := startCharIndex := argStart.
  stopCharIndex := argStop.
  prevLines := argPriorLines.
  currentY := argStartY.
  maxRightX := theContainer left.
  possibleSlide := stopCharIndex < theText size and: [theContainer isMemberOf: Rectangle].
  nowSliding := false.
  prevIndex := 1.
  scanner := CompositionScanner new text: theText textStyle: theTextStyle.
  scanner wantsColumnBreaks: wantsColumnBreaks.
+ defaultLineHeight := scanner canComputeDefaultLineHeight
- defaultLineHeight := scanner canComputDefaultLineHeight
  ifTrue: [ scanner computeDefaultLineHeight ]
  ifFalse: [ theTextStyle lineGrid. ].
  isFirstLine := true.
  self composeAllLines.
  isFirstLine ifTrue: ["No space in container or empty text"
  self
  addNullLineWithIndex: startCharIndex
  andRectangle: (theContainer topLeft extent: 0@defaultLineHeight)
  ] ifFalse: [
  self fixupLastLineIfCR
  ].
  ^{lines asArray. maxRightX}
 
  !