[squeak-dev] The Trunk: Morphic-cmm.443.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Jun 14 20:36:42 UTC 2010
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 at defaultLineHeight)
] ifFalse: [
self fixupLastLineIfCR
].
^{lines asArray. maxRightX}
!
More information about the Squeak-dev
mailing list
|