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} ! |
Free forum by Nabble | Edit this page |